Skip to content

Commit

Permalink
FutureRestore GUI — v1.98.2
Browse files Browse the repository at this point in the history
- Added the new `--no-rsep` argument.
- Switch to commons compress rather than using an old library with vulnerabilities
- Compile with Java 18 (dropping Java 11—sorry Linux users, the .jar will not suffice anymore)
- Update code for Java 18
- Drastically reduce repository size by only downloading JavaFX jmods during CI
  • Loading branch information
CoocooFroggy authored Sep 25, 2022
2 parents 25c4dff + 11423cf commit 16c8a66
Show file tree
Hide file tree
Showing 26 changed files with 448 additions and 348 deletions.
46 changes: 29 additions & 17 deletions .github/workflows/build-pack-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
echo $version > version.txt
echo '::set-output name=version::(echo $version)'
- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down Expand Up @@ -53,10 +53,10 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Download final jar
Expand All @@ -75,11 +75,16 @@ jobs:
version=$(tail version.txt)
echo "::set-output name=version::$version"
- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_linux-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage deb
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type deb --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./.github/workflows/ubuntu/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION 2>&1 | tee /tmp/jpackoutput.txt
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type deb --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION 2>&1 | tee /tmp/jpackoutput.txt
- name: Grep DEB name
id: grep_deb_name
run: |
Expand All @@ -90,12 +95,12 @@ jobs:
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./.github/workflows/ubuntu/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION

- name: Zip app-image and script
run: |
cp ./.github/workflows/ubuntu/"Run FutureRestore GUI.sh" ./
zip -r FutureRestore-GUI-Linux-Universal.zip "FutureRestore GUI" "Run FutureRestore GUI.sh"
cp ./.github/workflows/ubuntu/"run.sh" ./
zip -r FutureRestore-GUI-Linux-Universal.zip "FutureRestore GUI" "run.sh"
- name: Upload deb
uses: actions/upload-artifact@v2
Expand All @@ -117,10 +122,10 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Install create-dmg
Expand All @@ -142,19 +147,21 @@ jobs:
version=$(tail version.txt)
echo "::set-output name=version::$version"
- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_osx-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage and remove signature
env:
RUN_NUMBER: ${{ github.run_number}}
VERSION: ${{ steps.output-version.outputs.version }}
run: |
jpackage --input ./input --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/mac/FutureRestoreGUIIcons.icns --copyright "© CoocooFroggy 2021" --verbose --mac-package-identifier com.coocoofroggy.futurerestoregui --name "FutureRestore GUI" --module-path ./.github/workflows/mac/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
jpackage --input ./input --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/mac/FutureRestoreGUIIcons.icns --copyright "© CoocooFroggy 2021" --verbose --mac-package-identifier com.coocoofroggy.futurerestoregui --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
codesign --remove-signature FutureRestore\ GUI.app
mkdir dmg-input
mv "FutureRestore GUI.app" dmg-input
# - name: Debug with ssh
# uses: lhotari/action-upterm@v1

- name: Create DMG from .app
run: |
create-dmg --hdiutil-quiet --volname "FutureRestore GUI Installer" --volicon ".github/workflows/mac/DMG Images/FRGUI-Drive-Icon.icns" --background ".github/workflows/mac/DMG Images/DMG-Background.png" --window-pos 200 120 --window-size 600 342 --icon-size 100 --icon "FutureRestore GUI.app" 80 200 --hide-extension "FutureRestore GUI.app" --app-drop-link 450 200 "FutureRestore GUI Installer.dmg" "dmg-input/"
Expand All @@ -177,10 +184,10 @@ jobs:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Download final jar
Expand All @@ -200,11 +207,16 @@ jobs:
echo ::set-output name=version::%version%
shell: cmd

- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_windows-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type msi --icon ./.github/workflows/windows/FRWindows.ico --copyright "© CoocooFroggy 2021" --vendor "CoocooFroggy" --verbose --name "FutureRestore GUI" --win-shortcut --win-menu --win-console --module-path ./.github/workflows/windows/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version %VERSION%
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type msi --icon ./.github/workflows/windows/FRWindows.ico --copyright "© CoocooFroggy 2021" --vendor "CoocooFroggy" --verbose --name "FutureRestore GUI" --win-shortcut --win-menu --win-console --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version %VERSION%
shell: cmd

