This is an automated email from the ASF dual-hosted git repository.
mxsm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/eventmesh.git
The following commit(s) were added to refs/heads/master by this push:
new 152e48f49 [ISSUE #4866] Add unified deps version identifier & Upgrade
Gradle from 8.2.1 to 8.7 (#4867)
152e48f49 is described below
commit 152e48f497c2866f4a27efcfa3d71a9ed3fd4109
Author: Pil0tXia <[email protected]>
AuthorDate: Fri May 24 22:59:28 2024 +0800
[ISSUE #4866] Add unified deps version identifier & Upgrade Gradle from
8.2.1 to 8.7 (#4867)
* Run `./gradlew wrapper --gradle-version 8.7`
* Update deprecated statements
* Update some outdated grammar
* Put some tasks to a better place
* Upgrade gRPC to 1.50.2
* Add unified version identifier
* Upgrade to snakeyaml 2.0 according to
https://bitbucket.org/snakeyaml/snakeyaml/issues/556/update-yamlloadas-signature-to-support
---
build.gradle | 141 +++++++++++----------
eventmesh-common/build.gradle | 2 +-
.../apache/eventmesh/common/config/ConfigInfo.java | 4 +-
.../apache/eventmesh/common/config/FileLoad.java | 10 +-
eventmesh-examples/build.gradle | 2 +-
gradle/wrapper/gradle-wrapper.properties | 2 +-
6 files changed, 85 insertions(+), 76 deletions(-)
diff --git a/build.gradle b/build.gradle
index 1ada01495..ce6f18697 100644
--- a/build.gradle
+++ b/build.gradle
@@ -55,15 +55,6 @@ plugins {
id 'com.github.jk1.dependency-license-report' version '2.7'
}
-// Remove doclint warnings that pollute javadoc logs when building
-if (JavaVersion.current().isJava8()) {
- allprojects {
- tasks.withType(Javadoc) {
- options.addStringOption('xdoclint:none', '-quiet')
- }
- }
-}
-
allprojects {
apply plugin: 'java'
apply plugin: "eclipse"
@@ -150,6 +141,15 @@ allprojects {
test {
useJUnitPlatform()
}
+
+ // Remove doclint warnings that pollute javadoc logs when building
+ if (JavaVersion.current().isJava8()) {
+ tasks.withType(Javadoc).tap {
+ configureEach {
+ options.addStringOption('xdoclint:none', '-quiet')
+ }
+ }
+ }
}
tasks.register('dist') {
@@ -204,27 +204,6 @@ tasks.register('dist') {
}
}
-tasks.register('tar', Tar) {
- archiveBaseName.set(project.name)
- archiveVersion.set(project.version.toString())
- archiveExtension.set('tar.gz')
- compression = Compression.GZIP
- destinationDirectory = new File(projectDir, 'build')
- into('/') {
- from 'dist'
- }
-}
-
-tasks.register('zip', Zip) {
- archiveBaseName.set(project.name)
- archiveVersion.set(project.version.toString())
- archiveExtension.set('zip')
- destinationDirectory = new File(projectDir, 'build')
- into('/') {
- from 'dist'
- }
-}
-
tasks.register('installPlugin') {
var pluginProjects = subprojects.findAll {
it.file('gradle.properties').exists()
@@ -257,6 +236,27 @@ tasks.register('installPlugin') {
}
}
+tasks.register('tar', Tar) {
+ archiveBaseName.set(project.name)
+ archiveVersion.set(project.version.toString())
+ archiveExtension.set('tar.gz')
+ compression = Compression.GZIP
+ destinationDirectory = new File(projectDir, 'build')
+ into('/') {
+ from 'dist'
+ }
+}
+
+tasks.register('zip', Zip) {
+ archiveBaseName.set(project.name)
+ archiveVersion.set(project.version.toString())
+ archiveExtension.set('zip')
+ destinationDirectory = new File(projectDir, 'build')
+ into('/') {
+ from 'dist'
+ }
+}
+
tasks.register('printProjects') {
getAllprojects().forEach(subProject -> {
if ("EventMesh".equals(subProject.getName())) {
@@ -274,7 +274,7 @@ tasks.register('generateDistLicense') {
dependsOn('cyclonedxBom') // Task from 'org.cyclonedx.bom' plugin
doLast {
// Inputs
- def bomFile = file("$buildDir/reports/bom.json")
+ def bomFile = file("build/reports/bom.json")
def bom = new JsonSlurper().parseText(bomFile.text)
def projectLicenseText = file('LICENSE').text
@@ -437,7 +437,7 @@ tasks.register('generateDistNotice') {
dependsOn('generateLicenseReport') // Task from
'com.github.jk1.dependency-license-report' plugin
doLast {
// Inputs
- def reportsDir = file("$buildDir/reports/dependency-license/")
+ def reportsDir = file("build/reports/dependency-license/")
def projectNoticeText = file('NOTICE').text
// Outputs
@@ -497,7 +497,7 @@ subprojects {
showProgress = true
showStackTraces = true
effort = 'default'
- reportsDir = file("$buildDir/reports/spotbugs")
+ reportsDir = file("build/reports/spotbugs")
projectName = rootProject.name
release = version
extraArgs = ['-nested:false']
@@ -510,7 +510,7 @@ subprojects {
xml.required = false
html {
required = true
- outputLocation =
file("$buildDir/reports/spotbugs/main/spotbugs.html")
+ outputLocation =
file("build/reports/spotbugs/main/spotbugs.html")
stylesheet = 'fancy-hist.xsl'
}
}
@@ -521,7 +521,7 @@ subprojects {
xml.enabled = false
html {
enabled = true
- destination =
file("$buildDir/reports/spotbugs/test/spotbugs.html")
+ destination = file("build/reports/spotbugs/test/spotbugs.html")
stylesheet = 'fancy-hist.xsl'
}
}
@@ -557,12 +557,13 @@ subprojects {
options.encoding = "UTF-8"
}
- task packageJavadoc(type: Jar, dependsOn: ['javadoc']) {
+ tasks.register('packageJavadoc', Jar) {
+ dependsOn('javadoc')
from project.javadoc.destinationDir
archiveClassifier.set('javadoc')
}
- task packageSources(type: Jar) {
+ tasks.register('packageSources', Jar) {
from project.sourceSets.main.allSource
archiveClassifier.set('sources')
}
@@ -574,7 +575,7 @@ subprojects {
}
if (!Boolean.valueOf(signEnabled)) {
- tasks.whenTaskAdded { task ->
+ tasks.configureEach { task ->
if (task.name.contains("sign")) {
task.enabled = false
}
@@ -586,7 +587,7 @@ subprojects {
maven { url "https://maven.aliyun.com/repository/public" }
}
- configurations.all {
+ configurations.configureEach {
resolutionStrategy.cacheChangingModulesFor 0, TimeUnit.SECONDS
resolutionStrategy.cacheDynamicVersionsFor 0, TimeUnit.SECONDS
}
@@ -639,7 +640,6 @@ subprojects {
username apacheUserName
password apachePassWord
}
-
}
}
}
@@ -648,8 +648,14 @@ subprojects {
sign publishing.publications.mavenJava
}
- def grpcVersion = '1.43.2'
+ def grpcVersion = '1.50.2'
def log4jVersion = '2.23.1'
+ def jacksonVersion = '2.17.1'
+ def dropwizardMetricsVersion = '4.1.0'
+ def opentelemetryVersion = '1.36.0'
+ def cloudeventsVersion = '2.4.2'
+ def curatorVersion = '5.4.0'
+ def mockitoVersion = '3.8.0'
dependencyManagement {
dependencies {
@@ -670,11 +676,11 @@ subprojects {
dependency "com.lmax:disruptor:3.4.2"
- dependency "com.fasterxml.jackson.core:jackson-databind:2.13.0"
- dependency "com.fasterxml.jackson.core:jackson-core:2.13.0"
- dependency "com.fasterxml.jackson.core:jackson-annotations:2.17.1"
- dependency
"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.0"
- dependency
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.0"
+ dependency
"com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}"
+ dependency
"com.fasterxml.jackson.core:jackson-core:${jacksonVersion}"
+ dependency
"com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}"
+ dependency
"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${jacksonVersion}"
+ dependency
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonVersion}"
dependency "com.squareup.okhttp3:okhttp:3.14.9"
@@ -683,18 +689,18 @@ subprojects {
dependency "io.netty:netty-all:4.1.79.Final"
- dependency 'io.dropwizard.metrics:metrics-core:4.1.0'
- dependency "io.dropwizard.metrics:metrics-healthchecks:4.1.0"
- dependency "io.dropwizard.metrics:metrics-annotation:4.1.0"
- dependency "io.dropwizard.metrics:metrics-json:4.1.0"
+ dependency
"io.dropwizard.metrics:metrics-core:${dropwizardMetricsVersion}"
+ dependency
"io.dropwizard.metrics:metrics-healthchecks:${dropwizardMetricsVersion}"
+ dependency
"io.dropwizard.metrics:metrics-annotation:${dropwizardMetricsVersion}"
+ dependency
"io.dropwizard.metrics:metrics-json:${dropwizardMetricsVersion}"
- dependency 'io.opentelemetry:opentelemetry-api:1.36.0'
- dependency 'io.opentelemetry:opentelemetry-sdk:1.36.0'
- dependency 'io.opentelemetry:opentelemetry-sdk-metrics:1.36.0'
- dependency
'io.opentelemetry:opentelemetry-exporter-prometheus:1.36.0-alpha'
- dependency 'io.opentelemetry:opentelemetry-exporter-zipkin:1.36.0'
- dependency 'io.opentelemetry:opentelemetry-semconv:1.30.1-alpha'
- dependency 'io.opentelemetry:opentelemetry-exporter-jaeger:1.34.1'
+ dependency
"io.opentelemetry:opentelemetry-api:${opentelemetryVersion}"
+ dependency
"io.opentelemetry:opentelemetry-sdk:${opentelemetryVersion}"
+ dependency
"io.opentelemetry:opentelemetry-sdk-metrics:${opentelemetryVersion}"
+ dependency
"io.opentelemetry:opentelemetry-exporter-prometheus:${opentelemetryVersion}-alpha"
+ dependency
"io.opentelemetry:opentelemetry-exporter-zipkin:${opentelemetryVersion}"
+ dependency "io.opentelemetry:opentelemetry-semconv:1.30.1-alpha"
+ dependency "io.opentelemetry:opentelemetry-exporter-jaeger:1.34.1"
dependency "io.openmessaging:openmessaging-api:2.2.1-pubsub"
@@ -709,13 +715,13 @@ subprojects {
dependency "org.junit-pioneer:junit-pioneer:1.9.1"
dependency "org.assertj:assertj-core:2.6.0"
- dependency "org.mockito:mockito-core:3.8.0"
- dependency "org.mockito:mockito-inline:3.8.0"
- dependency "org.mockito:mockito-junit-jupiter:3.8.0"
+ dependency "org.mockito:mockito-core:${mockitoVersion}"
+ dependency "org.mockito:mockito-inline:${mockitoVersion}"
+ dependency "org.mockito:mockito-junit-jupiter:${mockitoVersion}"
- dependency "io.cloudevents:cloudevents-core:2.4.2"
- dependency "io.cloudevents:cloudevents-json-jackson:2.4.2"
- dependency "io.cloudevents:cloudevents-protobuf:2.4.2"
+ dependency "io.cloudevents:cloudevents-core:${cloudeventsVersion}"
+ dependency
"io.cloudevents:cloudevents-json-jackson:${cloudeventsVersion}"
+ dependency
"io.cloudevents:cloudevents-protobuf:${cloudeventsVersion}"
dependency "io.grpc:grpc-core:${grpcVersion}"
dependency "io.grpc:grpc-protobuf:${grpcVersion}"
@@ -728,16 +734,15 @@ subprojects {
dependency "com.github.seancfoley:ipaddress:5.3.3"
dependency "com.google.code.gson:gson:2.11.0"
- dependency "org.yaml:snakeyaml:1.30"
dependency "org.javassist:javassist:3.30.2-GA"
dependency "com.alibaba.nacos:nacos-client:2.2.3"
dependency 'org.apache.zookeeper:zookeeper:3.9.2'
- dependency 'org.apache.curator:curator-client:5.4.0'
- dependency 'org.apache.curator:curator-framework:5.4.0'
- dependency 'org.apache.curator:curator-recipes:5.4.0'
- dependency 'org.apache.curator:curator-test:5.4.0'
+ dependency "org.apache.curator:curator-client:${curatorVersion}"
+ dependency "org.apache.curator:curator-framework:${curatorVersion}"
+ dependency "org.apache.curator:curator-recipes:${curatorVersion}"
+ dependency "org.apache.curator:curator-test:${curatorVersion}"
dependency "org.projectlombok:lombok:1.18.22"
dependency "com.github.seancfoley:ipaddress:5.3.3"
diff --git a/eventmesh-common/build.gradle b/eventmesh-common/build.gradle
index 23f9455e1..5926f7ed9 100644
--- a/eventmesh-common/build.gradle
+++ b/eventmesh-common/build.gradle
@@ -42,6 +42,7 @@ dependencies {
api "com.fasterxml.jackson.core:jackson-databind"
api "com.fasterxml.jackson.core:jackson-core"
api "com.fasterxml.jackson.core:jackson-annotations"
+ api "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml"
api "com.fasterxml.jackson.datatype:jackson-datatype-jsr310"
implementation "org.apache.httpcomponents:httpclient"
@@ -53,7 +54,6 @@ dependencies {
implementation "javax.annotation:javax.annotation-api:1.3.2"
testImplementation "org.junit-pioneer:junit-pioneer"
- implementation "org.yaml:snakeyaml"
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
diff --git
a/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/ConfigInfo.java
b/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/ConfigInfo.java
index e87b11978..a180f0f6b 100644
---
a/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/ConfigInfo.java
+++
b/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/ConfigInfo.java
@@ -28,7 +28,7 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
-public class ConfigInfo {
+public class ConfigInfo<T> {
public static final String HUMP_SPOT = "spot";
public static final String HUMP_ROD = "rod";
@@ -40,7 +40,7 @@ public class ConfigInfo {
private boolean monitor;
private boolean removePrefix;
- private Class<?> clazz;
+ private Class<? super T> clazz;
private Object object;
private String filePath;
diff --git
a/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/FileLoad.java
b/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/FileLoad.java
index adfdc9f58..a0c81ea48 100644
---
a/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/FileLoad.java
+++
b/eventmesh-common/src/main/java/org/apache/eventmesh/common/config/FileLoad.java
@@ -22,11 +22,12 @@ import org.apache.eventmesh.common.config.convert.Convert;
import org.apache.commons.lang3.StringUtils;
-import java.io.BufferedInputStream;
import java.io.BufferedReader;
-import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.Reader;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Objects;
@@ -100,7 +101,10 @@ public interface FileLoad {
@Override
public <T> T getConfig(ConfigInfo configInfo) throws IOException {
Yaml yaml = new Yaml();
- return (T) yaml.loadAs(new BufferedInputStream(new
FileInputStream(configInfo.getFilePath())), configInfo.getClazz());
+ try (InputStream input =
Files.newInputStream(Paths.get(configInfo.getFilePath()));
+ Reader reader = new InputStreamReader(input,
StandardCharsets.UTF_8)) {
+ return (T) yaml.loadAs(reader, configInfo.getClazz());
+ }
}
}
}
diff --git a/eventmesh-examples/build.gradle b/eventmesh-examples/build.gradle
index 3cb1c2c0a..5d256f016 100644
--- a/eventmesh-examples/build.gradle
+++ b/eventmesh-examples/build.gradle
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-def grpcVersion = '1.43.2'
+def grpcVersion = '1.50.2'
dependencies {
implementation project(":eventmesh-sdks:eventmesh-sdk-java")
diff --git a/gradle/wrapper/gradle-wrapper.properties
b/gradle/wrapper/gradle-wrapper.properties
index 2b303b2bb..1912c7020 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -17,7 +17,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]