|
@@ -11,29 +11,44 @@ command -v curl >/dev/null 2>&1 || { echo >&2 "curl not found."; exit 1; }
|
|
|
# compile
|
|
|
mvn -B -f../../pom.xml clean package -DskipTests -Plinux
|
|
|
|
|
|
-# prepare AppDir
|
|
|
-mkdir Cryptomator.AppDir
|
|
|
-mv ../../target/libs Cryptomator.AppDir
|
|
|
-mv ../../target/mods Cryptomator.AppDir
|
|
|
-cp ../../LICENSE.txt Cryptomator.AppDir
|
|
|
-
|
|
|
# add runtime
|
|
|
-${JAVA_HOME}/bin/jlink
|
|
|
- --output Cryptomator.AppDir/runtime
|
|
|
- --module-path "${JAVA_HOME}/jmods"
|
|
|
- --add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility
|
|
|
- --no-header-files
|
|
|
- --no-man-pages
|
|
|
- --strip-debug
|
|
|
- --compress=1
|
|
|
+${JAVA_HOME}/bin/jlink \
|
|
|
+ --output runtime \
|
|
|
+ --module-path "${JAVA_HOME}/jmods" \
|
|
|
+ --add-modules java.base,java.desktop,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility \
|
|
|
+ --no-header-files \
|
|
|
+ --no-man-pages \
|
|
|
+ --strip-debug \
|
|
|
+ --compress=1
|
|
|
|
|
|
-# extract jffi
|
|
|
-JFFI_NATIVE_JAR=`ls Cryptomator.AppDir/libs | grep -e 'jffi-[1-9]\.[0-9]\{1,2\}.[0-9]\{1,2\}-native.jar'`
|
|
|
-${JAVA_HOME}/bin/jar -xf Cryptomator.AppDir/libs/${JFFI_NATIVE_JAR} /jni/x86_64-Linux/
|
|
|
-mv jni/x86_64-Linux/* Cryptomator.AppDir/libs/libjffi.so
|
|
|
-rm -r jni/x86_64-Linux
|
|
|
+# create app dir
|
|
|
+${JAVA_HOME}/bin/jpackage \
|
|
|
+ --verbose \
|
|
|
+ --type app-image \
|
|
|
+ --runtime-image runtime \
|
|
|
+ --input buildkit/libs \
|
|
|
+ --module-path buildkit/mods \
|
|
|
+ --module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator \
|
|
|
+ --dest . \
|
|
|
+ --name Cryptomator \
|
|
|
+ --vendor "Skymatic GmbH" \
|
|
|
+ --copyright "(C) 2016 - 2021 Skymatic GmbH" \
|
|
|
+ --java-options "-Xss5m" \
|
|
|
+ --java-options "-Xmx256m" \
|
|
|
+ --app-version "${{ needs.metadata.outputs.versionNum }}.${{ needs.metadata.outputs.revNum }}" \
|
|
|
+ --java-options "-Dfile.encoding=\"utf-8\"" \
|
|
|
+ --java-options "-Dcryptomator.logDir=\"~/.local/share/Cryptomator/logs\"" \
|
|
|
+ --java-options "-Dcryptomator.settingsPath=\"~/.config/Cryptomator/settings.json:~/.Cryptomator/settings.json\"" \
|
|
|
+ --java-options "-Dcryptomator.ipcSocketPath=\"~/.config/Cryptomator/ipc.socket\"" \
|
|
|
+ --java-options "-Dcryptomator.mountPointsDir=\"~/.local/share/Cryptomator/mnt\"" \
|
|
|
+ --java-options "-Dcryptomator.showTrayIcon=false" \
|
|
|
+ --java-options "-Dcryptomator.buildNumber=\"appimage-${{ needs.metadata.outputs.revNum }}\"" \
|
|
|
+ --resource-dir ../appdir/linux/resources
|
|
|
|
|
|
-# finalize AppDir
|
|
|
+# transform AppDir
|
|
|
+mv Cryptomator Cryptomator.AppDir
|
|
|
+cp -r dist/appimage/resources/AppDir/* Cryptomator.AppDir/
|
|
|
+chmod +x Cryptomator.AppDir/lib/runtime/bin/java
|
|
|
envsubst '${REVISION_NO}' < resources/AppDir/bin/cryptomator.sh > Cryptomator.AppDir/bin/cryptomator.sh
|
|
|
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/org.cryptomator.Cryptomator.svg
|
|
|
ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryptomator.AppDir/Cryptomator.svg
|
|
@@ -41,6 +56,12 @@ ln -s usr/share/icons/hicolor/scalable/apps/org.cryptomator.Cryptomator.svg Cryp
|
|
|
ln -s usr/share/applications/org.cryptomator.Cryptomator.desktop Cryptomator.AppDir/Cryptomator.desktop
|
|
|
ln -s bin/cryptomator.sh Cryptomator.AppDir/AppRun
|
|
|
|
|
|
+# extract jffi
|
|
|
+JFFI_NATIVE_JAR=`ls Cryptomator.AppDir/lib/app | grep -e 'jffi-[1-9]\.[0-9]\{1,2\}.[0-9]\{1,2\}-native.jar'`
|
|
|
+${JAVA_HOME}/bin/jar -xf Cryptomator.AppDir/lib/app/${JFFI_NATIVE_JAR} /jni/x86_64-Linux/
|
|
|
+mv jni/x86_64-Linux/* Cryptomator.AppDir/lib/app/libjffi.so
|
|
|
+rm -r jni/x86_64-Linux
|
|
|
+
|
|
|
# load AppImageTool
|
|
|
curl -L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage -o /tmp/appimagetool.AppImage
|
|
|
chmod +x /tmp/appimagetool.AppImage
|