|
@@ -16,6 +16,8 @@ on:
|
|
|
|
|
|
env:
|
|
|
JAVA_VERSION: 19
|
|
|
+ OPENJFX_JMODS_AMD64: 'https://download2.gluonhq.com/openjfx/19/openjfx-19_linux-x64_bin-jmods.zip'
|
|
|
+ OPENJFX_JMODS_AARCH64: 'https://download2.gluonhq.com/openjfx/19/openjfx-19_linux-aarch64_bin-jmods.zip'
|
|
|
|
|
|
jobs:
|
|
|
get-version:
|
|
@@ -33,7 +35,7 @@ jobs:
|
|
|
run: |
|
|
|
sudo add-apt-repository ppa:coffeelibs/openjdk
|
|
|
sudo apt-get update
|
|
|
- sudo apt-get install debhelper devscripts dput coffeelibs-jdk-19
|
|
|
+ sudo apt-get install debhelper devscripts dput coffeelibs-jdk-19 libgtk2.0-0
|
|
|
- name: Setup Java
|
|
|
uses: actions/setup-java@v3
|
|
|
with:
|
|
@@ -48,11 +50,39 @@ jobs:
|
|
|
REVCOUNT: ${{ needs.get-version.outputs.revNum }}
|
|
|
- name: Run maven
|
|
|
run: mvn -B clean package -Pdependency-check,linux -DskipTests
|
|
|
- - name: Create orig.tar.gz with common/ libs/ mods/
|
|
|
+ - name: Download OpenJFX jmods
|
|
|
+ id: download-jmods
|
|
|
+ run: |
|
|
|
+ curl -L ${{ env.OPENJFX_JMODS_AMD64 }} -o openjfx-amd64.zip
|
|
|
+ mkdir -p jmods/amd64
|
|
|
+ unzip -j openjfx-amd64.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d jmods/amd64
|
|
|
+ curl -L ${{ env.OPENJFX_JMODS_AARCH64 }} -o openjfx-aarch64.zip
|
|
|
+ mkdir -p jmods/aarch64
|
|
|
+ unzip -j openjfx-aarch64.zip \*/javafx.base.jmod \*/javafx.controls.jmod \*/javafx.fxml.jmod \*/javafx.graphics.jmod -d jmods/aarch64
|
|
|
+ - name: Ensure major jfx version in pom and in jmods is the same
|
|
|
+ shell: pwsh
|
|
|
+ run: |
|
|
|
+ mkdir jfxBaseJmodAmd64
|
|
|
+ jmod extract --dir jfxBaseJmodAmd64 jmods/amd64/javafx.base.jmod
|
|
|
+ $jfxJmodVersionAmd64 = ((Get-Content -Path "jfxBaseJmodAmd64/lib/javafx.properties" | Where-Object {$_ -like 'javafx.version=*' }) -replace '.*=','') -split "\."
|
|
|
+ mkdir jfxBaseJmodAarch64
|
|
|
+ jmod extract --dir jfxBaseJmodAarch64 jmods/aarch64/javafx.base.jmod
|
|
|
+ $jfxJmodVersionAarch64 = ((Get-Content -Path "jfxBaseJmodAarch64/lib/javafx.properties" | Where-Object {$_ -like 'javafx.version=*' }) -replace '.*=','') -split "\."
|
|
|
+ if ($jfxJmodVersionAmd64[0] -ne $jfxJmodVersionAarch64[0] ) {
|
|
|
+ Write-Error "JavaFX Jmods for aarch64 and amd64 are different major versions"
|
|
|
+ exit 1
|
|
|
+ }
|
|
|
+ $jfxPomVersion = (&mvn help:evaluate "-Dexpression=javafx.version" -q -DforceStdout) -split "\."
|
|
|
+ if ($jfxPomVersion[0] -ne $jfxJmodVersionAmd64[0]) {
|
|
|
+ Write-Error "Major part of JavaFX version in pom($($jfxPomVersion[0])) does not match the version of Jmods($($jfxJmodVersionAmd64[0])) "
|
|
|
+ exit 1
|
|
|
+ }
|
|
|
+ - name: Create orig.tar.gz with common/ libs/ mods/ jmods/
|
|
|
run: |
|
|
|
mkdir pkgdir
|
|
|
cp -r target/libs pkgdir
|
|
|
cp -r target/mods pkgdir
|
|
|
+ cp -r jmods pkgdir
|
|
|
cp -r dist/linux/common/ pkgdir
|
|
|
cp target/cryptomator-*.jar pkgdir/mods
|
|
|
tar -cJf cryptomator_${{ steps.versions.outputs.ppaVerStr }}.orig.tar.xz -C pkgdir .
|