From 691e36e5f970423c291ee07b0fcd0269a80f06b4 Mon Sep 17 00:00:00 2001 From: schannap Date: Mon, 23 Sep 2024 08:50:12 -0700 Subject: [PATCH 1/4] JDK 17 upgrade changes --- .gitignore | 1 + README.md | 4 +- build.gradle | 47 ++++++++++++------- docs/CLI-Example.rst | 8 ++-- docs/index.rst | 4 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- .../adapter/DatabusProducerRecordAdapter.java | 2 - .../consumer/ConsumerConfiguration.java | 2 +- 9 files changed, 42 insertions(+), 30 deletions(-) diff --git a/.gitignore b/.gitignore index 94c3e12..c6a5256 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ # Gradle .gradle build +bin local.properties reports secring.gpg diff --git a/README.md b/README.md index a770ced..7370c5f 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,12 @@ Maven: com.opendxl dxldatabusclient - 2.4.11 + 2.6.1 ``` or Gradle: ```groovy -compile 'com.opendxl:dxldatabusclient:2.4.11' +compile 'com.opendxl:dxldatabusclient:2.6.1' ``` ## Bugs and Feedback diff --git a/build.gradle b/build.gradle index b42fd53..7e2d284 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ plugins { id 'java-library' id 'maven-publish' id 'signing' - id "com.github.johnrengelman.shadow" version "4.0.3" + id "com.github.johnrengelman.shadow" version "5.2.0" id "kr.motd.sphinx" version "2.3.1" id "jacoco" id "org.owasp.dependencycheck" version "6.1.5" @@ -24,8 +24,6 @@ plugins { group 'com.opendxl' -sourceCompatibility = 1.8 - apply plugin: 'base' apply plugin: 'java' apply plugin: 'groovy' @@ -38,6 +36,12 @@ dependencyCheck { suppressionFile = file("${projectDir}/config/dependency-check/owasp-suppression.xml") } +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + jacoco { toolVersion = "0.8.6" reportsDir = file("$buildDir/reports/coverage") @@ -57,12 +61,12 @@ configurations { } dependencies { - implementation ('org.apache.kafka:kafka-clients:3.5.1') { + implementation ('org.apache.kafka:kafka-clients:2.3.1') { exclude group: 'org.scala-lang', module: 'scala-reflect' exclude group: 'org.lz4', module: 'lz4-java' exclude group: 'org.xerial.snappy', module: 'snappy-java' } - implementation ('org.apache.kafka:kafka-streams:3.5.1') { + implementation ('org.apache.kafka:kafka-streams:2.3.1') { exclude group: 'org.scala-lang', module: 'scala-reflect' } implementation group: 'org.xerial.snappy', name: 'snappy-java', version: '1.1.10.5' @@ -74,21 +78,21 @@ dependencies { implementation 'commons-lang:commons-lang:2.6' implementation 'org.slf4j:slf4j-api:1.7.30' implementation 'net.sf.jopt-simple:jopt-simple:5.0.4' - testImplementation('org.apache.kafka:kafka_2.12:3.5.1') { + testImplementation('org.apache.kafka:kafka_2.12:3.8.0') { exclude group: 'org.scala-lang', module: 'scala-reflect' exclude group: 'org.xerial.snappy', module: 'snappy-java' } testImplementation 'org.scala-lang:scala-reflect:2.12.11' testImplementation 'org.apache.zookeeper:zookeeper:3.5.7' - testImplementation('io.netty:netty-all:4.1.43.Final') { + testImplementation('io.netty:netty-all:4.1.112.Final') { force = true } testImplementation 'commons-io:commons-io:2.7' - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13.1' testImplementation 'com.github.stefanbirkner:system-rules:1.19.0' testImplementation 'com.e-movimento.tinytools:privilegedaccessor:1.2.2' - kafkaInMemory ('org.apache.kafka:kafka_2.12:3.5.1') { + kafkaInMemory ('org.apache.kafka:kafka_2.12:3.8.0') { exclude group: 'org.scala-lang', module: 'scala-reflect' exclude group: 'org.lz4', module: 'lz4-java' exclude group: 'org.xerial.snappy', module: 'snappy-java' @@ -112,7 +116,7 @@ dependencies { // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-16942 // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-16943 // CVE-2020-25649 - compile ('com.fasterxml.jackson.core:jackson-databind:2.16.1') { + implementation ('com.fasterxml.jackson.core:jackson-databind:2.16.1') { force = true } kafkaInMemory ('com.fasterxml.jackson.core:jackson-databind:2.16.1') { @@ -120,10 +124,10 @@ dependencies { } // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-12402 - kafkaInMemory ('org.apache.commons:commons-compress:1.21') { + kafkaInMemory ('org.apache.commons:commons-compress:1.27.0') { force = true } - compile ('org.apache.commons:commons-compress:1.21') { + implementation ('org.apache.commons:commons-compress:1.27.0') { force = true } } @@ -146,6 +150,7 @@ jar { task sourceJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource + duplicatesStrategy = DuplicatesStrategy.EXCLUDE // Handle duplicates } // Task for creating a jar with JavaDoc @@ -165,10 +170,14 @@ artifacts { archives javadocJar } +tasks.named('sphinx') { + enabled = false +} + // Set up the distribution zip distributions { main { - baseName = 'dxldatabusclient-java-sdk' + distributionBaseName = 'dxldatabusclient-java-sdk' contents { from(jar) { into('lib') @@ -288,6 +297,10 @@ publishing { } } + tasks.withType(GenerateModuleMetadata) { + enabled = false + } + from components.java artifact(sourceJar) { @@ -301,10 +314,10 @@ publishing { repositories { maven { url = "$buildDir/repo" -// def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" -// def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" -// url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl -// credentials { + // def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" + // def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" + // url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl + // credentials { // username sonatypeUsername // password sonatypePassword // } diff --git a/docs/CLI-Example.rst b/docs/CLI-Example.rst index a198f9d..53d820a 100644 --- a/docs/CLI-Example.rst +++ b/docs/CLI-Example.rst @@ -7,7 +7,7 @@ library with no arguments displays help information: :: - $ java -jar dxldatabusclient-2.4.11.jar + $ java -jar dxldatabusclient-2.6.1.jar ERROR: There are not options Option (* = required) Description @@ -50,7 +50,7 @@ few CLI operations. Operations arguments are placed after :: - $ java -jar dxldatabusclient-2.4.11.jar --operation ... + $ java -jar dxldatabusclient-2.6.1.jar --operation ... Operation Arguments ^^^^^^^^^^^^^^^^^^^ @@ -123,7 +123,7 @@ example :: - $ java -jar dxldatabusclient-2.4.11.jar \ + $ java -jar dxldatabusclient-2.6.1.jar \ --operation produce \ --to-topic \ --brokers <0.0.0.0>: \ @@ -230,7 +230,7 @@ example :: - java -jar dxldatabusclient-2.4.11.jar \ + java -jar dxldatabusclient-2.6.1.jar \ --operation consume \ --from-topic \ --brokers \ diff --git a/docs/index.rst b/docs/index.rst index fec8bf3..c7aaef8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -40,14 +40,14 @@ Maven: com.opendxl dxldatabusclient - 2.4.11 + 2.6.1 or Gradle: .. code:: groovy - compile 'com.opendxl:dxldatabusclient:2.4.11' + compile 'com.opendxl:dxldatabusclient:2.6.1' API Documentation ----------------- diff --git a/gradle.properties b/gradle.properties index fb5bb74..892ae6b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=2.4.11 +version=2.6.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index cfaab3d..44c7337 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip diff --git a/src/main/java/com/opendxl/databus/common/internal/adapter/DatabusProducerRecordAdapter.java b/src/main/java/com/opendxl/databus/common/internal/adapter/DatabusProducerRecordAdapter.java index 9b02f2d..bcece6d 100644 --- a/src/main/java/com/opendxl/databus/common/internal/adapter/DatabusProducerRecordAdapter.java +++ b/src/main/java/com/opendxl/databus/common/internal/adapter/DatabusProducerRecordAdapter.java @@ -86,8 +86,6 @@ public DatabusProducerRecordAdapter(final Serializer