- name: Find MSI name
Expand Down
49 changes: 32 additions & 17 deletions .github/workflows/build-pack-prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
echo $version > version.txt
echo "::set-output name=version::$version"
- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
Expand Down Expand Up @@ -78,10 +78,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Download final jar
Expand All @@ -100,11 +100,16 @@ jobs:
version=$(tail version.txt)
echo "::set-output name=version::$version"
- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_linux-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage deb
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type deb --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./.github/workflows/ubuntu/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION 2>&1 | tee /tmp/jpackoutput.txt
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type deb --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION 2>&1 | tee /tmp/jpackoutput.txt
- name: Grep DEB name
id: grep_deb_name
run: |
Expand All @@ -115,18 +120,18 @@ jobs:
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./.github/workflows/ubuntu/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/ubuntu/Icon-1024.png --copyright "© CoocooFroggy 2021" --verbose --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION

- name: Zip app-image and script
run: |
cp ./.github/workflows/ubuntu/"Run FutureRestore GUI.sh" ./
zip -r FutureRestore-GUI-Linux-Universal.zip "FutureRestore GUI" "Run FutureRestore GUI.sh"
cp ./.github/workflows/ubuntu/"run.sh" ./
zip -r FutureRestore-GUI-Linux-Universal.zip "FutureRestore GUI" "run.sh"
- name: Download URL to upload to
uses: actions/download-artifact@v2
with:
name: upload-url
# Make it usable in Github actions
# Make it usable in GitHub actions
- name: Set output for upload-url
id: set_upload_url
run: |
Expand Down Expand Up @@ -162,10 +167,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Install create-dmg
Expand All @@ -187,12 +192,17 @@ jobs:
version=$(tail version.txt)
echo "::set-output name=version::$version"
- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_osx-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage and remove signature
env:
RUN_NUMBER: ${{ github.run_number}}
VERSION: ${{ steps.output-version.outputs.version }}
run: |
jpackage --input ./input --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/mac/FutureRestoreGUIIcons.icns --copyright "© CoocooFroggy 2021" --verbose --mac-package-identifier com.coocoofroggy.futurerestoregui --name "FutureRestore GUI" --module-path ./.github/workflows/mac/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
jpackage --input ./input --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type app-image --icon ./.github/workflows/mac/FutureRestoreGUIIcons.icns --copyright "© CoocooFroggy 2021" --verbose --mac-package-identifier com.coocoofroggy.futurerestoregui --name "FutureRestore GUI" --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version $VERSION
codesign --remove-signature FutureRestore\ GUI.app
mkdir dmg-input
mv "FutureRestore GUI.app" dmg-input
Expand All @@ -209,7 +219,7 @@ jobs:
uses: actions/download-artifact@v2
with:
name: upload-url
# Make it usable in Github actions
# Make it usable in GitHub actions
- name: Set output for upload-url
id: set_upload_url
run: |
Expand All @@ -233,10 +243,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Set up JDK 17
- name: Set up JDK 18
uses: actions/setup-java@v2
with:
java-version: 17
java-version: 18
distribution: 'temurin'

- name: Download final jar
Expand All @@ -256,11 +266,16 @@ jobs:
echo ::set-output name=version::%version%
shell: cmd

- name: Download JavaFX
run: |
curl -o jmods.zip https://download2.gluonhq.com/openjfx/18.0.2/openjfx-18.0.2_windows-x64_bin-jmods.zip
unzip jmods.zip
- name: Run JPackage
env:
RUN_NUMBER: ${{ github.run_number }}
VERSION: ${{ steps.output-version.outputs.version }}
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type msi --icon ./.github/workflows/windows/FRWindows.ico --copyright "© CoocooFroggy 2021" --vendor "CoocooFroggy" --verbose --name "FutureRestore GUI" --win-shortcut --win-menu --module-path ./.github/workflows/windows/javafx-jmods-11.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version %VERSION%
run: jpackage --input ./input --name "FutureRestore GUI" --main-jar "FutureRestore GUI-1.0-all.jar" --main-class Main --type msi --icon ./.github/workflows/windows/FRWindows.ico --copyright "© CoocooFroggy 2021" --vendor "CoocooFroggy" --verbose --name "FutureRestore GUI" --win-shortcut --win-menu --module-path ./javafx-jmods-18.0.2 --add-modules javafx.swing,java.logging,java.sql,java.base,jdk.crypto.ec,java.naming --app-version %VERSION%
shell: cmd

- name: Find MSI name
Expand All @@ -275,7 +290,7 @@ jobs:
uses: actions/download-artifact@v2
with:
name: upload-url
# Make it usable in Github actions
# Make it usable in GitHub actions
- name: Set output for upload-url
id: set_upload_url
run: |
Expand Down
Loading

0 comments on commit 16c8a66

Please sign in to comment.