Compare commits

..
Author SHA1 Message Date
Armin Schrenk e2ba37bbc7 Revert "do not extract wixhelper.dll if jmods do not exist"
This reverts commit 624b623f8f.
2025-06-23 15:42:45 +02:00
Armin Schrenk 60459c739e explicitlly state arch for exe installer 2025-06-23 14:52:05 +02:00
Armin Schrenk 2f43c6688d install wix 6.x on msi runner 2025-06-23 12:39:12 +02:00
Armin Schrenk ac0b422701 add x86 installer with arm64 payload 2025-06-23 12:29:25 +02:00
Armin Schrenk 03fa62be01 include hidden files for upload 2025-06-23 12:27:13 +02:00
Armin Schrenk fb86702cae fix wrong license placement path 2025-06-23 12:10:21 +02:00
Armin Schrenk 7cdd950290 fix wrong paths and keys 2025-06-23 11:58:12 +02:00
Armin Schrenk 624b623f8f do not extract wixhelper.dll if jmods do not exist 2025-06-23 11:57:22 +02:00
Armin Schrenk f681618f30 fix errors 2025-06-23 11:44:30 +02:00
Armin Schrenk 39fc1fb7c9 First draft for workarounding #3899 2025-06-23 11:36:25 +02:00
CryptobotandGitHub cb6b77318d New translations strings.properties (Finnish) (#3897)
[ci skip]
2025-06-17 15:09:57 +02:00
dependabot[bot]andGitHub feb9fb689e Bump the java-production-dependencies group with 2 updates (#3901) 2025-06-17 11:58:45 +00:00
Armin Schrenk 0178ca4080 fix wrong keychain migration 2025-06-16 18:06:04 +02:00
Armin Schrenk 79f2863f24 suppress warning message caused by javafx (see JDK-8345121) 2025-06-16 11:23:25 +02:00
Tobias HagemannandGitHub f1ef506e2b Fix missing characters after Unicode in RTF files (#3898) 2025-06-16 10:36:19 +02:00
10 changed files with 92 additions and 18 deletions
+1
View File
@@ -118,6 +118,7 @@ jobs:
--app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}"
--java-options "--enable-preview"
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator"
--java-options "--sun-misc-unsafe-memory-access=allow"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\""
+1
View File
@@ -121,6 +121,7 @@ jobs:
--app-version "${{ needs.get-version.outputs.semVerNum }}"
--java-options "--enable-preview"
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.mac"
--java-options "--sun-misc-unsafe-memory-access=allow"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dfile.encoding=\"utf-8\""
+1
View File
@@ -119,6 +119,7 @@ jobs:
--app-version "${{ needs.get-version.outputs.semVerNum }}"
--java-options "--enable-preview"
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.mac"
--java-options "--sun-misc-unsafe-memory-access=allow"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dfile.encoding=\"utf-8\""
+80 -11
View File
@@ -37,8 +37,8 @@ jobs:
with:
version: ${{ inputs.version }}
build-msi:
name: Build .msi Installer
build-appimage:
name: Build appimage
runs-on: ${{ matrix.os }}
needs: [ get-version ]
strategy:
@@ -145,6 +145,7 @@ jobs:
--app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum }}"
--java-options "--enable-preview"
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.win,org.cryptomator.integrations.win"
--java-options "--sun-misc-unsafe-memory-access=allow"
--java-options "-Xss5m"
--java-options "-Xmx256m"
--java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\""
@@ -229,24 +230,64 @@ jobs:
jar --file="$jarFile" --update $(Resolve-Path -Relative -Path $_)
}
}
- name: Generate license for MSI
- name: Generate license file
run: >
mvn -B license:add-third-party "-Djavafx.platform=win"
"-Dlicense.thirdPartyFilename=license.rtf"
"-Dlicense.outputDirectory=dist/win/resources"
"-Dlicense.outputDirectory=appdir"
"-Dlicense.fileTemplate=dist/win/resources/licenseTemplate.ftl"
"-Dlicense.includedScopes=compile"
"-Dlicense.excludedGroups=^org\.cryptomator"
"-Dlicense.failOnMissing=true"
"-Dlicense.licenseMergesUrl=file:///${{ github.workspace }}/license/merges"
shell: pwsh
- name: Create MSI
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: appimage-${{ matrix.arch }}
include-hidden-files: true
if-no-files-found: error
path: |
appdir
build-msi:
name: Build .msi installer
runs-on: windows-latest
needs: [ get-version, build-appimage ]
steps:
- uses: actions/checkout@v4
- name: Download appimage
uses: actions/download-artifact@v4
with:
name: appimage-x64
path: appdir-x64
- name: Download appimage
uses: actions/download-artifact@v4
with:
name: appimage-arm64
path: appdir-arm64
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '24.0.1+9'
java-package: 'jdk'
cache: 'maven'
- name: Install wix and extensions
run: |
dotnet tool install --global wix --version 6.0.0
wix.exe extension add WixToolset.UI.wixext/6.0.0 --global
wix.exe extension add WixToolset.Util.wixext/6.0.0 --global
- name: Copy license file
run: cp appdir-x64/license.rtf dist/win/resources/license.rtf
- name: Create x64 MSI with x64 appimage
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type msi
--win-upgrade-uuid bda45523-42b1-4cae-9354-a45475ed4775
--app-image appdir/Cryptomator
--app-image appdir-x64/Cryptomator
--dest installer
--name Cryptomator
--vendor "Skymatic GmbH"
@@ -262,8 +303,37 @@ jobs:
--file-associations dist/win/resources/FAvaultFile.properties
env:
JP_WIXWIZARD_RESOURCES: ${{ github.workspace }}/dist/win/resources # requires abs path, used in resources/main.wxs
JP_WIXHELPER_DIR: ${{ github.workspace }}\appdir
- name: Codesign MSI
JP_WIXHELPER_DIR: ${{ github.workspace }}\appdir-x64
- name: Add possible alpha/beta tags and architecture to installer name
run: mv installer/Cryptomator-*.msi Cryptomator-${{ needs.get-version.outputs.semVerStr }}-x64.msi
- name: Copy license file for arm64
run: cp appdir-arm64/license.rtf dist/win/resources/license.rtf
- name: Create x64 MSI with arm64 appimage
run: >
${JAVA_HOME}/bin/jpackage
--verbose
--type msi
--win-upgrade-uuid bda45523-42b1-4cae-9354-a45475ed4775
--app-image appdir-arm64/Cryptomator
--dest installer
--name Cryptomator
--vendor "Skymatic GmbH"
--copyright "(C) 2016 - 2025 Skymatic GmbH"
--app-version "${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum}}"
--win-menu
--win-dir-chooser
--win-shortcut-prompt
--win-update-url "https:\\cryptomator.org\downloads"
--win-menu-group Cryptomator
--resource-dir dist/win/resources
--license-file dist/win/resources/license.rtf
--file-associations dist/win/resources/FAvaultFile.properties
env:
JP_WIXWIZARD_RESOURCES: ${{ github.workspace }}/dist/win/resources # requires abs path, used in resources/main.wxs
JP_WIXHELPER_DIR: ${{ github.workspace }}\appdir-arm64
- name: Add possible alpha/beta tags and architecture to installer name
run: mv installer/Cryptomator-*.msi Cryptomator-${{ needs.get-version.outputs.semVerStr }}-arm64.msi
- name: Codesign MSIs
uses: skymatic/code-sign-action@v3
with:
certificate: ${{ secrets.WIN_CODESIGN_P12_BASE64 }}
@@ -272,8 +342,6 @@ jobs:
description: Cryptomator Installer
timestampUrl: 'http://timestamp.digicert.com'
folder: installer
- name: Add possible alpha/beta tags and architecture to installer name
run: mv installer/Cryptomator-*.msi Cryptomator-${{ needs.get-version.outputs.semVerStr }}-${{ matrix.arch }}.msi
- name: Create detached GPG signature with key 615D449FE6E6A235
run: |
echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import
@@ -284,7 +352,7 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: msi-${{ matrix.arch }}
name: msi-x64
path: |
Cryptomator-*.msi
Cryptomator-*.asc
@@ -360,6 +428,7 @@ jobs:
working-directory: dist/win
run: >
wix build
-arch ${{ matrix.arch }}
-define BundleName="Cryptomator"
-define BundleVersion="${{ needs.get-version.outputs.semVerNum }}.${{ needs.get-version.outputs.revNum}}"
-define BundleVendor="Skymatic GmbH"
+1
View File
@@ -45,6 +45,7 @@ override_dh_auto_build:
--vendor "Skymatic GmbH" \
--java-options "--enable-preview" \
--java-options "--enable-native-access=javafx.graphics,org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator" \
--java-options "--sun-misc-unsafe-memory-access=allow" \
--copyright "(C) 2016 - 2025 Skymatic GmbH" \
--java-options "-Xss5m" \
--java-options "-Xmx256m" \
+2 -2
View File
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.cryptomator</groupId>
<artifactId>cryptomator</artifactId>
<version>1.17.0</version>
<version>1.17.0-SNAPSHOT</version>
<name>Cryptomator Desktop App</name>
<organization>
@@ -45,7 +45,7 @@
<commons-lang3.version>3.17.0</commons-lang3.version>
<dagger.version>2.56.2</dagger.version>
<easybind.version>2.2</easybind.version>
<jackson.version>2.19.0</jackson.version>
<jackson.version>2.19.1</jackson.version>
<javafx.version>24.0.1</javafx.version>
<jwt.version>4.5.0</jwt.version>
<nimbus-jose.version>9.37.3</nimbus-jose.version>
@@ -148,8 +148,8 @@ public class Settings {
@SuppressWarnings("deprecation")
private void migrateLegacySettings(SettingsJson json) {
// migrate renamed keychainAccess
if(this.keychainProvider.getValueSafe().equals("org.cryptomator.linux.SecretServiceKeychainAccess")) {
this.keychainProvider.setValue("org.cryptomator.linux.GnomeKeyringKeychainAccess");
if(this.keychainProvider.getValueSafe().equals("org.cryptomator.linux.keychain.SecretServiceKeychainAccess")) {
this.keychainProvider.setValue("org.cryptomator.linux.keychain.GnomeKeyringKeychainAccess");
}
// implicit migration of 1.6.x legacy setting "preferredVolumeImpl":
@@ -79,7 +79,7 @@ public class ReadmeGenerator {
} else if (c <= 0xFF) {
sb.append("\\'").append(String.format("%02X", c));
} else if (c < 0xFFFF) {
sb.append("\\uc1\\u").append(c);
sb.append("\\u").append(c);
}
});
}
@@ -442,6 +442,7 @@ main.vaultDetail.error.windowTitle=Virhe ladatessa holvia
# Wrong File Alert
wrongFileAlert.title=Kuinka tiedostoja salataan
wrongFileAlert.message=Yritkö salata nämä tiedostot?
wrongFileAlert.description=Tätä varten Cryptomator luo levyn järjestelmäsi tiedostonhallintaan.
wrongFileAlert.instruction.0=Salaa tiedostot seuraavasti:
wrongFileAlert.instruction.1=1. Avaa holvisi.
wrongFileAlert.instruction.2=2. Klikkaa "Paljasta" avataksesi aseman tiedostoselaimessasi.
@@ -16,7 +16,7 @@ public class ReadMeGeneratorTest {
@CsvSource({ //
"test,test", //
"t\u00E4st,t\\'E4st", //
"t\uD83D\uDE09st,t\\uc1\\u55357\\uc1\\u56841st", //
"t\uD83D\uDE09st,t\\u55357\\u56841st", //
})
public void testEscapeNonAsciiChars(String input, String expectedResult) {
ReadmeGenerator readmeGenerator = new ReadmeGenerator(null);
@@ -40,7 +40,7 @@ public class ReadMeGeneratorTest {
MatcherAssert.assertThat(result, CoreMatchers.startsWith("{\\rtf1\\fbidis\\ansi\\uc0\\fs32"));
MatcherAssert.assertThat(result, CoreMatchers.containsString("{\\sa80 Dear User,}\\par"));
MatcherAssert.assertThat(result, CoreMatchers.containsString("{\\sa80 \\b please don't touch the \"d\" directory.}\\par "));
MatcherAssert.assertThat(result, CoreMatchers.containsString("{\\sa80 Thank you for your cooperation \\uc1\\u55357\\uc1\\u56841}\\par"));
MatcherAssert.assertThat(result, CoreMatchers.containsString("{\\sa80 Thank you for your cooperation \\u55357\\u56841}\\par"));
MatcherAssert.assertThat(result, CoreMatchers.endsWith("}"));
}