diff --git a/.gitattributes b/.gitattributes index 4c0b747..d63e482 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,12 +1,13 @@ *.sh text eol=lf .github/workflows/release_droid_upload_github_release_assets.yml linguist-generated=true -.github/workflows/release_droid_prepare_original_checksum.yml linguist-generated=true -.github/workflows/release_droid_print_quick_checksum.yml linguist-generated=true -.github/workflows/ci-build-next-java.yml linguist-generated=true -.github/workflows/broken_links_checker.yml linguist-generated=true -.github/workflows/dependencies_check.yml linguist-generated=true -.settings/org.eclipse.jdt.core.prefs linguist-generated=true -dependencies.md linguist-generated=true -pk_generated_parent.pom linguist-generated=true -doc/changes/changelog.md linguist-generated=true +.github/workflows/release_droid_prepare_original_checksum.yml linguist-generated=true +.github/workflows/release_droid_print_quick_checksum.yml linguist-generated=true +.github/workflows/ci-build.yml linguist-generated=true +.github/workflows/ci-build-next-java.yml linguist-generated=true +.github/workflows/broken_links_checker.yml linguist-generated=true +.github/workflows/dependencies_check.yml linguist-generated=true +.settings/org.eclipse.jdt.core.prefs linguist-generated=true +dependencies.md linguist-generated=true +pk_generated_parent.pom linguist-generated=true +doc/changes/changelog.md linguist-generated=true diff --git a/.github/workflows/ci-build-lint.yml b/.github/workflows/ci-build-lint.yml new file mode 100644 index 0000000..3287270 --- /dev/null +++ b/.github/workflows/ci-build-lint.yml @@ -0,0 +1,29 @@ +name: CI Build Scala Linter +on: + push: + branches: + - main + pull_request: + +jobs: + scala-linter: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set up JDK 11 + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: 11 + cache: "maven" + - name: Run scalafix linting + run: | + mvn --batch-mode clean compile test scalafix:scalafix \ + -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ + -DtrimStackTrace=false diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 0d589f6..d19ee2a 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.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.yml name: CI Build - on: push: branches: @@ -13,16 +14,23 @@ jobs: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true steps: + - name: Free Disk Space + if: ${{ false }} + run: | + sudo rm -rf /usr/local/lib/android + sudo rm -rf /usr/share/dotnet - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Set up JDK 11 + - name: Set up JDK 11 & 17 uses: actions/setup-java@v3 with: - distribution: 'temurin' - java-version: 11 - cache: 'maven' + distribution: "temurin" + java-version: | + 17 + 11 + cache: "maven" - name: Cache SonarCloud packages uses: actions/cache@v3 with: @@ -31,14 +39,9 @@ jobs: restore-keys: ${{ runner.os }}-sonar - name: Enable testcontainer reuse run: echo 'testcontainers.reuse.enable=true' > "$HOME/.testcontainers.properties" - - name: Run scalafix linting - run: | - mvn --batch-mode clean compile test scalafix:scalafix \ - -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ - -DtrimStackTrace=false - name: Run tests and build with Maven run: | - mvn --batch-mode clean verify \ + JAVA_HOME=$JAVA_HOME_11_X64 mvn --batch-mode clean verify \ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ -DtrimStackTrace=false - name: Publish Test Report @@ -49,12 +52,12 @@ jobs: - name: Sonar analysis if: ${{ env.SONAR_TOKEN != null }} run: | - mvn --batch-mode org.sonarsource.scanner.maven:sonar-maven-plugin:sonar \ + JAVA_HOME=$JAVA_HOME_17_X64 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.login=$SONAR_TOKEN + -Dsonar.token=$SONAR_TOKEN env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.github/workflows/release_droid_release_on_maven_central.yml b/.github/workflows/release_droid_release_on_maven_central.yml index 600b10a..592434f 100644 --- a/.github/workflows/release_droid_release_on_maven_central.yml +++ b/.github/workflows/release_droid_release_on_maven_central.yml @@ -8,15 +8,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - name: Set up Maven Central Repository - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: - distribution: 'temurin' + distribution: "temurin" java-version: 11 - cache: 'maven' + cache: "maven" server-id: ossrh server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD @@ -33,4 +33,4 @@ jobs: MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} MAVEN_GPG_PASSPHRASE: ${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} - name: Remove release pom file - run: rm -rf release-pom.xml \ No newline at end of file + run: rm -rf release-pom.xml diff --git a/.project-keeper.yml b/.project-keeper.yml index cc88516..766419b 100644 --- a/.project-keeper.yml +++ b/.project-keeper.yml @@ -4,11 +4,9 @@ sources: 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/release_droid_release_on_maven_central.yml'" diff --git a/dependencies.md b/dependencies.md index 712d01a..1e7e9ec 100644 --- a/dependencies.md +++ b/dependencies.md @@ -32,25 +32,24 @@ | [Apache Maven Enforcer Plugin][23] | [Apache-2.0][7] | | [Maven Flatten Plugin][24] | [Apache Software Licenese][7] | | [ScalaTest Maven Plugin][25] | [the Apache License, ASL Version 2.0][15] | -| [Apache Maven Assembly Plugin][26] | [Apache License, Version 2.0][7] | -| [OpenFastTrace Maven Plugin][27] | [GNU General Public License v3.0][28] | -| [Project keeper maven plugin][29] | [The MIT License][30] | -| [Scalastyle Maven Plugin][31] | [Apache 2.0][13] | -| [spotless-maven-plugin][32] | [The Apache Software License, Version 2.0][7] | -| [org.sonatype.ossindex.maven:ossindex-maven-plugin][33] | [ASL2][34] | -| [scala-maven-plugin][35] | [Public domain (Unlicense)][36] | -| [Maven Surefire Plugin][37] | [Apache-2.0][7] | -| [Versions Maven Plugin][38] | [Apache License, Version 2.0][7] | -| [duplicate-finder-maven-plugin Maven Mojo][39] | [Apache License 2.0][13] | -| [Apache Maven Deploy Plugin][40] | [Apache-2.0][7] | -| [Apache Maven GPG Plugin][41] | [Apache-2.0][7] | -| [Apache Maven Source Plugin][42] | [Apache License, Version 2.0][7] | -| [Apache Maven Javadoc Plugin][43] | [Apache-2.0][7] | -| [Nexus Staging Maven Plugin][44] | [Eclipse Public License][45] | -| [JaCoCo :: Maven Plugin][46] | [Eclipse Public License 2.0][47] | -| [error-code-crawler-maven-plugin][48] | [MIT License][49] | -| [Reproducible Build Maven Plugin][50] | [Apache 2.0][34] | -| [scalafix-maven-plugin][51] | [BSD-3-Clause][52] | +| [OpenFastTrace Maven Plugin][26] | [GNU General Public License v3.0][27] | +| [Project Keeper Maven plugin][28] | [The MIT License][29] | +| [Scalastyle Maven Plugin][30] | [Apache 2.0][13] | +| [spotless-maven-plugin][31] | [The Apache Software License, Version 2.0][7] | +| [org.sonatype.ossindex.maven:ossindex-maven-plugin][32] | [ASL2][33] | +| [scala-maven-plugin][34] | [Public domain (Unlicense)][35] | +| [Maven Surefire Plugin][36] | [Apache-2.0][7] | +| [Versions Maven Plugin][37] | [Apache License, Version 2.0][7] | +| [duplicate-finder-maven-plugin Maven Mojo][38] | [Apache License 2.0][13] | +| [Apache Maven Deploy Plugin][39] | [Apache-2.0][7] | +| [Apache Maven GPG Plugin][40] | [Apache-2.0][7] | +| [Apache Maven Source Plugin][41] | [Apache License, Version 2.0][7] | +| [Apache Maven Javadoc Plugin][42] | [Apache-2.0][7] | +| [Nexus Staging Maven Plugin][43] | [Eclipse Public License][44] | +| [JaCoCo :: Maven Plugin][45] | [Eclipse Public License 2.0][46] | +| [error-code-crawler-maven-plugin][47] | [MIT License][48] | +| [Reproducible Build Maven Plugin][49] | [Apache 2.0][33] | +| [scalafix-maven-plugin][50] | [BSD-3-Clause][51] | [0]: https://www.scala-lang.org/ [1]: https://www.apache.org/licenses/LICENSE-2.0 @@ -78,30 +77,29 @@ [23]: https://maven.apache.org/enforcer/maven-enforcer-plugin/ [24]: https://www.mojohaus.org/flatten-maven-plugin/ [25]: https://www.scalatest.org/user_guide/using_the_scalatest_maven_plugin -[26]: https://maven.apache.org/plugins/maven-assembly-plugin/ -[27]: https://github.com/itsallcode/openfasttrace-maven-plugin -[28]: https://www.gnu.org/licenses/gpl-3.0.html -[29]: https://github.com/exasol/project-keeper/ -[30]: https://github.com/exasol/project-keeper/blob/main/LICENSE -[31]: http://www.scalastyle.org -[32]: https://github.com/diffplug/spotless -[33]: https://sonatype.github.io/ossindex-maven/maven-plugin/ -[34]: http://www.apache.org/licenses/LICENSE-2.0.txt -[35]: http://github.com/davidB/scala-maven-plugin -[36]: http://unlicense.org/ -[37]: https://maven.apache.org/surefire/maven-surefire-plugin/ -[38]: https://www.mojohaus.org/versions/versions-maven-plugin/ -[39]: https://basepom.github.io/duplicate-finder-maven-plugin -[40]: https://maven.apache.org/plugins/maven-deploy-plugin/ -[41]: https://maven.apache.org/plugins/maven-gpg-plugin/ -[42]: https://maven.apache.org/plugins/maven-source-plugin/ -[43]: https://maven.apache.org/plugins/maven-javadoc-plugin/ -[44]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ -[45]: http://www.eclipse.org/legal/epl-v10.html -[46]: https://www.jacoco.org/jacoco/trunk/doc/maven.html -[47]: https://www.eclipse.org/legal/epl-2.0/ -[48]: https://github.com/exasol/error-code-crawler-maven-plugin/ -[49]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE -[50]: http://zlika.github.io/reproducible-build-maven-plugin -[51]: https://github.com/evis/scalafix-maven-plugin -[52]: https://opensource.org/licenses/BSD-3-Clause +[26]: https://github.com/itsallcode/openfasttrace-maven-plugin +[27]: https://www.gnu.org/licenses/gpl-3.0.html +[28]: https://github.com/exasol/project-keeper/ +[29]: https://github.com/exasol/project-keeper/blob/main/LICENSE +[30]: http://www.scalastyle.org +[31]: https://github.com/diffplug/spotless +[32]: https://sonatype.github.io/ossindex-maven/maven-plugin/ +[33]: http://www.apache.org/licenses/LICENSE-2.0.txt +[34]: http://github.com/davidB/scala-maven-plugin +[35]: http://unlicense.org/ +[36]: https://maven.apache.org/surefire/maven-surefire-plugin/ +[37]: https://www.mojohaus.org/versions/versions-maven-plugin/ +[38]: https://basepom.github.io/duplicate-finder-maven-plugin +[39]: https://maven.apache.org/plugins/maven-deploy-plugin/ +[40]: https://maven.apache.org/plugins/maven-gpg-plugin/ +[41]: https://maven.apache.org/plugins/maven-source-plugin/ +[42]: https://maven.apache.org/plugins/maven-javadoc-plugin/ +[43]: http://www.sonatype.com/public-parent/nexus-maven-plugins/nexus-staging/nexus-staging-maven-plugin/ +[44]: http://www.eclipse.org/legal/epl-v10.html +[45]: https://www.jacoco.org/jacoco/trunk/doc/maven.html +[46]: https://www.eclipse.org/legal/epl-2.0/ +[47]: https://github.com/exasol/error-code-crawler-maven-plugin/ +[48]: https://github.com/exasol/error-code-crawler-maven-plugin/blob/main/LICENSE +[49]: http://zlika.github.io/reproducible-build-maven-plugin +[50]: https://github.com/evis/scalafix-maven-plugin +[51]: https://opensource.org/licenses/BSD-3-Clause diff --git a/doc/changes/changelog.md b/doc/changes/changelog.md index be007cb..92b0682 100644 --- a/doc/changes/changelog.md +++ b/doc/changes/changelog.md @@ -1,5 +1,6 @@ # Changes +* [2.0.0](changes_2.0.0.md) * [1.1.2](changes_1.1.2.md) * [1.1.1](changes_1.1.1.md) * [1.1.0](changes_1.1.0.md) diff --git a/doc/changes/changes_2.0.0.md b/doc/changes/changes_2.0.0.md new file mode 100644 index 0000000..bccd41c --- /dev/null +++ b/doc/changes/changes_2.0.0.md @@ -0,0 +1,19 @@ +# Import Export UDF Common Scala 2.0.0, released 2023-12-06 + +Code name: Remove dependencies from JAR + +## Summary + +Previous releases of this project contained all dependencies in the published JAR file (i.e. fat JAR). This project is a library that is used in other projects and should not contain dependencies in the JAR, so we removed them. + +## Bugfixes + +* #54: Removed dependencies from published JAR + +## Dependency Updates + +### Plugin Dependency Updates + +* Updated `com.exasol:project-keeper-maven-plugin:2.9.16` to `2.9.17` +* Removed `org.apache.maven.plugins:maven-assembly-plugin:3.5.0` +* Updated `org.codehaus.mojo:versions-maven-plugin:2.16.1` to `2.16.2` diff --git a/pk_generated_parent.pom b/pk_generated_parent.pom index 359b218..fed8f0f 100644 --- a/pk_generated_parent.pom +++ b/pk_generated_parent.pom @@ -3,7 +3,7 @@ 4.0.0 com.exasol import-export-udf-common-scala-generated-parent - 1.1.2 + 2.0.0 pom UTF-8 @@ -138,7 +138,7 @@ org.codehaus.mojo versions-maven-plugin - 2.16.1 + 2.16.2 display-updates diff --git a/pom.xml b/pom.xml index 24d2315..4cb77e7 100644 --- a/pom.xml +++ b/pom.xml @@ -2,14 +2,14 @@ 4.0.0 import-export-udf-common-scala - 1.1.2 + 2.0.0 Import Export UDF Common Scala Common import export libraries used in Exasol user defined functions https://github.com/exasol/import-export-udf-common-scala/ import-export-udf-common-scala-generated-parent com.exasol - 1.1.2 + 2.0.0 pk_generated_parent.pom @@ -229,31 +229,6 @@ - - org.apache.maven.plugins - maven-assembly-plugin - 3.5.0 - - - src/assembly/all-dependencies.xml - - false - - - true - - - - - - make-assembly - package - - single - - - - org.itsallcode openfasttrace-maven-plugin @@ -275,7 +250,7 @@ com.exasol project-keeper-maven-plugin - 2.9.16 + 2.9.17 diff --git a/src/assembly/all-dependencies.xml b/src/assembly/all-dependencies.xml deleted file mode 100644 index efe5abc..0000000 --- a/src/assembly/all-dependencies.xml +++ /dev/null @@ -1,22 +0,0 @@ - - all-dependencies - - jar - - false - - - - metaInf-services - - - - - true - runtime - / - - -