messageSerializer) { sourceProducerRecord.getRoutingData().getTenantGroup()); final List

kafkaHeaders = produceKafkaHeaders ? generateKafkaHeaders(databusMessage.getHeaders()) : null; - System.out.println("produceKafkaHeaders: " + produceKafkaHeaders); - System.out.println("kafkaHeaders: " + kafkaHeaders); final org.apache.kafka.clients.producer.ProducerRecord targetProducerRecord = new org.apache.kafka.clients.producer.ProducerRecord<>(targetTopic, sourceProducerRecord.getRoutingData().getPartition(), diff --git a/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java b/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java index 56f4fc0..22ec7ce 100644 --- a/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java +++ b/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java @@ -11,7 +11,7 @@ import org.apache.kafka.common.config.ConfigDef.Importance; import org.apache.kafka.common.config.ConfigDef.Type; import org.apache.kafka.common.metrics.Sensor; -import org.apache.kafka.common.IsolationLevel; +import org.apache.kafka.common.requests.IsolationLevel; import org.apache.kafka.common.serialization.Deserializer; import java.util.Collections; From 19f6b158e4f22713b210ed1d93b5d16f29aff317 Mon Sep 17 00:00:00 2001 From: Aparna C Date: Fri, 14 Mar 2025 06:45:19 +0000 Subject: [PATCH 2/4] Java 21 changes --- .github/workflows/main.yml | 2 +- README.md | 4 +- build.gradle | 57 ++++++++++-------------- docs/CLI-Example.rst | 8 ++-- docs/index.rst | 4 +- gradle/wrapper/gradle-wrapper.properties | 5 ++- 6 files changed, 35 insertions(+), 45 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d2d43cf..2fc9b56 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java-version: [ 17 ] + java-version: [ 21 ] fail-fast: false steps: diff --git a/README.md b/README.md index cf8b860..b6ebbdf 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,12 @@ Maven: com.opendxl dxldatabusclient - 2.6.0 + 2.7.0 ``` or Gradle: ```groovy -compile 'com.opendxl:dxldatabusclient:2.6.0' +compile 'com.opendxl:dxldatabusclient:2.7.0' ``` ## Bugs and Feedback diff --git a/build.gradle b/build.gradle index ab89814..89010ee 100644 --- a/build.gradle +++ b/build.gradle @@ -23,7 +23,7 @@ plugins { } group 'com.opendxl' -version = '2.6.0' +version = '2.7.0' apply plugin: 'base' apply plugin: 'java' @@ -38,19 +38,18 @@ dependencyCheck { } java { toolchain { - languageVersion = JavaLanguageVersion.of(17) + languageVersion = JavaLanguageVersion.of(21) } } jacoco { - toolVersion = "0.8.8" - reportsDir = file("$buildDir/reports/coverage") + toolVersion = "0.8.11" } jacocoTestReport { reports { - xml.enabled false - csv.enabled false - html.destination file("$buildDir/reports/coverage") + xml.required.set(false) + csv.required.set(false) + html.outputLocation.set(file("$buildDir/reports/coverage")) } } @@ -63,33 +62,32 @@ configurations { } dependencies { - implementation ('org.apache.kafka:kafka-clients:3.8.0') { + implementation ('org.apache.kafka:kafka-clients:3.8.1') { exclude group: 'org.scala-lang', module: 'scala-reflect' exclude group: 'org.lz4', module: 'lz4-java' exclude group: 'org.xerial.snappy', module: 'snappy-java' } - implementation ('org.apache.kafka:kafka-streams:3.8.0') { + implementation ('org.apache.kafka:kafka-streams:3.8.1') { exclude group: 'org.scala-lang', module: 'scala-reflect' } implementation group: 'org.xerial.snappy', name: 'snappy-java', version: '1.1.10.5' implementation 'org.scala-lang:scala-reflect:2.13.9' implementation 'org.scala-lang:scala-library:2.13.9' implementation 'org.lz4:lz4-java:1.8.0' - implementation 'org.apache.avro:avro:1.11.3' + implementation 'org.apache.avro:avro:1.12.0' implementation 'com.google.code.gson:gson:2.8.9' implementation 'org.apache.commons:commons-configuration2:2.11.0' implementation 'commons-lang:commons-lang:2.6' implementation 'org.slf4j:slf4j-api:1.7.36' implementation 'net.sf.jopt-simple:jopt-simple:5.0.4' - testImplementation('org.apache.kafka:kafka_2.13:3.8.0') { + testImplementation('org.apache.kafka:kafka_2.13:3.8.1') { exclude group: 'org.scala-lang', module: 'scala-reflect' exclude group: 'org.xerial.snappy', module: 'snappy-java' } testImplementation 'org.scala-lang:scala-reflect:2.13.9' - testImplementation 'org.apache.zookeeper:zookeeper:3.6.4' - testImplementation('io.netty:netty-all:4.1.112.Final') { - force = true - } + testImplementation 'org.apache.zookeeper:zookeeper:3.9.3' + testImplementation enforcedPlatform('io.netty:netty-all:4.1.118.Final') + testImplementation 'io.netty:netty-all' testImplementation 'commons-io:commons-io:2.11.0' testImplementation 'junit:junit:4.13.2' testImplementation 'com.github.stefanbirkner:system-rules:1.19.0' @@ -119,18 +117,16 @@ dependencies { // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-16942 // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-16943 // CVE-2020-25649 - implementation 'com.fasterxml.jackson.module:jackson-module-scala_3:2.14.2' - kafkaInMemory ('com.fasterxml.jackson.core:jackson-databind:2.16.1') { - force = true - } + implementation 'com.fasterxml.jackson.module:jackson-module-scala_3:2.15.0' + kafkaInMemory ('com.fasterxml.jackson.core:jackson-databind:2.16.1') // http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2019-12402 - kafkaInMemory ('org.apache.commons:commons-compress:1.27.0') { - force = true - } - implementation ('org.apache.commons:commons-compress:1.27.0') { - force = true - } + kafkaInMemory enforcedPlatform('org.apache.commons:commons-compress:1.27.0') + kafkaInMemory 'org.apache.commons:commons-compress' + + implementation enforcedPlatform('org.apache.commons:commons-compress:1.27.0') + implementation 'org.apache.commons:commons-compress' + } repositories { @@ -149,7 +145,6 @@ jar { // Task for creating a jar with the source files task sourceJar(type: Jar, dependsOn: classes) { - classifier = 'sources' from sourceSets.main.allSource archiveClassifier.set('sources') duplicatesStrategy = DuplicatesStrategy.EXCLUDE // Handle duplicates @@ -165,7 +160,7 @@ publishing { // Task for creating a jar with JavaDoc task javadocJar(type: Jar, dependsOn: javadoc) { - classifier = 'javadoc' + archiveClassifier.set('javadoc') from javadoc.destinationDir } @@ -200,9 +195,6 @@ distributions { from(configurations.compileClasspath) { into("lib/3rdparty") } - from(sphinx) { - into('doc') - } from('sample') { into 'sample' } @@ -275,9 +267,6 @@ task versionFile() { checkstyle { sourceSets = [] - toolVersion '8.39' - - } publishing { @@ -358,5 +347,5 @@ signing {sign publishing.publications.maven} check.dependsOn dependencyCheckAnalyze distZip.dependsOn javadocJar distZip.dependsOn sourceJar -sphinx.dependsOn(versionFile) +check.dependsOn dependencyCheckAnalyze assemble.dependsOn(replaceVersionInREADME) \ No newline at end of file diff --git a/docs/CLI-Example.rst b/docs/CLI-Example.rst index 5f3afc3..0a044ee 100644 --- a/docs/CLI-Example.rst +++ b/docs/CLI-Example.rst @@ -7,7 +7,7 @@ library with no arguments displays help information: :: - $ java -jar dxldatabusclient-2.6.0.jar + $ java -jar dxldatabusclient-2.7.0.jar ERROR: There are not options Option (* = required) Description @@ -50,7 +50,7 @@ few CLI operations. Operations arguments are placed after :: - $ java -jar dxldatabusclient-2.6.0.jar --operation ... + $ java -jar dxldatabusclient-2.7.0.jar --operation ... Operation Arguments ^^^^^^^^^^^^^^^^^^^ @@ -123,7 +123,7 @@ example :: - $ java -jar dxldatabusclient-2.6.0.jar \ + $ java -jar dxldatabusclient-2.7.0.jar \ --operation produce \ --to-topic \ --brokers <0.0.0.0>: \ @@ -230,7 +230,7 @@ example :: - java -jar dxldatabusclient-2.6.0.jar \ + java -jar dxldatabusclient-2.7.0.jar \ --operation consume \ --from-topic \ --brokers \ diff --git a/docs/index.rst b/docs/index.rst index 1380b27..d2f59b6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -40,14 +40,14 @@ Maven: com.opendxl dxldatabusclient - 2.6.0 + 2.7.0 or Gradle: .. code:: groovy - compile 'com.opendxl:dxldatabusclient:2.6.0' + compile 'com.opendxl:dxldatabusclient:2.7.0' API Documentation ----------------- diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 3e9d906..1af9e09 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Thu Aug 22 13:18:26 ART 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-all.zip From 2d48a30e07df94da54132254d18efd2f380c041f Mon Sep 17 00:00:00 2001 From: Aparna C Date: Mon, 21 Apr 2025 10:42:21 +0000 Subject: [PATCH 3/4] Gradle changes for Java 21 --- build.gradle | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3f5e404..3c3b797 100644 --- a/build.gradle +++ b/build.gradle @@ -87,7 +87,6 @@ dependencies { testImplementation 'org.scala-lang:scala-reflect:2.13.9' testImplementation 'org.apache.zookeeper:zookeeper:3.9.3' testImplementation enforcedPlatform('io.netty:netty-all:4.1.118.Final') - testImplementation 'io.netty:netty-all' testImplementation 'commons-io:commons-io:2.11.0' testImplementation 'junit:junit:4.13.2' testImplementation 'com.github.stefanbirkner:system-rules:1.19.0' @@ -195,6 +194,12 @@ distributions { from(configurations.compileClasspath) { into("lib/3rdparty") } + //Since sphinx task is temporarily disabled, this has been commented out + // as the document is not generated. + + // from(sphinx) { + // into('doc') + // } from('sample') { into 'sample' } @@ -267,6 +272,7 @@ task versionFile() { checkstyle { sourceSets = [] + toolVersion '8.39' } publishing { From 7412910c0745451a4c867b776828a7dcb04d0a42 Mon Sep 17 00:00:00 2001 From: Aparna C Date: Mon, 21 Apr 2025 10:45:43 +0000 Subject: [PATCH 4/4] Fixed kafka commons change for Java 21 --- .../com/opendxl/databus/consumer/ConsumerConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java b/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java index 22ec7ce..56f4fc0 100644 --- a/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java +++ b/src/main/java/com/opendxl/databus/consumer/ConsumerConfiguration.java @@ -11,7 +11,7 @@ import org.apache.kafka.common.config.ConfigDef.Importance; import org.apache.kafka.common.config.ConfigDef.Type; import org.apache.kafka.common.metrics.Sensor; -import org.apache.kafka.common.requests.IsolationLevel; +import org.apache.kafka.common.IsolationLevel; import org.apache.kafka.common.serialization.Deserializer; import java.util.Collections;