diff --git a/.github/workflows/deployment-arm64.yml b/.github/workflows/deployment-arm64.yml index 9105597c42f..a9bcd858fe0 100644 --- a/.github/workflows/deployment-arm64.yml +++ b/.github/workflows/deployment-arm64.yml @@ -58,13 +58,13 @@ jobs: - name: Run GitVersion id: gitversion uses: gittools/actions/gitversion/execute@v0.10.2 - - name: Set up JDK + - name: Setup JDK uses: actions/setup-java@v3 with: java-version: 20 distribution: 'temurin' cache: 'gradle' - - name: setup jdk JabRef-fix mac + - name: Setup JDK jabref-fix macOS shell: bash run: | mkdir ${{runner.temp}}/jdk @@ -81,7 +81,7 @@ jobs: - name: Clean up keychain run: | security delete-keychain signing_temp.keychain ${{runner.temp}}/keychain/notarization.keychain || true - - name: Setup OSX key chain on OSX + - name: Setup OSX key chain on macOS uses: apple-actions/import-codesign-certs@v2 with: p12-file-base64: ${{ secrets.OSX_SIGNING_CERT }} @@ -99,9 +99,9 @@ jobs: mkdir ${{runner.temp}}/keychain security create-keychain -p jabref ${{runner.temp}}/keychain/notarization.keychain security set-keychain-settings ${{runner.temp}}/keychain/notarization.keychain - - name: Prepare merged jars and modules dir (macos) + - name: Prepare merged jars and modules dir (macOS) run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" prepareModulesDir - - name: Build dmg (macos) + - name: Build dmg (macOS) shell: bash run: | ${{env.JDK21}}/Contents/Home/bin/jpackage \ @@ -113,8 +113,8 @@ jobs: --app-version ${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }} \ --verbose \ --mac-sign \ - --vendor JabRef \ - --mac-package-identifier Jabref \ + --vendor "JabRef e.V." \ + --mac-package-identifier JabRef \ --mac-package-name JabRef \ --type dmg --mac-signing-key-user-name "JabRef e.V. (6792V39SK3)" \ --mac-package-signing-prefix org.jabref \ @@ -123,7 +123,7 @@ jobs: --resource-dir buildres/mac \ --file-associations buildres/mac/bibtexAssociations.properties \ --jlink-options --bind-services - - name: Build pkg (macos) + - name: Build pkg (macOS) shell: bash run: | ${{env.JDK21}}/Contents/Home/bin/jpackage \ @@ -135,8 +135,8 @@ jobs: --app-version ${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }} \ --verbose \ --mac-sign \ - --vendor JabRef \ - --mac-package-identifier Jabref \ + --vendor "JabRef e.V." \ + --mac-package-identifier JabRef \ --mac-package-name JabRef \ --type pkg --mac-signing-key-user-name "JabRef e.V. (6792V39SK3)" \ --mac-package-signing-prefix org.jabref \ @@ -148,22 +148,22 @@ jobs: - name: Rename files with arm64 suffix as well shell: bash run: | - mv build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg - mv build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg + mv build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg + mv build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg - name: Notarize dmg if: (startsWith(github.ref, 'refs/tags/') || (${{ inputs.notarization }})) shell: bash run: | xcrun notarytool store-credentials "notarytool-profile" --apple-id "vorstand@jabref.org" --team-id "6792V39SK3" --password "${{ secrets.OSX_NOTARIZATION_APP_PWD }}" --keychain ${{runner.temp}}/keychain/notarization.keychain - xcrun notarytool submit build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg --keychain-profile "notarytool-profile" --keychain ${{runner.temp}}/keychain/notarization.keychain --wait - xcrun stapler staple build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg + xcrun notarytool submit build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg --keychain-profile "notarytool-profile" --keychain ${{runner.temp}}/keychain/notarization.keychain --wait + xcrun stapler staple build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.dmg - name: Notarize pkg if: (startsWith(github.ref, 'refs/tags/') || (${{ inputs.notarization }})) shell: bash run: | xcrun notarytool store-credentials "notarytool-profile" --apple-id "vorstand@jabref.org" --team-id "6792V39SK3" --password "${{ secrets.OSX_NOTARIZATION_APP_PWD }}" --keychain ${{runner.temp}}/keychain/notarization.keychain - xcrun notarytool submit build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg --keychain-profile "notarytool-profile" --keychain ${{runner.temp}}/keychain/notarization.keychain --wait - xcrun stapler staple build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg + xcrun notarytool submit build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg --keychain-profile "notarytool-profile" --keychain ${{runner.temp}}/keychain/notarization.keychain --wait + xcrun stapler staple build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-arm64.pkg - name: Upload with rsync if: ${{ !startsWith(github.ref, 'refs/heads/gh-readonly-queue') }} shell: bash @@ -178,5 +178,5 @@ jobs: if: ${{ !startsWith(github.ref, 'refs/heads/gh-readonly-queue') }} uses: actions/upload-artifact@v3 with: - name: JabRef-${{ matrix.displayName }} + name: jabref-${{ matrix.displayName }} path: build/distribution diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 9f0e27108b4..b5e7d470662 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -43,11 +43,11 @@ jobs: include: - os: ubuntu-latest displayName: linux - archivePortable: tar -c -C build/distribution JabRef | pigz --rsyncable > build/distribution/JabRef-portable_linux.tar.gz && rm -R build/distribution/JabRef + archivePortable: tar -c -C build/distribution jabref | pigz --rsyncable > build/distribution/jabref-portable_linux.tar.gz && rm -R build/distribution/jabref eaJdk: https://files.jabref.org/jdks/jdk-linux-x64.tar.gz - os: windows-latest - displayName: windows - archivePortable: 7z a -r build/distribution/JabRef-portable_windows.zip ./build/distribution/JabRef && rm -R build/distribution/JabRef + displayName: Windows + archivePortable: 7z a -r build/distribution/jabref-portable_windows.zip ./build/distribution/jabref && rm -R build/distribution/jabref eaJDK: https://files.jabref.org/jdks/jdk-windows-x64.zip - os: macos-latest displayName: macOS @@ -85,13 +85,13 @@ jobs: - name: Run GitVersion id: gitversion uses: gittools/actions/gitversion/execute@v0.10.2 - - name: Set up JDK + - name: Setup JDK uses: actions/setup-java@v3 with: java-version: 20 distribution: 'temurin' cache: 'gradle' - - name: setup jdk JabRef-fix (windows) + - name: Setup JDK jabref-fix (Windows) if: (matrix.os == 'windows-latest') shell: bash run: | @@ -105,7 +105,7 @@ jobs: cat gradle.properties sed -i "s/JavaLanguageVersion.of(20)/JavaLanguageVersion.of(21)/" build.gradle - - name: setup jdk JabRef-fix (ubuntu) + - name: Setup JDK jabref-fix (ubuntu) if: (matrix.os == 'ubuntu-latest') shell: bash run: | @@ -119,7 +119,7 @@ jobs: cat gradle.properties sed -i "s/JavaLanguageVersion.of(20)/JavaLanguageVersion.of(21)/" build.gradle - - name: setup jdk JabRef-fix (macos) + - name: Setup JDK jabref-fix (macOS) if: (matrix.os == 'macos-latest') shell: bash run: | @@ -134,14 +134,14 @@ jobs: cat gradle.properties sed -i'.bak' -e "s/JavaLanguageVersion.of(20)/JavaLanguageVersion.of(21)/" build.gradle - - name: Setup OSX key chain (macos) + - name: Setup OSX key chain (macOS) if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') uses: apple-actions/import-codesign-certs@v2 with: p12-file-base64: ${{ secrets.OSX_SIGNING_CERT }} p12-password: ${{ secrets.OSX_CERT_PWD }} keychain-password: jabref - - name: Setup OSX key chain on OSX for app id cert (macos) + - name: Setup OSX key chain on OSX for app id cert (macOS) if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') uses: apple-actions/import-codesign-certs@v2 with: @@ -149,17 +149,17 @@ jobs: p12-password: ${{ secrets.OSX_CERT_PWD }} create-keychain: false keychain-password: jabref - - name: Build runtime image (non-macos) + - name: Build runtime image (non-macOS) if: (matrix.os != 'macos-latest') run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jlinkZip - - name: Prepare merged jars and modules dir (macos) - if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') - run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" prepareModulesDir - name: Build installer (non-macos) if: (matrix.os != 'macos-latest') shell: bash run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage - - name: Build dmg (macos) + - name: Prepare merged jars and modules dir (macOS) + if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') + run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" prepareModulesDir + - name: Build dmg (macOS) if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') shell: bash run: | @@ -168,12 +168,12 @@ jobs: --module-path ${{env.JDK21}}/Contents/Home/jmods/:build/jlinkbase/jlinkjars \ --add-modules org.jabref,org.jabref.merged.module \ --dest build/distribution \ - --name JabRef \ + --name jabref \ --app-version ${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }} \ --verbose \ --mac-sign \ - --vendor JabRef \ - --mac-package-identifier Jabref \ + --vendor "JabRef e.V." \ + --mac-package-identifier JabRef \ --mac-package-name JabRef \ --type dmg --mac-signing-key-user-name "JabRef e.V. (6792V39SK3)" \ --mac-package-signing-prefix org.jabref \ @@ -182,7 +182,7 @@ jobs: --resource-dir buildres/mac \ --file-associations buildres/mac/bibtexAssociations.properties \ --jlink-options --bind-services - - name: Build pkg (macos) + - name: Build pkg (macOS) if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') shell: bash run: | @@ -195,8 +195,8 @@ jobs: --app-version ${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }} \ --verbose \ --mac-sign \ - --vendor JabRef \ - --mac-package-identifier Jabref \ + --vendor "JabRef e.V." \ + --mac-package-identifier JabRef \ --mac-package-name JabRef \ --type pkg --mac-signing-key-user-name "JabRef e.V. (6792V39SK3)" \ --mac-package-signing-prefix org.jabref \ @@ -205,7 +205,7 @@ jobs: --resource-dir buildres/mac \ --file-associations buildres/mac/bibtexAssociations.properties \ --jlink-options --bind-services - - name: Package application image (non-macos) + - name: Package application image (non-macOS) if: (matrix.os != 'macos-latest') shell: bash run: ${{ matrix.archivePortable }} @@ -237,21 +237,21 @@ jobs: ssh_options: '-p 9922' src: 'build/distribution/' dest: jrrsync@build-upload.jabref.org:/var/www/builds.jabref.org/www/${{ steps.gitversion.outputs.branchName }}/ - - name: Upload to GitHub workflow artifacts store (windows) + - name: Upload to GitHub workflow artifacts store (Windows) if: (matrix.os == 'windows-latest') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) uses: actions/upload-artifact@v3 with: - name: JabRef-${{ matrix.displayName }} + name: jabref-${{ matrix.displayName }} path: build/distribution - - name: Upload to GitHub workflow artifacts store (macos) + - name: Upload to GitHub workflow artifacts store (macOS) if: (matrix.os == 'macos-latest') && (steps.checksecrets.outputs.secretspresent == 'YES') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) uses: actions/upload-artifact@v3 with: # tbn = to-be-notarized - name: JabRef-macOS-tbn + name: jabref-macos-tbn path: build/distribution notarize: # outsourced in a separate job to be able to rerun if this fails for timeouts - name: Notarize and package Mac OS binaries + name: Notarize and package macOS binaries runs-on: macos-latest needs: [build] if: ${{ !startsWith(github.ref, 'refs/heads/gh-readonly-queue') }} @@ -287,22 +287,22 @@ jobs: if: steps.checksecrets.outputs.secretspresent == 'YES' uses: actions/download-artifact@master with: - name: JabRef-macOS-tbn + name: jabref-macos-tbn path: build/distribution/ - name: Notarize dmg if: (steps.checksecrets.outputs.secretspresent == 'YES') && (startsWith(github.ref, 'refs/tags/') || inputs.notarization == true) shell: bash run: | xcrun notarytool store-credentials "notarytool-profile" --apple-id "vorstand@jabref.org" --team-id "6792V39SK3" --password "${{ secrets.OSX_NOTARIZATION_APP_PWD }}" - xcrun notarytool submit build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg --keychain-profile "notarytool-profile" --wait - xcrun stapler staple build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg + xcrun notarytool submit build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg --keychain-profile "notarytool-profile" --wait + xcrun stapler staple build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg - name: Notarize pkg if: (steps.checksecrets.outputs.secretspresent == 'YES') && (startsWith(github.ref, 'refs/tags/') || inputs.notarization == true) shell: bash run: | xcrun notarytool store-credentials "notarytool-profile" --apple-id "vorstand@jabref.org" --team-id "6792V39SK3" --password "${{ secrets.OSX_NOTARIZATION_APP_PWD }}" - xcrun notarytool submit build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg --keychain-profile "notarytool-profile" --wait - xcrun stapler staple build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg + xcrun notarytool submit build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg --keychain-profile "notarytool-profile" --wait + xcrun stapler staple build/distribution/jabref-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg - name: Package application image if: (steps.checksecrets.outputs.secretspresent == 'YES') && (matrix.os != 'macos-latest') shell: bash @@ -311,7 +311,7 @@ jobs: if: (steps.checksecrets.outputs.secretspresent == 'YES') && (!startsWith(github.ref, 'refs/heads/gh-readonly-queue')) uses: actions/upload-artifact@v3 with: - name: JabRef-macOS + name: jabref-macos path: build/distribution upload: strategy: @@ -348,23 +348,23 @@ jobs: if: steps.checksecrets.outputs.secretspresent == 'YES' id: gitversion uses: gittools/actions/gitversion/execute@v0.10.2 - - name: Get windows binaries + - name: Get Windows binaries if: steps.checksecrets.outputs.secretspresent == 'YES' uses: actions/download-artifact@master with: - name: JabRef-windows + name: jabref-windows path: build/distribution - name: Get macOS binaries unsigned if: (steps.checksecrets.outputs.secretspresent == 'YES') && (inputs.notarization == false && !startsWith(github.ref, 'refs/tags/')) uses: actions/download-artifact@master with: - name: JabRef-macOS-tbn + name: jabref-macos-tbn path: build/distribution/ - name: Get macOS binaries notarized if: (steps.checksecrets.outputs.secretspresent == 'YES') && (inputs.notarization == true || startsWith(github.ref, 'refs/tags/')) uses: actions/download-artifact@master with: - name: JabRef-macOS + name: jabref-macos path: build/distribution/ # Upload to build server using rsync # The action runs on linux only (because it is a Dockerized action), therefore it is embedded in a separate workflow diff --git a/.gitignore b/.gitignore index 1d3864a220b..ee2a7ba2815 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ snap/.snapcraft/ # flatpak flatpak/.buildconfig +flatpak/jabref-portable_linux.tar.gz flatpak/JabRef-portable_linux.tar.gz # Gradle diff --git a/build.gradle b/build.gradle index 88b375f23a5..0a5e81c515d 100644 --- a/build.gradle +++ b/build.gradle @@ -554,7 +554,7 @@ jpackage.dependsOn deleteInstallerTemp jlink { addOptions('--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages') launcher { - name = 'JabRef' + name = 'jabref' } addOptions("--bind-services") @@ -627,7 +627,7 @@ jlink { '--icon', "${projectDir}/src/main/resources/icons/jabref.ico", ] installerOptions = [ - '--vendor', 'JabRef', + '--vendor', 'JabRef e.V.', '--app-version', "${project.version}", '--verbose', '--win-upgrade-uuid', 'd636b4ee-6f10-451e-bf57-c89656780e36', @@ -649,7 +649,7 @@ jlink { ] installerOptions = [ '--verbose', - '--vendor', 'JabRef', + '--vendor', 'JabRef e.V.', '--app-version', "${project.version}", // '--temp', "$buildDir/installer", '--resource-dir', "${projectDir}/buildres/linux", @@ -688,7 +688,7 @@ if (OperatingSystem.current().isWindows()) { from("${projectDir}/buildres/windows") { include "jabref-firefox.json", "jabref-chrome.json", "JabRefHost.bat", "JabRefHost.ps1" } - into "$buildDir/distribution/JabRef" + into "$buildDir/distribution/jabref" } } } @@ -699,7 +699,7 @@ if (OperatingSystem.current().isLinux()) { from("${projectDir}/buildres/linux") { include "native-messaging-host/**", "jabrefHost.py" } - into "$buildDir/distribution/JabRef/lib" + into "$buildDir/distribution/jabref/lib" } } } diff --git a/settings.gradle b/settings.gradle index 0d665b1d64f..5d9fc27de53 100644 --- a/settings.gradle +++ b/settings.gradle @@ -11,4 +11,4 @@ plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0" } -rootProject.name = "JabRef" +rootProject.name = "jabref"