diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index 82ec1cd..0fbcad5 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -1,3 +1,5 @@ +# Generated by Project Keeper +# https://github.com/exasol/project-keeper/blob/main/project-keeper/src/main/resources/templates/.github/workflows/broken_links_checker.yml name: Broken Links Checker on: diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml index 7cbab08..e3acdb7 100644 --- a/.github/workflows/ci-build-next-java.yml +++ b/.github/workflows/ci-build-next-java.yml @@ -1,5 +1,6 @@ +# Generated by Project Keeper +# https://github.com/exasol/project-keeper/blob/main/project-keeper/src/main/resources/templates/.github/workflows/ci-build-next-java.yml name: CI Build next Java - on: push: branches: @@ -18,7 +19,7 @@ jobs: with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: 17 @@ -26,8 +27,9 @@ jobs: - name: Run tests and build with Maven run: | mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \ + -Djava.version=17 \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn - - name: Publish Test Report + - name: Publish Test Report for Java 17 uses: scacap/action-surefire-report@v1 if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} with: diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index b25230d..4c88810 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -8,7 +8,7 @@ on: pull_request: jobs: - build: + matrix-build: runs-on: ubuntu-20.04 concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ matrix.exasol_db_version }} @@ -16,9 +16,9 @@ jobs: strategy: fail-fast: false matrix: - exasol_db_version: ["7.1.24", "8.23.1"] + exasol_db_version: ["8.24.0", "7.1.25"] env: - DEFAULT_EXASOL_DB_VERSION: "7.1.24" + DEFAULT_EXASOL_DB_VERSION: "8.24.0" steps: - name: Free Disk Space if: ${{ true }} @@ -29,13 +29,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 & 17 - uses: actions/setup-java@v3 + - name: Set up JDKs + uses: actions/setup-java@v4 with: distribution: "temurin" java-version: | - 17 11 + 17 cache: "maven" - name: Cache SonarCloud packages uses: actions/cache@v3 @@ -47,7 +47,7 @@ jobs: run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties" - name: Run tests and build with Maven run: | - JAVA_HOME=$JAVA_HOME_11_X64 mvn --batch-mode clean verify \ + mvn --batch-mode clean verify \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ -DtrimStackTrace=false \ -Dcom.exasol.dockerdb.image=${{ matrix.exasol_db_version }} @@ -55,7 +55,7 @@ jobs: # Set additional environment variable as in scala projects the scalatest plugin does not forward # the system property -Dcom.exasol.dockerdb.image to the test's implementation. EXASOL_DB_VERSION: ${{ matrix.exasol_db_version }} - - name: Publish Test Report + - name: Publish Test Report for Exasol ${{ matrix.exasol_db_version }} uses: scacap/action-surefire-report@v1 if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} with: @@ -63,12 +63,16 @@ jobs: - name: Sonar analysis if: ${{ env.SONAR_TOKEN != null && matrix.exasol_db_version == env.DEFAULT_EXASOL_DB_VERSION }} run: | - JAVA_HOME=$JAVA_HOME_17_X64 mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ + mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ -DtrimStackTrace=false \ - -Dsonar.organization=exasol \ - -Dsonar.host.url=https://sonarcloud.io \ -Dsonar.token=$SONAR_TOKEN env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + + build: + needs: matrix-build + runs-on: ubuntu-latest + steps: + - run: echo "Build successful" diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml index 4b6eadf..87b64ba 100644 --- a/.github/workflows/dependencies_check.yml +++ b/.github/workflows/dependencies_check.yml @@ -1,5 +1,6 @@ +# Generated by Project Keeper +# https://github.com/exasol/project-keeper/blob/main/project-keeper/src/main/resources/templates/.github/workflows/dependencies_check.yml name: Report Security Issues for Repository - on: workflow_dispatch: schedule: @@ -13,11 +14,13 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - name: Set up JDKs + uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: 11 + java-version: | + 11 + 17 cache: "maven" - name: Generate ossindex report diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 24d5657..1b60421 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -17,5 +17,13 @@ jobs: uses: actions/checkout@v3 with: fetch-depth: 0 + - name: Set up JDKs + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: | + 11 + 17 + cache: "maven" - name: Run scalafix checks run: mvn --batch-mode clean compile test-compile scalastyle:check scalafix:scalafix diff --git a/.github/workflows/release_droid_prepare_original_checksum.yml b/.github/workflows/release_droid_prepare_original_checksum.yml index 8d04d0f..1a3db47 100644 --- a/.github/workflows/release_droid_prepare_original_checksum.yml +++ b/.github/workflows/release_droid_prepare_original_checksum.yml @@ -1,5 +1,6 @@ +# Generated by Project Keeper +# https://github.com/exasol/project-keeper/blob/main/project-keeper/src/main/resources/templates/.github/workflows/release_droid_prepare_original_checksum.yml name: Release Droid - Prepare Original Checksum - on: workflow_dispatch: @@ -16,11 +17,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - name: Set up JDKs + uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: 11 + java-version: | + 11 + 17 cache: "maven" - name: Enable testcontainer reuse run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties" diff --git a/.github/workflows/release_droid_print_quick_checksum.yml b/.github/workflows/release_droid_print_quick_checksum.yml index aed4444..86979cd 100644 --- a/.github/workflows/release_droid_print_quick_checksum.yml +++ b/.github/workflows/release_droid_print_quick_checksum.yml @@ -1,5 +1,6 @@ +# Generated by Project Keeper +# https://github.com/exasol/project-keeper/blob/main/project-keeper/src/main/resources/templates/.github/workflows/release_droid_print_quick_checksum.yml name: Release Droid - Print Quick Checksum - on: workflow_dispatch: @@ -11,11 +12,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - name: Set up JDKs + uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: 11 + java-version: | + 11 + 17 cache: "maven" - name: Build with Maven skipping tests run: mvn --batch-mode clean verify -DskipTests diff --git a/.github/workflows/release_droid_upload_github_release_assets.yml b/.github/workflows/release_droid_upload_github_release_assets.yml index f90da96..f127c55 100644 --- a/.github/workflows/release_droid_upload_github_release_assets.yml +++ b/.github/workflows/release_droid_upload_github_release_assets.yml @@ -1,5 +1,4 @@ name: Release Droid - Upload GitHub Release Assets - on: workflow_dispatch: inputs: @@ -15,11 +14,13 @@ jobs: uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - name: Set up JDKs + uses: actions/setup-java@v4 with: distribution: "temurin" - java-version: 11 + java-version: | + 11 + 17 cache: "maven" - name: Build with Maven skipping tests run: mvn --batch-mode clean verify -DskipTests diff --git a/.project-keeper.yml b/.project-keeper.yml index 3b617c0..0a53112 100644 --- a/.project-keeper.yml +++ b/.project-keeper.yml @@ -8,7 +8,7 @@ build: runnerOs: ubuntu-20.04 freeDiskSpace: true exasolDbVersions: - - "7.1.24" - - "8.23.1" + - "8.24.0" + - "7.1.25" excludes: - "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_upload_github_release_assets.yml'" diff --git a/.vscode/settings.json b/.vscode/settings.json index cc5019e..b8bbe76 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,9 +1,9 @@ { "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.organizeImports": true, - "source.generate.finalModifiers": true, - "source.fixAll": true + "source.organizeImports": "explicit", + "source.generate.finalModifiers": "explicit", + "source.fixAll": "explicit" }, "java.codeGeneration.useBlocks": true, "java.saveActions.organizeImports": true, diff --git a/dependencies.md b/dependencies.md index b76cc01..5884959 100644 --- a/dependencies.md +++ b/dependencies.md @@ -16,52 +16,54 @@ ## Test Dependencies -| Dependency | License | -| ------------------------------------------ | ----------------------------------------- | -| [scalatest][14] | [the Apache License, ASL Version 2.0][15] | -| [scalatestplus-mockito][16] | [Apache-2.0][15] | -| [mockito-core][17] | [MIT][18] | -| [Test containers for Exasol on Docker][19] | [MIT License][20] | -| [Test Database Builder for Java][21] | [MIT License][22] | -| [Matcher for SQL Result Sets][23] | [MIT License][24] | -| [Extension integration tests library][25] | [MIT License][26] | -| [embedded-kafka-schema-registry][27] | [MIT][18] | -| [JSON in Java][28] | [Public Domain][29] | -| [Apache ZooKeeper - Server][30] | [Apache License, Version 2.0][31] | -| [kafka-streams-avro-serde][32] | [Apache License 2.0][7] | -| [avro4s-core][33] | [MIT][18] | -| [Apache Avro][34] | [Apache-2.0][31] | -| [Netty/Handler][35] | [Apache License, Version 2.0][1] | -| [Testcontainers :: Kafka][36] | [MIT][37] | +| Dependency | License | +| ------------------------------------------ | ----------------------------------------------------------------------------- | +| [scalatest][14] | [the Apache License, ASL Version 2.0][15] | +| [scalatestplus-mockito][16] | [Apache-2.0][15] | +| [mockito-core][17] | [MIT][18] | +| [Test containers for Exasol on Docker][19] | [MIT License][20] | +| [Test Database Builder for Java][21] | [MIT License][22] | +| [Matcher for SQL Result Sets][23] | [MIT License][24] | +| [Extension integration tests library][25] | [MIT License][26] | +| [embedded-kafka-schema-registry][27] | [MIT][18] | +| [JSON in Java][28] | [Public Domain][29] | +| [Apache ZooKeeper - Server][30] | [Apache License, Version 2.0][31] | +| [Logback Core Module][32] | [Eclipse Public License - v 1.0][33]; [GNU Lesser General Public License][34] | +| [Logback Classic Module][35] | [Eclipse Public License - v 1.0][33]; [GNU Lesser General Public License][34] | +| [kafka-streams-avro-serde][36] | [Apache License 2.0][7] | +| [avro4s-core][37] | [MIT][18] | +| [Apache Avro][38] | [Apache-2.0][31] | +| [Testcontainers :: Kafka][39] | [MIT][40] | ## Plugin Dependencies | Dependency | License | | ------------------------------------------------------- | ---------------------------------------------- | -| [SonarQube Scanner for Maven][38] | [GNU LGPL 3][39] | -| [Apache Maven Compiler Plugin][40] | [Apache-2.0][31] | -| [Apache Maven Enforcer Plugin][41] | [Apache-2.0][31] | -| [Maven Flatten Plugin][42] | [Apache Software Licenese][31] | -| [org.sonatype.ossindex.maven:ossindex-maven-plugin][43] | [ASL2][10] | -| [scala-maven-plugin][44] | [Public domain (Unlicense)][45] | -| [ScalaTest Maven Plugin][46] | [the Apache License, ASL Version 2.0][15] | -| [Apache Maven Javadoc Plugin][47] | [Apache-2.0][31] | -| [Maven Surefire Plugin][48] | [Apache-2.0][31] | -| [Versions Maven Plugin][49] | [Apache License, Version 2.0][31] | -| [duplicate-finder-maven-plugin Maven Mojo][50] | [Apache License 2.0][7] | -| [Apache Maven Assembly Plugin][51] | [Apache-2.0][31] | -| [Apache Maven JAR Plugin][52] | [Apache License, Version 2.0][31] | -| [Artifact reference checker and unifier][53] | [MIT License][54] | -| [Maven Failsafe Plugin][55] | [Apache-2.0][31] | -| [JaCoCo :: Maven Plugin][56] | [Eclipse Public License 2.0][57] | -| [error-code-crawler-maven-plugin][58] | [MIT License][59] | -| [Reproducible Build Maven Plugin][60] | [Apache 2.0][10] | -| [Project keeper maven plugin][61] | [The MIT License][62] | -| [OpenFastTrace Maven Plugin][63] | [GNU General Public License v3.0][64] | -| [Scalastyle Maven Plugin][65] | [Apache 2.0][7] | -| [spotless-maven-plugin][66] | [The Apache Software License, Version 2.0][31] | -| [scalafix-maven-plugin][67] | [BSD-3-Clause][68] | -| [Exec Maven Plugin][69] | [Apache License 2][31] | +| [SonarQube Scanner for Maven][41] | [GNU LGPL 3][42] | +| [Apache Maven Toolchains Plugin][43] | [Apache License, Version 2.0][31] | +| [Apache Maven Compiler Plugin][44] | [Apache-2.0][31] | +| [Apache Maven Enforcer Plugin][45] | [Apache-2.0][31] | +| [Maven Flatten Plugin][46] | [Apache Software Licenese][31] | +| [org.sonatype.ossindex.maven:ossindex-maven-plugin][47] | [ASL2][10] | +| [scala-maven-plugin][48] | [Public domain (Unlicense)][49] | +| [ScalaTest Maven Plugin][50] | [the Apache License, ASL Version 2.0][15] | +| [Apache Maven Javadoc Plugin][51] | [Apache-2.0][31] | +| [Maven Surefire Plugin][52] | [Apache-2.0][31] | +| [Versions Maven Plugin][53] | [Apache License, Version 2.0][31] | +| [duplicate-finder-maven-plugin Maven Mojo][54] | [Apache License 2.0][7] | +| [Apache Maven Assembly Plugin][55] | [Apache-2.0][31] | +| [Apache Maven JAR Plugin][56] | [Apache License, Version 2.0][31] | +| [Artifact reference checker and unifier][57] | [MIT License][58] | +| [Maven Failsafe Plugin][59] | [Apache-2.0][31] | +| [JaCoCo :: Maven Plugin][60] | [Eclipse Public License 2.0][61] | +| [error-code-crawler-maven-plugin][62] | [MIT License][63] | +| [Reproducible Build Maven Plugin][64] | [Apache 2.0][10] | +| [Project Keeper Maven plugin][65] | [The MIT License][66] | +| [OpenFastTrace Maven Plugin][67] | [GNU General Public License v3.0][68] | +| [Scalastyle Maven Plugin][69] | [Apache 2.0][7] | +| [spotless-maven-plugin][70] | [The Apache Software License, Version 2.0][31] | +| [scalafix-maven-plugin][71] | [BSD-3-Clause][72] | +| [Exec Maven Plugin][73] | [Apache License 2][31] | [0]: https://www.scala-lang.org/ [1]: https://www.apache.org/licenses/LICENSE-2.0 @@ -95,41 +97,45 @@ [29]: https://github.com/stleary/JSON-java/blob/master/LICENSE [30]: http://zookeeper.apache.org/zookeeper [31]: https://www.apache.org/licenses/LICENSE-2.0.txt -[32]: http://confluent.io/kafka-streams-avro-serde -[33]: https://github.com/sksamuel/avro4s -[34]: https://avro.apache.org -[35]: https://netty.io/netty-handler/ -[36]: https://java.testcontainers.org -[37]: http://opensource.org/licenses/MIT -[38]: http://sonarsource.github.io/sonar-scanner-maven/ -[39]: http://www.gnu.org/licenses/lgpl.txt -[40]: https://maven.apache.org/plugins/maven-compiler-plugin/ -[41]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ -[42]: https://www.mojohaus.org/flatten-maven-plugin/ -[43]: https://sonatype.github.io/ossindex-maven/maven-plugin/ -[44]: http://github.com/davidB/scala-maven-plugin -[45]: http://unlicense.org/ -[46]: https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin -[47]: https://maven.apache.org/plugins/maven-javadoc-plugin/ -[48]: https://maven.apache.org/surefire/maven-surefire-plugin/ -[49]: https://www.mojohaus.org/versions/versions-maven-plugin/ -[50]: https://basepom.github.io/duplicate-finder-maven-plugin -[51]: https://maven.apache.org/plugins/maven-assembly-plugin/ -[52]: https://maven.apache.org/plugins/maven-jar-plugin/ -[53]: https://github.com/exasol/artifact-reference-checker-maven-plugin/ -[54]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE -[55]: https://maven.apache.org/surefire/maven-failsafe-plugin/ -[56]: https://www.jacoco.org/jacoco/trunk/doc/maven.html -[57]: https://www.eclipse.org/legal/epl-2.0/ -[58]: https://github.com/exasol/error-code-crawler-maven-plugin/ -[59]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE -[60]: http://zlika.github.io/reproducible-build-maven-plugin -[61]: https://github.com/exasol/project-keeper/ -[62]: https://github.com/exasol/project-keeper/blob/main/LICENSE -[63]: https://github.com/itsallcode/openfasttrace-maven-plugin -[64]: https://www.gnu.org/licenses/gpl-3.0.html -[65]: http://www.scalastyle.org -[66]: https://github.com/diffplug/spotless -[67]: https://github.com/evis/scalafix-maven-plugin -[68]: https://opensource.org/licenses/BSD-3-Clause -[69]: https://www.mojohaus.org/exec-maven-plugin +[32]: http://logback.qos.ch/logback-core +[33]: http://www.eclipse.org/legal/epl-v10.html +[34]: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html +[35]: http://logback.qos.ch/logback-classic +[36]: http://confluent.io/kafka-streams-avro-serde +[37]: https://github.com/sksamuel/avro4s +[38]: https://avro.apache.org +[39]: https://java.testcontainers.org +[40]: http://opensource.org/licenses/MIT +[41]: http://sonarsource.github.io/sonar-scanner-maven/ +[42]: http://www.gnu.org/licenses/lgpl.txt +[43]: https://maven.apache.org/plugins/maven-toolchains-plugin/ +[44]: https://maven.apache.org/plugins/maven-compiler-plugin/ +[45]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ +[46]: https://www.mojohaus.org/flatten-maven-plugin/ +[47]: https://sonatype.github.io/ossindex-maven/maven-plugin/ +[48]: http://github.com/davidB/scala-maven-plugin +[49]: http://unlicense.org/ +[50]: https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin +[51]: https://maven.apache.org/plugins/maven-javadoc-plugin/ +[52]: https://maven.apache.org/surefire/maven-surefire-plugin/ +[53]: https://www.mojohaus.org/versions/versions-maven-plugin/ +[54]: https://basepom.github.io/duplicate-finder-maven-plugin +[55]: https://maven.apache.org/plugins/maven-assembly-plugin/ +[56]: https://maven.apache.org/plugins/maven-jar-plugin/ +[57]: https://github.com/exasol/artifact-reference-checker-maven-plugin/ +[58]: https://github.com/exasol/artifact-reference-checker-maven-plugin/blob/main/LICENSE +[59]: https://maven.apache.org/surefire/maven-failsafe-plugin/ +[60]: https://www.jacoco.org/jacoco/trunk/doc/maven.html +[61]: https://www.eclipse.org/legal/epl-2.0/ +[62]: https://github.com/exasol/error-code-crawler-maven-plugin/ +[63]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE +[64]: http://zlika.github.io/reproducible-build-maven-plugin +[65]: https://github.com/exasol/project-keeper/ +[66]: https://github.com/exasol/project-keeper/blob/main/LICENSE +[67]: https://github.com/itsallcode/openfasttrace-maven-plugin +[68]: https://www.gnu.org/licenses/gpl-3.0.html +[69]: http://www.scalastyle.org +[70]: https://github.com/diffplug/spotless +[71]: https://github.com/evis/scalafix-maven-plugin +[72]: https://opensource.org/licenses/BSD-3-Clause +[73]: https://www.mojohaus.org/exec-maven-plugin diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index f121c0e..f2a1448 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [1.7.2](changes_1.7.2.md) * [1.7.1](changes_1.7.1.md) * [1.7.0](changes_1.7.0.md) * [1.6.0](changes_1.6.0.md) diff --git a/doc/changes/changes_1.7.2.md b/doc/changes/changes_1.7.2.md new file mode 100644 index 0000000..bc90caf --- /dev/null +++ b/doc/changes/changes_1.7.2.md @@ -0,0 +1,36 @@ +# Exasol Kafka Connector Extension 1.7.2, released 2023-12-21 + +Code name: Fix CVE-2023-6378 in `logback` test dependencies + +This release fixes CVE-2023-6378 in dependencies `ch.qos.logback/logback-core@1.2.10` and `ch.qos.logback/logback-classic@1.2.10` with scope `test`. + +## Security + +* #83: Fixed CVE-2023-6378 in `ch.qos.logback/logback-classic@1.2.10` +* #84: Fixed CVE-2023-6378 in `ch.qos.logback/logback-core@1.2.10` + +## Dependency Updates + +### Compile Dependency Updates + +* Updated `com.google.guava:guava:32.1.3-jre` to `33.0.0-jre` + +### Test Dependency Updates + +* Added `ch.qos.logback:logback-classic:1.4.14` +* Added `ch.qos.logback:logback-core:1.4.14` +* Updated `com.exasol:exasol-testcontainers:6.6.3` to `7.0.0` +* Updated `com.exasol:hamcrest-resultset-matcher:1.6.2` to `1.6.3` +* Updated `com.exasol:test-db-builder-java:3.5.1` to `3.5.3` +* Updated `io.github.embeddedkafka:embedded-kafka-schema-registry_2.13:7.5.1` to `7.5.2` +* Removed `io.netty:netty-handler:4.1.101.Final` +* Updated `org.mockito:mockito-core:5.7.0` to `5.8.0` +* Updated `org.testcontainers:kafka:1.19.1` to `1.19.3` + +### Plugin Dependency Updates + +* Updated `com.exasol:project-keeper-maven-plugin:2.9.16` to `3.0.0` +* Updated `org.apache.maven.plugins:maven-failsafe-plugin:3.2.2` to `3.2.3` +* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.2.2` to `3.2.3` +* Added `org.apache.maven.plugins:maven-toolchains-plugin:3.1.0` +* Updated `org.codehaus.mojo:versions-maven-plugin:2.16.1` to `2.16.2` diff --git a/doc/user_guide/user_guide.md b/doc/user_guide/user_guide.md index bdfc5ff..ca35eec 100644 --- a/doc/user_guide/user_guide.md +++ b/doc/user_guide/user_guide.md @@ -61,7 +61,7 @@ checksum provided together with the jar file. To check the SHA256 sum of the downloaded jar, run the command: ```sh -sha256sum exasol-kafka-connector-extension-.jar +sha256sum exasol-kafka-connector-extension-1.7.2.jar ``` ### Building From Source @@ -84,7 +84,7 @@ sbt assembly ``` The packaged jar file should be located at -`target/scala-2.12/exasol-kafka-connector-extension-.jar`. +`target/scala-2.12/exasol-kafka-connector-extension-1.7.2.jar`. ### Create an Exasol BucketFS Bucket @@ -106,7 +106,7 @@ jar, please make sure the BucketFS ports are open. Upload the jar file using the `curl` command: ```bash -curl -X PUT -T exasol-kafka-connector-extension-.jar \ +curl -X PUT -T exasol-kafka-connector-extension-1.7.2.jar \ http://w:@:2580// ``` @@ -135,12 +135,12 @@ OPEN SCHEMA KAFKA_EXTENSION; CREATE OR REPLACE JAVA SET SCRIPT KAFKA_CONSUMER(...) EMITS (...) AS %scriptclass com.exasol.cloudetl.kafka.KafkaConsumerQueryGenerator; - %jar /buckets/bfsdefault//exasol-kafka-connector-extension-.jar; + %jar /buckets/bfsdefault//exasol-kafka-connector-extension-1.7.2.jar; / CREATE OR REPLACE JAVA SET SCRIPT KAFKA_IMPORT(...) EMITS (...) AS %scriptclass com.exasol.cloudetl.kafka.KafkaTopicDataImporter; - %jar /buckets/bfsdefault//exasol-kafka-connector-extension-.jar; + %jar /buckets/bfsdefault//exasol-kafka-connector-extension-1.7.2.jar; / CREATE OR REPLACE JAVA SET SCRIPT KAFKA_METADATA( @@ -150,7 +150,7 @@ CREATE OR REPLACE JAVA SET SCRIPT KAFKA_METADATA( ) EMITS (partition_index DECIMAL(18, 0), max_offset DECIMAL(36,0)) AS %scriptclass com.exasol.cloudetl.kafka.KafkaTopicMetadataReader; - %jar /buckets/bfsdefault//exasol-kafka-connector-extension-.jar; + %jar /buckets/bfsdefault//exasol-kafka-connector-extension-1.7.2.jar; / ``` diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom index 6b31692..621c02c 100644 --- a/pk_generated_parent.pom +++ b/pk_generated_parent.pom @@ -3,12 +3,14 @@ 4.0.0 com.exasol kafka-connector-extension-generated-parent - 1.7.1 + 1.7.2 pom UTF-8 UTF-8 11 + exasol + https://sonarcloud.io @@ -39,6 +41,25 @@ sonar-maven-plugin 3.10.0.2594 + + org.apache.maven.plugins + maven-toolchains-plugin + 3.1.0 + + + + toolchain + + + + + + + ${java.version} + + + + org.apache.maven.plugins maven-compiler-plugin @@ -69,6 +90,9 @@ 3.6.3 + + 17 + @@ -116,7 +140,7 @@ org.apache.maven.plugins maven-surefire-plugin - 3.2.2 + 3.2.3 @@ -127,7 +151,7 @@ org.codehaus.mojo versions-maven-plugin - 2.16.1 + 2.16.2 display-updates @@ -220,7 +244,7 @@ org.apache.maven.plugins maven-failsafe-plugin - 3.2.2 + 3.2.3 -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} diff --git a/pom.xml b/pom.xml index 5320c72..c622a64 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.exasol kafka-connector-extension - 1.7.1 + 1.7.2 Exasol Kafka Connector Extension Exasol Kafka Extension for accessing Apache Kafka https://github.com/exasol/kafka-connector-extension/ @@ -99,7 +99,7 @@ com.google.guava guava - 32.1.3-jre + 33.0.0-jre @@ -117,25 +117,25 @@ org.mockito mockito-core - 5.7.0 + 5.8.0 test com.exasol exasol-testcontainers - 6.6.3 + 7.0.0 test com.exasol test-db-builder-java - 3.5.1 + 3.5.3 test com.exasol hamcrest-resultset-matcher - 1.6.2 + 1.6.3 test @@ -147,7 +147,7 @@ io.github.embeddedkafka embedded-kafka-schema-registry_${scala.compat.version} - 7.5.1 + 7.5.2 test @@ -186,6 +186,20 @@ 3.9.1 test + + + ch.qos.logback + logback-core + 1.4.14 + test + + + + ch.qos.logback + logback-classic + 1.4.14 + test + io.confluent kafka-streams-avro-serde @@ -211,16 +225,10 @@ 1.11.3 test - - io.netty - netty-handler - 4.1.101.Final - test - org.testcontainers kafka - 1.19.1 + 1.19.3 test @@ -398,8 +406,6 @@ CVE-2022-36944 - - CVE-2023-4586 CVE-2020-36641 @@ -433,7 +439,7 @@ com.exasol project-keeper-maven-plugin - 2.9.16 + 3.0.0 @@ -591,7 +597,7 @@ kafka-connector-extension-generated-parent com.exasol - 1.7.1 + 1.7.2 pk_generated_parent.pom diff --git a/src/test/java/com/exasol/cloudetl/kafka/ExtensionIT.java b/src/test/java/com/exasol/cloudetl/kafka/ExtensionIT.java index 8e3b8cc..bc47b64 100644 --- a/src/test/java/com/exasol/cloudetl/kafka/ExtensionIT.java +++ b/src/test/java/com/exasol/cloudetl/kafka/ExtensionIT.java @@ -28,16 +28,13 @@ import com.exasol.extensionmanager.itest.base.ExtensionITConfig; import com.exasol.extensionmanager.itest.builder.ExtensionBuilder; import com.exasol.matcher.TypeMatchMode; -import com.exasol.mavenprojectversiongetter.MavenProjectVersionGetter; import junit.framework.AssertionFailedError; class ExtensionIT extends AbstractScriptExtensionIT { private static final Logger LOGGER = Logger.getLogger(ExtensionIT.class.getName()); - private static final String EXTENSION_ID = "kafka-connector-extension.js"; private static final Path EXTENSION_SOURCE_DIR = Paths.get("extension").toAbsolutePath(); - private static final String PROJECT_VERSION = MavenProjectVersionGetter.getCurrentProjectVersion(); private static final Path ADAPTER_JAR = getAdapterJar(); private static ExasolTestSetup exasolTestSetup; @@ -63,8 +60,7 @@ static void setup() throws FileNotFoundException, BucketAccessException, Timeout } private static Path getAdapterJar() { - final Path jar = Paths.get("target").resolve("exasol-kafka-connector-extension-" + PROJECT_VERSION + ".jar") - .toAbsolutePath(); + final Path jar = Paths.get("target").resolve(IntegrationTestConstants.JAR_FILE_NAME).toAbsolutePath(); if (Files.exists(jar)) { return jar; } else { @@ -96,12 +92,12 @@ protected ExtensionManagerSetup getSetup() { @Override protected ExtensionITConfig createConfig() { - final String previousVersion = "1.7.0"; + final String previousVersion = "1.7.1"; final String previousVersionJarFile = "exasol-kafka-connector-extension-" + previousVersion + ".jar"; - return ExtensionITConfig.builder().projectName("kafka-connector-extension").currentVersion(PROJECT_VERSION) - .extensionId(EXTENSION_ID).previousVersion(previousVersion) - .previousVersionJarFile(previousVersionJarFile).expectedParameterCount(-1) - .extensionName("Kafka Connector Extension") // + return ExtensionITConfig.builder().projectName("kafka-connector-extension") + .currentVersion(IntegrationTestConstants.PROJECT_VERSION).extensionId(EXTENSION_ID) + .previousVersion(previousVersion).previousVersionJarFile(previousVersionJarFile) + .expectedParameterCount(-1).extensionName("Kafka Connector Extension") // .extensionDescription("Exasol Kafka Extension for accessing Apache Kafka") // .build(); } @@ -179,7 +175,8 @@ private Object[] setScript(final String name, final String scriptClass) { } private Object[] script(final String name, final String inputType, final String scriptClass) { - final String comment = "Created by Extension Manager for Kafka Connector Extension " + PROJECT_VERSION; + final String comment = "Created by Extension Manager for Kafka Connector Extension " + + IntegrationTestConstants.PROJECT_VERSION; final String jarPath = "/buckets/bfsdefault/default/" + ADAPTER_JAR.getFileName().toString(); return new Object[] { name, "UDF", inputType, "EMITS", allOf(// containsString("%jar " + jarPath + ";"), // diff --git a/src/test/java/com/exasol/cloudetl/kafka/IntegrationTestConstants.java b/src/test/java/com/exasol/cloudetl/kafka/IntegrationTestConstants.java index 1f022c5..050f5c9 100644 --- a/src/test/java/com/exasol/cloudetl/kafka/IntegrationTestConstants.java +++ b/src/test/java/com/exasol/cloudetl/kafka/IntegrationTestConstants.java @@ -1,7 +1,10 @@ package com.exasol.cloudetl.kafka; +import com.exasol.mavenprojectversiongetter.MavenProjectVersionGetter; + public class IntegrationTestConstants { - public static String JAR_FILE_NAME = "exasol-kafka-connector-extension-1.7.1.jar"; + public static final String PROJECT_VERSION = MavenProjectVersionGetter.getCurrentProjectVersion(); + public static String JAR_FILE_NAME = "exasol-kafka-connector-extension-" + PROJECT_VERSION + ".jar"; public static String TEST_SCHEMA_NAME = "kafka_schema"; public static String DEFAULT_EXASOL_DOCKER_IMAGE = "7.1.24"; public static String LOCALSTACK_DOCKER_IMAGE = "localstack/localstack:2.2"; diff --git a/src/test/scala/com/exasol/cloudetl/kafka/ittests/docker/BaseDockerIntegrationTest.scala b/src/test/scala/com/exasol/cloudetl/kafka/ittests/docker/BaseDockerIntegrationTest.scala index f2042c7..3cf5930 100644 --- a/src/test/scala/com/exasol/cloudetl/kafka/ittests/docker/BaseDockerIntegrationTest.scala +++ b/src/test/scala/com/exasol/cloudetl/kafka/ittests/docker/BaseDockerIntegrationTest.scala @@ -15,7 +15,7 @@ import org.scalatest.funsuite.AnyFunSuite trait BaseDockerIntegrationTest extends AnyFunSuite with BeforeAndAfterAll { private[this] val JAR_NAME_PATTERN = "exasol-kafka-connector-extension-" - private[this] val DEFAULT_EXASOL_DOCKER_IMAGE = "7.1.24" + private[this] val DEFAULT_EXASOL_DOCKER_IMAGE = "7.1.25" val network = DockerNamedNetwork("kafka-it-tests", true) val exasolContainer = {