diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 28c6cce..69573e9 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -13,23 +13,22 @@ on: jobs: - macos-build: runs-on: ${{ matrix.os }} strategy: matrix: jarch: [ aarch64, x86_64 ] - os: [ macos-12, macos-latest ] - java: [ '8', '9', '11', '15', '17', '20' ] + os: [ macos-15, macos-latest ] + java: [ '8', '11', '15', '17', '20', '25' ] steps: - name: Set up Doxygen run: brew install doxygen - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} architecture: x64 @@ -48,35 +47,46 @@ jobs: uses: codecov/codecov-action@v2 with: token: ${{ secrets.CODECOV_TOKEN }} - if: matrix.os == 'macos-12' && matrix.java == '9' && matrix.jarch == 'x86_64' + if: matrix.os == 'macos-15' && matrix.java == '9' && matrix.jarch == 'x86_64' - name: Build tagtraum site run: | mvn --no-transfer-progress \ --batch-mode \ - --activate-profiles ffsampledsp-x86_64-macos \ + --activate-profiles ffsampledsp-aarch64-macos \ --file pom.xml \ clean install site:site - if: matrix.os == 'macos-12' && matrix.java == '9' && matrix.jarch == 'x86_64' + if: matrix.os == 'macos-15' && matrix.java == '9' && matrix.jarch == 'x86_64' windows-build: - runs-on: windows-2019 + runs-on: windows-latest strategy: matrix: arch: [x64, x86] - java: [ '8', '9', '11', '15', '17' ] + java: ['8', '11', '15', '17', '25'] + include: - arch: x64 jarch: x86_64 sys: mingw64 env: x86_64 + - arch: x86 jarch: i386 sys: mingw32 env: i686 + exclude: + # ❌ 32-bit Windows + modern Java is not supported + - arch: x86 + java: '15' + - arch: x86 + java: '17' + - arch: x86 + java: '25' + defaults: run: shell: msys2 {0} @@ -87,14 +97,14 @@ jobs: install: mingw-w64-${{ matrix.env }}-toolchain path-type: inherit - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up Doxygen run: | pacman --noconfirm -S mingw-w64-${{ matrix.env}}-doxygen - name: Set up Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} architecture: ${{ matrix.arch }} @@ -121,8 +131,8 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04, ubuntu-latest ] - java: [ '8', '9', '11', '15', '17', '20' ] + os: [ ubuntu-22.04, ubuntu-latest ] + java: [ '8', '11', '15', '17', '20', '25' ] arch: [ x64, aarch64 ] include: - arch: x64 @@ -138,12 +148,12 @@ jobs: sudo apt-get update sudo apt-get install -y g++-aarch64-linux-gnu gcc-aarch64-linux-gnu crossbuild-essential-arm64 - - name: Set up Doxygen - run: sudo apt-get install -y doxygen - - - uses: actions/checkout@v2 + - name: Set up Doxygen and native build dependencies + run: sudo apt-get install -y doxygen libbz2-dev zlib1g-dev + + - uses: actions/checkout@v6 - name: Set up Java - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: ${{ matrix.java }} distribution: 'zulu' diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 93a878a..e39cc56 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -26,7 +26,7 @@ jobs: windows-x64-build: - runs-on: windows-2019 + runs-on: windows-latest defaults: run: shell: msys2 {0} @@ -46,16 +46,16 @@ jobs: cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import gpg --list-secret-keys --keyid-format LONG - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x64 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -65,7 +65,7 @@ jobs: mvn --activate-profiles ffsampledsp-x86_64-win --batch-mode install --file pom.xml - run: mkdir nativelibs && cp ffsampledsp-x86_64-win/target/*.dll nativelibs - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: nativelibs-x64-win path: nativelibs @@ -74,8 +74,8 @@ jobs: - id: publish-native-lib-to-central name: Publish to Central Repository env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -90,7 +90,7 @@ jobs: windows-x86-build: - runs-on: windows-2019 + runs-on: windows-latest defaults: run: shell: msys2 {0} @@ -110,16 +110,16 @@ jobs: cat <(echo -e "${{ secrets.OSSRH_GPG_SECRET_KEY }}") | gpg --batch --import gpg --list-secret-keys --keyid-format LONG - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x86 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -128,7 +128,7 @@ jobs: mvn --activate-profiles ffsampledsp-i386-win --no-transfer-progress --batch-mode install --file pom.xml - run: mkdir nativelibs && cp ffsampledsp-i386-win/target/*.dll nativelibs - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: nativelibs-x86-win path: nativelibs @@ -137,8 +137,8 @@ jobs: - id: publish-native-lib-to-central name: Publish to Central Repository env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -153,13 +153,13 @@ jobs: linux-x64-build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - name: Set up Doxygen - run: sudo apt-get install -y doxygen + - name: Set up Doxygen and native build dependencies + run: sudo apt-get install -y doxygen libbz2-dev zlib1g-dev - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - id: install-secret-key name: Install gpg secret key @@ -168,13 +168,13 @@ jobs: gpg --list-secret-keys --keyid-format LONG - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x64 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -182,7 +182,7 @@ jobs: run: mvn --activate-profiles ffsampledsp-x86_64-linux --no-transfer-progress --batch-mode install --file pom.xml - run: mkdir nativelibs && cp ffsampledsp-x86_64-linux/target/*.so nativelibs - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: nativelibs-x86-linux path: nativelibs @@ -191,8 +191,8 @@ jobs: - id: publish-native-lib-to-central name: Publish to Central Repository env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -218,7 +218,7 @@ jobs: - name: Set up Doxygen run: sudo apt-get install -y doxygen - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - id: install-secret-key name: Install gpg secret key @@ -227,13 +227,13 @@ jobs: gpg --list-secret-keys --keyid-format LONG - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x64 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -241,7 +241,7 @@ jobs: run: mvn --activate-profiles ffsampledsp-aarch64-linux --no-transfer-progress --batch-mode install -Dmaven.test.skip=true --file pom.xml - run: mkdir nativelibs && cp ffsampledsp-aarch64-linux/target/*.so nativelibs - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: nativelibs-aarch64-linux path: nativelibs @@ -250,8 +250,8 @@ jobs: - id: publish-native-lib-to-central name: Publish to Central Repository env: - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -285,16 +285,16 @@ jobs: security import certificate.p12 -k build.keychain -P "${{ secrets.MACOS_CERTIFICATE_PWD }}" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k my_secret build.keychain - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x64 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -302,7 +302,7 @@ jobs: run: mvn --activate-profiles ffsampledsp-aarch64-macos,sign --batch-mode install --file pom.xml -Dmaven.test.skip=true - run: mkdir nativelibs && cp ffsampledsp-aarch64-macos/target/*.dylib nativelibs - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v7 with: name: nativelibs-aarch64-macos path: nativelibs @@ -313,8 +313,8 @@ jobs: env: MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -348,16 +348,16 @@ jobs: security import certificate.p12 -k build.keychain -P "${{ secrets.MACOS_CERTIFICATE_PWD }}" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k my_secret build.keychain - - uses: actions/checkout@v2 + - uses: actions/checkout@v6 - name: Set up publication to Maven Central - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' architecture: x64 - server-id: ossrh - server-username: MAVEN_USERNAME - server-password: MAVEN_PASSWORD + server-id: central + server-username: SONATYPE_USERNAME + server-password: SONATYPE_PASSWORD distribution: 'zulu' cache: 'maven' @@ -365,31 +365,31 @@ jobs: run: mkdir -p ffsampledsp-complete/target/classes/ - name: Get Linux x86 native lib - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v8 with: name: nativelibs-x86-linux path: ffsampledsp-complete/target/classes/ - name: Get Linux arm64 native lib - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v8 with: name: nativelibs-aarch64-linux path: ffsampledsp-complete/target/classes/ - name: Get macOS aarch64 native lib - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v8 with: name: nativelibs-aarch64-macos path: ffsampledsp-complete/target/classes/ - name: Get Windows x86 native lib - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v8 with: name: nativelibs-x86-win path: ffsampledsp-complete/target/classes/ - name: Get Windows x64 native lib - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v8 with: name: nativelibs-x64-win path: ffsampledsp-complete/target/classes/ @@ -399,8 +399,8 @@ jobs: env: MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }} MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }} - MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} + SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} GPG_TTY: $(tty) run: | mvn \ @@ -418,7 +418,7 @@ jobs: folder: ffsampledsp-complete/target/apidocs/ - name: Set up publication to tagtraum - uses: actions/setup-java@v2 + uses: actions/setup-java@v5 with: java-version: '8' server-id: tagtraum-site diff --git a/pom.xml b/pom.xml index c93808a..eb5d6c0 100644 --- a/pom.xml +++ b/pom.xml @@ -19,8 +19,8 @@ - tagtraum industries incorporated - https://www.tagtraum.com/ + Jalulo UG (haftungsbeschränkt) + https://jalulo.eu/ @@ -28,9 +28,9 @@ hendrik Hendrik Schreiber hs@tagtraum.com - https://www.tagtraum.com/ - tagtraum industries incorporated - https://www.tagtraum.com/ + https://jalulo.eu/ + Jalulo UG (haftungsbeschränkt) + https://jalulo.eu/ creator @@ -94,7 +94,7 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.5 + 3.9.0 @@ -112,7 +112,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.5.0 + 3.12.0 @@ -144,17 +144,17 @@ org.apache.maven.plugins maven-gpg-plugin - 3.0.1 + 3.2.8 org.apache.maven.plugins maven-resources-plugin - 3.2.0 + 3.5.0 org.apache.maven.plugins maven-enforcer-plugin - 3.0.0 + 3.6.2 org.jacoco @@ -164,12 +164,12 @@ org.apache.maven.plugins maven-surefire-plugin - 3.0.0-M5 + 3.5.5 org.apache.maven.plugins maven-dependency-plugin - 2.10 + 3.10.0 org.codehaus.mojo @@ -179,47 +179,47 @@ org.codehaus.mojo build-helper-maven-plugin - 3.0.0 + 3.6.1 org.apache.maven.plugins maven-compiler-plugin - 3.11.0 + 3.15.0 org.apache.maven.plugins maven-javadoc-plugin - 3.5.0 + 3.12.0 org.apache.maven.plugins maven-antrun-plugin - 3.1.0 + 3.2.0 org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.4.0 org.apache.maven.plugins maven-site-plugin - 3.12.0 + 3.21.0 org.apache.maven.plugins maven-project-info-reports-plugin - 3.4.5 + 3.9.0 org.apache.maven.plugins maven-deploy-plugin - 2.8.2 + 3.1.4 org.apache.maven.plugins maven-release-plugin - 2.5.3 + 3.3.1 @@ -627,6 +627,7 @@ org.apache.maven.plugins maven-gpg-plugin + 3.2.8 sign-artifacts @@ -636,17 +637,21 @@ + + + --pinentry-mode + loopback + + - org.sonatype.plugins - nexus-staging-maven-plugin - 1.6.13 + org.sonatype.central + central-publishing-maven-plugin + 0.10.0 true - ossrh - https://oss.sonatype.org/ - true - 30 + central + true