diff --git a/.github/workflows/broken_links_checker.yml b/.github/workflows/broken_links_checker.yml index c268e21..29071df 100644 --- a/.github/workflows/broken_links_checker.yml +++ b/.github/workflows/broken_links_checker.yml @@ -2,7 +2,7 @@ name: Broken Links Checker on: schedule: - - cron: "0 5 * * *" + - cron: "0 5 * * 0" push: branches: - main @@ -11,12 +11,15 @@ on: jobs: linkChecker: runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Configure broken links checker run: | mkdir -p ./target - echo '{ "aliveStatusCodes": [429, 200] }' > ./target/broken_links_checker.json + echo '{ "aliveStatusCodes": [429, 200], "ignorePatterns": [{"pattern": "^https?://(www.)?opensource.org"}] }' > ./target/broken_links_checker.json - uses: gaurav-nelson/github-action-markdown-link-check@v1 with: use-quiet-mode: 'yes' diff --git a/.github/workflows/ci-build-next-java.yml b/.github/workflows/ci-build-next-java.yml index 2abe7cb..cb641d7 100644 --- a/.github/workflows/ci-build-next-java.yml +++ b/.github/workflows/ci-build-next-java.yml @@ -9,29 +9,28 @@ on: jobs: java-17-compatibility: runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 17 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 17 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Run tests and build with Maven run: | mvn --batch-mode --update-snapshots clean package -DtrimStackTrace=false \ - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -Pscala2.13 - name: Publish Test Report uses: scacap/action-surefire-report@v1 if: ${{ always() && github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]' }} with: github_token: ${{ secrets.GITHUB_TOKEN }} + fail_if_no_tests: false diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index b669a0a..a495d43 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -16,25 +16,22 @@ jobs: include: - { scala-version: 'scala2.12', project-keeper-skip: true } - { scala-version: 'scala2.13', project-keeper-skip: false } + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Cache SonarCloud packages - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar @@ -60,9 +57,10 @@ jobs: - name: Sonar analysis if: ${{ env.SONAR_TOKEN != null && startsWith(matrix.scala-version, 'scala2.13') }} run: | - mvn --batch-mode scoverage:report sonar:sonar \ + mvn --batch-mode scoverage:report org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ -DtrimStackTrace=false \ + -P${{ matrix.scala-version }} \ -Dsonar.organization=exasol \ -Dsonar.host.url=https://sonarcloud.io \ -Dsonar.login=$SONAR_TOKEN diff --git a/.github/workflows/dependencies_check.yml b/.github/workflows/dependencies_check.yml index d28c0b4..b2ab231 100644 --- a/.github/workflows/dependencies_check.yml +++ b/.github/workflows/dependencies_check.yml @@ -9,18 +9,12 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Checking dependencies for vulnerabilities - run: mvn org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml \ No newline at end of file + run: mvn --batch-mode org.sonatype.ossindex.maven:ossindex-maven-plugin:audit -f pom.xml \ No newline at end of file diff --git a/.github/workflows/release_droid_prepare_original_checksum.yml b/.github/workflows/release_droid_prepare_original_checksum.yml index 8ee7c49..7f84e59 100644 --- a/.github/workflows/release_droid_prepare_original_checksum.yml +++ b/.github/workflows/release_droid_prepare_original_checksum.yml @@ -15,21 +15,15 @@ jobs: - { scala-version: 'scala2.13', project-keeper-skip: false } steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Run tests and build with Maven for ${{ matrix.scala-version }} run: | mvn --batch-mode clean verify --file pom.xml \ @@ -38,7 +32,7 @@ jobs: - name: Prepare checksum run: find target -maxdepth 1 -name *.jar -exec sha256sum "{}" + > original_checksum - name: Upload checksum to the artifactory - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: original_checksum retention-days: 5 diff --git a/.github/workflows/release_droid_print_quick_checksum.yml b/.github/workflows/release_droid_print_quick_checksum.yml index 02bede9..6b484e6 100644 --- a/.github/workflows/release_droid_print_quick_checksum.yml +++ b/.github/workflows/release_droid_print_quick_checksum.yml @@ -15,21 +15,15 @@ jobs: - { scala-version: 'scala2.13', project-keeper-skip: false } steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Build with Maven skipping tests for ${{ matrix.scala-version }} run: | mvn --batch-mode clean verify \ diff --git a/.github/workflows/release_droid_release_on_maven_central.yml b/.github/workflows/release_droid_release_on_maven_central.yml index bb4640e..580e236 100644 --- a/.github/workflows/release_droid_release_on_maven_central.yml +++ b/.github/workflows/release_droid_release_on_maven_central.yml @@ -15,26 +15,20 @@ jobs: - { scala-version: 'scala2.13', project-keeper-skip: false } steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up Maven Central Repository - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 + cache: 'maven' server-id: ossrh server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - - name: Import GPG Key - run: gpg --import --batch <(echo "${{ secrets.OSSRH_GPG_SECRET_KEY }}") - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + gpg-private-key: ${{ secrets.OSSRH_GPG_SECRET_KEY }} + gpg-passphrase: MAVEN_GPG_PASSPHRASE - name: Publish to Central Repository for ${{ matrix.scala-version }} run: | mvn clean deploy \ @@ -45,4 +39,4 @@ jobs: -Dproject-keeper.skip=${{ matrix.project-keeper-skip }} env: MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} + MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} \ No newline at end of file diff --git a/.github/workflows/release_droid_upload_github_release_assets.yml b/.github/workflows/release_droid_upload_github_release_assets.yml index bd74c3c..f47670e 100644 --- a/.github/workflows/release_droid_upload_github_release_assets.yml +++ b/.github/workflows/release_droid_upload_github_release_assets.yml @@ -19,21 +19,15 @@ jobs: - { scala-version: 'scala2.13', project-keeper-skip: false } steps: - name: Checkout the repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - name: Set up JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: 11 - - name: Cache local Maven repository - uses: actions/cache@v2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- + cache: 'maven' - name: Build with Maven skipping tests for ${{ matrix.scala-version }} run: | mvn --batch-mode clean verify \ @@ -41,9 +35,7 @@ jobs: -DskipTests \ -Dproject-keeper.skip=${{ matrix.project-keeper-skip }} - name: Generate sha256sum files - run: | - cd target/ - find -name *.jar -exec bash -c 'sha256sum {} > {}.sha256' \; + run: find target -maxdepth 1 -name *.jar -exec bash -c 'sha256sum {} > {}.sha256' \; - name: Upload assets to the GitHub release draft uses: shogo82148/actions-upload-release-asset@v1 with: diff --git a/.gitignore b/.gitignore index 2ee6f23..46b8a44 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,5 @@ tmp # Windows Desktop.ini Thumbs.db + +*.flattened-pom.xml \ No newline at end of file diff --git a/.project-keeper.yml b/.project-keeper.yml new file mode 100644 index 0000000..5e0914b --- /dev/null +++ b/.project-keeper.yml @@ -0,0 +1,19 @@ +sources: + - type: maven + path: pom.xml + modules: + - maven_central +linkReplacements: + - "LICENSE-exasol-script-api.txt|https://mit-license.org/" + - "https://github.com/google/guava/guava|https://github.com/google/guava" + - "http://wiki.fasterxml.com/JacksonModuleScala|https://github.com/FasterXML/jackson-module-scala" + - "http://nexus.sonatype.org/oss-repository-hosting.html|https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin" + - "http://nexus.sonatype.org/oss-repository-hosting.html/scalatest-maven-plugin|https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin" +excludes: + - "E-PK-CORE-18: Outdated content: '.github/workflows/ci-build.yml'" + - "E-PK-CORE-18: Outdated content: '.github/workflows/ci-build-next-java.yml'" + - "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_prepare_original_checksum.yml'" + - "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_print_quick_checksum.yml'" + - "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_upload_github_release_assets.yml'" + - "E-PK-CORE-18: Outdated content: '.github/workflows/release_droid_release_on_maven_central.yml'" + - regex: "(?s)E-PK-CORE-62: The project's README.md does not contain a valid badges block. Please add or replace the following badges:.*" diff --git a/dependencies.md b/dependencies.md index 5849cb5..aefc607 100644 --- a/dependencies.md +++ b/dependencies.md @@ -11,95 +11,104 @@ | [Apache Avro][6] | [Apache License, Version 2.0][7] | | [jackson-databind][8] | [The Apache Software License, Version 2.0][9] | | [jackson-module-scala][10] | [The Apache Software License, Version 2.0][7] | -| [SLF4J Simple Binding][12] | [MIT License][13] | -| [scala-logging][14] | [Apache 2.0 License][15] | +| [SLF4J Simple Binding][11] | [MIT License][12] | +| [scala-logging][13] | [Apache 2.0 License][14] | ## Test Dependencies | Dependency | License | | --------------------------- | ----------------------------------------- | -| [scalatest][16] | [the Apache License, ASL Version 2.0][17] | -| [scalatestplus-mockito][18] | [Apache-2.0][17] | -| [mockito-core][20] | [The MIT License][21] | +| [scalatest][15] | [the Apache License, ASL Version 2.0][16] | +| [scalatestplus-mockito][17] | [Apache-2.0][16] | +| [mockito-core][18] | [The MIT License][19] | ## Plugin Dependencies | Dependency | License | | ------------------------------------------------------- | --------------------------------------------- | -| [scala-maven-plugin][22] | [Public domain (Unlicense)][23] | -| [Apache Maven Compiler Plugin][24] | [Apache License, Version 2.0][7] | -| [Maven Surefire Plugin][26] | [Apache License, Version 2.0][7] | -| [ScalaTest Maven Plugin][28] | [the Apache License, ASL Version 2.0][17] | -| [Apache Maven Assembly Plugin][30] | [Apache License, Version 2.0][7] | -| [Versions Maven Plugin][32] | [Apache License, Version 2.0][7] | -| [org.sonatype.ossindex.maven:ossindex-maven-plugin][34] | [ASL2][9] | -| [Apache Maven Enforcer Plugin][36] | [Apache License, Version 2.0][7] | -| [OpenFastTrace Maven Plugin][38] | [GNU General Public License v3.0][39] | -| [Apache Maven GPG Plugin][40] | [Apache License, Version 2.0][7] | -| [Apache Maven Deploy Plugin][42] | [Apache License, Version 2.0][7] | -| [Nexus Staging Maven Plugin][44] | [Eclipse Public License][45] | -| [Apache Maven Source Plugin][46] | [Apache License, Version 2.0][7] | -| [Apache Maven Javadoc Plugin][48] | [Apache License, Version 2.0][7] | -| [Reproducible Build Maven Plugin][50] | [Apache 2.0][9] | -| [error-code-crawler-maven-plugin][52] | [MIT][5] | -| [Project keeper maven plugin][54] | [MIT][5] | -| [SCoverage Maven Plugin][56] | [The Apache Software License, Version 2.0][9] | -| [Scalastyle Maven Plugin][58] | [Apache 2.0][15] | -| [spotless-maven-plugin][60] | [The Apache Software License, Version 2.0][7] | -| [scalafix-maven-plugin][62] | [BSD-3-Clause][63] | -| [Apache Maven Clean Plugin][64] | [Apache License, Version 2.0][7] | -| [Apache Maven Resources Plugin][66] | [Apache License, Version 2.0][7] | -| [Apache Maven JAR Plugin][68] | [Apache License, Version 2.0][7] | -| [Apache Maven Install Plugin][70] | [Apache License, Version 2.0][9] | -| [Apache Maven Site Plugin][72] | [Apache License, Version 2.0][7] | +| [SonarQube Scanner for Maven][20] | [GNU LGPL 3][21] | +| [Apache Maven Compiler Plugin][22] | [Apache License, Version 2.0][7] | +| [Apache Maven Enforcer Plugin][23] | [Apache License, Version 2.0][7] | +| [Maven Flatten Plugin][24] | [Apache Software Licenese][9] | +| [org.sonatype.ossindex.maven:ossindex-maven-plugin][25] | [ASL2][9] | +| [Reproducible Build Maven Plugin][26] | [Apache 2.0][9] | +| [scala-maven-plugin][27] | [Public domain (Unlicense)][28] | +| [Maven Surefire Plugin][29] | [Apache License, Version 2.0][7] | +| [Versions Maven Plugin][30] | [Apache License, Version 2.0][7] | +| [Apache Maven Deploy Plugin][31] | [Apache License, Version 2.0][7] | +| [Apache Maven GPG Plugin][32] | [Apache License, Version 2.0][7] | +| [Apache Maven Source Plugin][33] | [Apache License, Version 2.0][7] | +| [Apache Maven Javadoc Plugin][34] | [Apache License, Version 2.0][7] | +| [Nexus Staging Maven Plugin][35] | [Eclipse Public License][36] | +| [JaCoCo :: Maven Plugin][37] | [Eclipse Public License 2.0][38] | +| [error-code-crawler-maven-plugin][39] | [MIT][5] | +| [ScalaTest Maven Plugin][40] | [the Apache License, ASL Version 2.0][16] | +| [Apache Maven Assembly Plugin][41] | [Apache License, Version 2.0][7] | +| [OpenFastTrace Maven Plugin][42] | [GNU General Public License v3.0][43] | +| [Project keeper maven plugin][44] | [The MIT License][45] | +| [SCoverage Maven Plugin][46] | [The Apache Software License, Version 2.0][9] | +| [Scalastyle Maven Plugin][47] | [Apache 2.0][14] | +| [spotless-maven-plugin][48] | [The Apache Software License, Version 2.0][7] | +| [scalafix-maven-plugin][49] | [BSD-3-Clause][50] | +| [Maven Clean Plugin][51] | [The Apache Software License, Version 2.0][9] | +| [Maven Resources Plugin][52] | [The Apache Software License, Version 2.0][9] | +| [Maven JAR Plugin][53] | [The Apache Software License, Version 2.0][9] | +| [Maven Install Plugin][54] | [The Apache Software License, Version 2.0][9] | +| [Maven Site Plugin 3][55] | [The Apache Software License, Version 2.0][9] | -[54]: https://github.com/exasol/project-keeper-maven-plugin -[18]: https://github.com/scalatest/scalatestplus-mockito -[4]: https://github.com/exasol/error-reporting-java -[9]: http://www.apache.org/licenses/LICENSE-2.0.txt -[58]: http://www.scalastyle.org -[26]: https://maven.apache.org/surefire/maven-surefire-plugin/ -[60]: https://github.com/diffplug/spotless +[0]: https://www.scala-lang.org/ +[1]: https://www.apache.org/licenses/LICENSE-2.0 +[2]: http://www.exasol.com [3]: https://mit-license.org/ +[4]: https://github.com/exasol/error-reporting-java [5]: https://opensource.org/licenses/MIT -[20]: https://github.com/mockito/mockito -[10]: https://github.com/FasterXML/jackson-module-scala -[32]: http://www.mojohaus.org/versions-maven-plugin/ -[24]: https://maven.apache.org/plugins/maven-compiler-plugin/ -[66]: https://maven.apache.org/plugins/maven-resources-plugin/ -[38]: https://github.com/itsallcode/openfasttrace-maven-plugin -[64]: https://maven.apache.org/plugins/maven-clean-plugin/ -[8]: http://github.com/FasterXML/jackson -[42]: https://maven.apache.org/plugins/maven-deploy-plugin/ -[23]: http://unlicense.org/ -[1]: https://www.apache.org/licenses/LICENSE-2.0 -[28]: https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin -[21]: https://github.com/mockito/mockito/blob/main/LICENSE -[50]: http://zlika.github.io/reproducible-build-maven-plugin -[13]: http://www.opensource.org/licenses/mit-license.php -[63]: https://opensource.org/licenses/BSD-3-Clause [6]: https://avro.apache.org -[14]: https://github.com/lightbend/scala-logging -[46]: https://maven.apache.org/plugins/maven-source-plugin/ -[12]: http://www.slf4j.org -[62]: https://github.com/evis/scalafix-maven-plugin -[68]: https://maven.apache.org/plugins/maven-jar-plugin/ -[17]: http://www.apache.org/licenses/LICENSE-2.0 -[44]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ -[15]: http://www.apache.org/licenses/LICENSE-2.0.html -[16]: http://www.scalatest.org -[0]: https://www.scala-lang.org/ -[45]: http://www.eclipse.org/legal/epl-v10.html -[72]: https://maven.apache.org/plugins/maven-site-plugin/ -[39]: https://www.gnu.org/licenses/gpl-3.0.html [7]: https://www.apache.org/licenses/LICENSE-2.0.txt -[36]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ -[2]: http://www.exasol.com -[70]: http://maven.apache.org/plugins/maven-install-plugin/ -[34]: https://sonatype.github.io/ossindex-maven/maven-plugin/ -[56]: https://scoverage.github.io/scoverage-maven-plugin/1.4.11/ -[40]: https://maven.apache.org/plugins/maven-gpg-plugin/ -[22]: http://github.com/davidB/scala-maven-plugin -[48]: https://maven.apache.org/plugins/maven-javadoc-plugin/ -[52]: https://github.com/exasol/error-code-crawler-maven-plugin -[30]: https://maven.apache.org/plugins/maven-assembly-plugin/ +[8]: http://github.com/FasterXML/jackson +[9]: http://www.apache.org/licenses/LICENSE-2.0.txt +[10]: https://github.com/FasterXML/jackson-module-scala +[11]: http://www.slf4j.org +[12]: http://www.opensource.org/licenses/mit-license.php +[13]: https://github.com/lightbend/scala-logging +[14]: http://www.apache.org/licenses/LICENSE-2.0.html +[15]: http://www.scalatest.org +[16]: http://www.apache.org/licenses/LICENSE-2.0 +[17]: https://github.com/scalatest/scalatestplus-mockito +[18]: https://github.com/mockito/mockito +[19]: https://github.com/mockito/mockito/blob/main/LICENSE +[20]: http://sonarsource.github.io/sonar-scanner-maven/ +[21]: http://www.gnu.org/licenses/lgpl.txt +[22]: https://maven.apache.org/plugins/maven-compiler-plugin/ +[23]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ +[24]: https://www.mojohaus.org/flatten-maven-plugin/ +[25]: https://sonatype.github.io/ossindex-maven/maven-plugin/ +[26]: http://zlika.github.io/reproducible-build-maven-plugin +[27]: http://github.com/davidB/scala-maven-plugin +[28]: http://unlicense.org/ +[29]: https://maven.apache.org/surefire/maven-surefire-plugin/ +[30]: http://www.mojohaus.org/versions-maven-plugin/ +[31]: https://maven.apache.org/plugins/maven-deploy-plugin/ +[32]: https://maven.apache.org/plugins/maven-gpg-plugin/ +[33]: https://maven.apache.org/plugins/maven-source-plugin/ +[34]: https://maven.apache.org/plugins/maven-javadoc-plugin/ +[35]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ +[36]: http://www.eclipse.org/legal/epl-v10.html +[37]: https://www.jacoco.org/jacoco/trunk/doc/maven.html +[38]: https://www.eclipse.org/legal/epl-2.0/ +[39]: https://github.com/exasol/error-code-crawler-maven-plugin +[40]: https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin +[41]: https://maven.apache.org/plugins/maven-assembly-plugin/ +[42]: https://github.com/itsallcode/openfasttrace-maven-plugin +[43]: https://www.gnu.org/licenses/gpl-3.0.html +[44]: https://github.com/exasol/project-keeper/ +[45]: https://github.com/exasol/project-keeper/blob/main/LICENSE +[46]: https://scoverage.github.io/scoverage-maven-plugin/1.4.11/ +[47]: http://www.scalastyle.org +[48]: https://github.com/diffplug/spotless +[49]: https://github.com/evis/scalafix-maven-plugin +[50]: https://opensource.org/licenses/BSD-3-Clause +[51]: http://maven.apache.org/plugins/maven-clean-plugin/ +[52]: http://maven.apache.org/plugins/maven-resources-plugin/ +[53]: http://maven.apache.org/plugins/maven-jar-plugin/ +[54]: http://maven.apache.org/plugins/maven-install-plugin/ +[55]: http://maven.apache.org/plugins/maven-site-plugin/ diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index d658aa6..a542f88 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [0.4.1](changes_0.4.1.md) * [0.4.0](changes_0.4.0.md) * [0.3.1](changes_0.3.1.md) * [0.3.0](changes_0.3.0.md) diff --git a/doc/changes/changes_0.4.1.md b/doc/changes/changes_0.4.1.md new file mode 100644 index 0000000..73c1e66 --- /dev/null +++ b/doc/changes/changes_0.4.1.md @@ -0,0 +1,66 @@ +# Import Export UDF Common Scala 0.4.1, released 2022-08-02 + +Code name: Upgrade dependencies to fix vulnerabilities + +## Summary + +This release fixes vulnerabilities in the following dependencies: + +* com.fasterxml.jackson.core:jackson-databind:jar:2.12.5 in compile + * CVE-2020-36518, severity CWE-787: Out-of-bounds Write (7.5) + * [sonatype-2021-4682](https://ossindex.sonatype.org/vulnerability/sonatype-2021-4682), severity CWE-400: Uncontrolled Resource Consumption ('Resource Exhaustion') + +## Bugfixes + +* #33: Upgrade dependencies to fix vulnerabilities + +## Dependency Updates + +### Compile Dependency Updates + +* Added `com.exasol:error-reporting-java:0.4.1` +* Added `com.exasol:exasol-script-api:6.1.7` +* Added `com.fasterxml.jackson.core:jackson-databind:2.12.7` +* Added `com.fasterxml.jackson.module:jackson-module-scala_2.13:2.12.7` +* Added `com.typesafe.scala-logging:scala-logging_2.13:3.9.5` +* Added `org.apache.avro:avro:1.11.1` +* Added `org.scala-lang:scala-library:2.13.8` +* Added `org.slf4j:slf4j-simple:1.7.36` + +### Test Dependency Updates + +* Added `org.mockito:mockito-core:4.6.1` +* Added `org.scalatestplus:scalatestplus-mockito_2.13:1.0.0-M2` +* Added `org.scalatest:scalatest_2.13:3.2.13` + +### Plugin Dependency Updates + +* Added `com.diffplug.spotless:spotless-maven-plugin:2.22.8` +* Added `com.exasol:error-code-crawler-maven-plugin:1.1.1` +* Added `com.exasol:project-keeper-maven-plugin:2.5.0` +* Added `io.github.evis:scalafix-maven-plugin_2.13:0.1.6_0.10.0` +* Added `io.github.zlika:reproducible-build-maven-plugin:0.15` +* Added `net.alchim31.maven:scala-maven-plugin:4.6.3` +* Added `org.apache.maven.plugins:maven-assembly-plugin:3.3.0` +* Added `org.apache.maven.plugins:maven-clean-plugin:2.5` +* Added `org.apache.maven.plugins:maven-compiler-plugin:3.10.1` +* Added `org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1` +* Added `org.apache.maven.plugins:maven-enforcer-plugin:3.0.0` +* Added `org.apache.maven.plugins:maven-gpg-plugin:3.0.1` +* Added `org.apache.maven.plugins:maven-install-plugin:2.4` +* Added `org.apache.maven.plugins:maven-jar-plugin:2.4` +* Added `org.apache.maven.plugins:maven-javadoc-plugin:3.4.0` +* Added `org.apache.maven.plugins:maven-resources-plugin:2.6` +* Added `org.apache.maven.plugins:maven-site-plugin:3.3` +* Added `org.apache.maven.plugins:maven-source-plugin:3.2.1` +* Added `org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5` +* Added `org.codehaus.mojo:flatten-maven-plugin:1.2.7` +* Added `org.codehaus.mojo:versions-maven-plugin:2.10.0` +* Added `org.itsallcode:openfasttrace-maven-plugin:1.4.0` +* Added `org.jacoco:jacoco-maven-plugin:0.8.8` +* Added `org.scalastyle:scalastyle-maven-plugin:1.0.0` +* Added `org.scalatest:scalatest-maven-plugin:2.0.2` +* Added `org.scoverage:scoverage-maven-plugin:1.4.11` +* Added `org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.1.2184` +* Added `org.sonatype.ossindex.maven:ossindex-maven-plugin:3.2.0` +* Added `org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13` diff --git a/doc/development/developer_guide.md b/doc/development/developer_guide.md index 2bed173..716e315 100644 --- a/doc/development/developer_guide.md +++ b/doc/development/developer_guide.md @@ -22,8 +22,7 @@ Please feel free to report a bug, suggest an idea for a feature, or ask a question about the code. You can create an issue using [Github issues][gh-issues] or follow a standard -[fork and pull][fork-and-pull] process to contribute a code via [Github pull -requests][gh-pulls]. +fork and pull process to contribute a code via [Github pull requests][gh-pulls]. If you do not know where to start, please have a look at [open issues][open-issues]. You can choose the ones that interest you the most. If you @@ -179,7 +178,6 @@ Any pull requests to keep this document updated are very much appreciated! [gh-issues]: https://github.com/exasol/import-export-udf-common-scala/issues [gh-pulls]: https://github.com/exasol/import-export-udf-common-scala/pulls -[fork-and-pull]: https://help.github.com/articles/using-pull-requests/ [gh-releases]: https://github.com/exasol/import-export-udf-common-scala/releases [submit-pr]: https://github.com/exasol/import-export-udf-common-scala/compare [open-issues]: https://github.com/exasol/import-export-udf-common-scala/issues diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom new file mode 100644 index 0000000..bcf7402 --- /dev/null +++ b/pk_generated_parent.pom @@ -0,0 +1,290 @@ + + + 4.0.0 + com.exasol + import-export-udf-common-scala-generated-parent + 0.4.1 + pom + + UTF-8 + UTF-8 + 11 + + true + + + + MIT License + https://github.com/exasol/import-export-udf-common-scala/blob/main/LICENSE + repo + + + + + Exasol + opensource@exasol.com + Exasol AG + https://www.exasol.com/ + + + + scm:git:https://github.com/exasol/import-export-udf-common-scala.git + scm:git:https://github.com/exasol/import-export-udf-common-scala.git + https://github.com/exasol/import-export-udf-common-scala/ + + + + + + org.sonarsource.scanner.maven + sonar-maven-plugin + 3.9.1.2184 + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${java.version} + ${java.version} + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.0.0 + + + enforce-maven + + enforce + + + + + 3.6.3 + + + + + + + + org.codehaus.mojo + flatten-maven-plugin + 1.2.7 + + true + oss + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + + org.sonatype.ossindex.maven + ossindex-maven-plugin + 3.2.0 + + + audit + package + + audit + + + + + + io.github.zlika + reproducible-build-maven-plugin + 0.15 + + + strip-jar + package + + strip-jar + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + + + -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} + ${test.excludeTags} + + + + org.codehaus.mojo + versions-maven-plugin + 2.10.0 + + + display-updates + package + + display-plugin-updates + display-dependency-updates + + + + + file:///${project.basedir}/versionsMavenPluginRules.xml + + + + org.apache.maven.plugins + maven-deploy-plugin + 3.0.0-M1 + + true + + + + org.apache.maven.plugins + maven-gpg-plugin + 3.0.1 + + + sign-artifacts + verify + + sign + + + + --pinentry-mode + loopback + + + + + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + attach-sources + + jar + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.4.0 + + + attach-javadocs + + jar + + + + + UTF-8 + + true + true + true + + + + org.sonatype.plugins + nexus-staging-maven-plugin + 1.6.13 + + true + ossrh + https://oss.sonatype.org/ + + + + default-deploy + deploy + + deploy + + + + + + org.jacoco + jacoco-maven-plugin + 0.8.8 + + + prepare-agent + + prepare-agent + + + + merge-results + verify + + merge + + + + + ${project.build.directory}/ + + jacoco*.exec + + + + ${project.build.directory}/aggregate.exec + + + + report + verify + + report + + + ${project.build.directory}/aggregate.exec + + + + + + com.exasol + error-code-crawler-maven-plugin + 1.1.1 + + + verify + + verify + + + + + + + diff --git a/pom.xml b/pom.xml index 03cb7fe..d32697d 100644 --- a/pom.xml +++ b/pom.xml @@ -3,47 +3,24 @@ 4.0.0 com.exasol import-export-udf-common-scala - 0.4.0 + 0.4.1 Import Export UDF Common Scala Common import export libraries used in Exasol user defined functions - https://github.com/exasol/import-export-udf-common-scala + https://github.com/exasol/import-export-udf-common-scala/ - UTF-8 - UTF-8 - 11 6.1.7 0.4.1 - 1.11.0 - 2.12.5 - 3.9.4 + 1.11.1 + + 2.12.7 + 3.9.5 1.7.36 - 3.2.10 + 3.2.13 1.0.0-M2 - 4.3.1 - true + 4.6.1 - - - MIT - https://opensource.org/licenses/MIT - repo - - - - - Exasol - opensource@exasol.com - Exasol AG - https://www.exasol.com/ - - - - scm:git:https://github.com/exasol/import-export-udf-common-scala.git - scm:git:https://github.com/exasol/import-export-udf-common-scala.git - https://github.com/exasol/import-export-udf-common-scala/tree/main - ossrh @@ -169,7 +146,7 @@ net.alchim31.maven scala-maven-plugin - 4.5.6 + 4.6.3 scala-compile-first @@ -237,34 +214,11 @@ - - org.apache.maven.plugins - maven-compiler-plugin - 3.10.0 - - ${java.version} - ${java.version} - - - - compile - - compile - - - - org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M4 true - - -Djava.util.logging.config.file=src/test/resources/logging.properties ${argLine} @@ -311,56 +265,6 @@ - - org.codehaus.mojo - versions-maven-plugin - 2.9.0 - - - package - - display-plugin-updates - display-dependency-updates - - - - - file:///${project.basedir}/versionsMavenPluginRules.xml - - - - org.sonatype.ossindex.maven - ossindex-maven-plugin - 3.2.0 - - - package - - audit - - - - - - org.apache.maven.plugins - maven-enforcer-plugin - 3.0.0 - - - enforce-maven - - enforce - - - - - 3.6.3 - - - - - - org.itsallcode openfasttrace-maven-plugin @@ -379,117 +283,10 @@ true - - org.apache.maven.plugins - maven-gpg-plugin - 3.0.1 - - - sign-artifacts - verify - - sign - - - - --pinentry-mode - loopback - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - 3.0.0-M1 - - true - - - - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.8 - - true - ossrh - https://oss.sonatype.org/ - - - - default-deploy - deploy - - deploy - - - - - - org.apache.maven.plugins - maven-source-plugin - 3.2.1 - - - attach-sources - - jar - - - - - - org.apache.maven.plugins - maven-javadoc-plugin - 3.3.2 - - - attach-javadocs - - jar - - - - - UTF-8 - - true - true - true - ${project.basedir}/src/main/java - - - - io.github.zlika - reproducible-build-maven-plugin - 0.15 - - - strip-jar - package - - strip-jar - - - - - - com.exasol - error-code-crawler-maven-plugin - 1.0.0 - - - - verify - - - - com.exasol project-keeper-maven-plugin - 1.3.4 + 2.5.0 @@ -497,35 +294,6 @@ - - - maven_central - - - org.jacoco:jacoco-maven-plugin - - - README.md - .github/workflows/release_droid*.yml - - - - LICENSE-exasol-script-api.txt|https://mit-license.org/ - - - https://github.com/google/guava/guava|https://github.com/google/guava - - - http://wiki.fasterxml.com/JacksonModuleScala|https://github.com/FasterXML/jackson-module-scala - - - http://nexus.sonatype.org/oss-repository-hosting.html|https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin - - - http://nexus.sonatype.org/oss-repository-hosting.html/scalatest-maven-plugin|https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin - - - org.scoverage @@ -563,7 +331,7 @@ com.diffplug.spotless spotless-maven-plugin - 2.20.2 + 2.22.8 @@ -582,7 +350,7 @@ io.github.evis scalafix-maven-plugin_${scala.compat.version} - 0.1.4_0.9.33 + 0.1.6_0.10.0 com.github.liancheng @@ -592,7 +360,12 @@ com.github.vovapolu scaluzzi_${scala.compat.version} - 0.1.21 + 0.1.23 + + + com.geirsson + metaconfig-pprint_${scala.compat.version} + 0.10.0 @@ -600,30 +373,6 @@ - - - - maven-clean-plugin - 3.1.0 - - - maven-install-plugin - 2.5.2 - - - maven-jar-plugin - 3.2.2 - - - maven-resources-plugin - 3.2.0 - - - maven-site-plugin - 3.11.0 - - - @@ -644,4 +393,10 @@ - + + import-export-udf-common-scala-generated-parent + com.exasol + 0.4.1 + pk_generated_parent.pom + + \ No newline at end of file diff --git a/release_config.yml b/release_config.yml new file mode 100644 index 0000000..44dac34 --- /dev/null +++ b/release_config.yml @@ -0,0 +1,3 @@ +release-platforms: + - GitHub + - Maven