From 464c74ab6c917ffd122c843ee1a00dbb8772aefe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 09:39:36 +0000 Subject: [PATCH 1/7] Bump the maven-build-plugins group across 1 directory with 2 updates (#3431) --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 2771115f2..0963ea5ed 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 24.1.0 - 9.1.0 + 9.2.0 0.8.12 2.4.0 1.2.1 @@ -70,7 +70,7 @@ 3.3.1 3.6.1 3.2.5 - 3.3.0 + 3.4.1 From dc993dc57ce441011001059e36db1f111881879c Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 3 Jun 2024 12:29:54 +0200 Subject: [PATCH 2/7] fixes #3440 (PR in #3447) --- .../java/org/cryptomator/common/SubstitutingProperties.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/cryptomator/common/SubstitutingProperties.java b/src/main/java/org/cryptomator/common/SubstitutingProperties.java index 8ba98a2b6..0536e3554 100644 --- a/src/main/java/org/cryptomator/common/SubstitutingProperties.java +++ b/src/main/java/org/cryptomator/common/SubstitutingProperties.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import java.util.Map; import java.util.Properties; +import java.util.regex.Matcher; import java.util.regex.Pattern; public class SubstitutingProperties extends PropertiesDecorator { @@ -58,7 +59,7 @@ public class SubstitutingProperties extends PropertiesDecorator { LoggerFactory.getLogger(SubstitutingProperties.class).warn("Variable {} used for substitution not found in {}. Replaced with empty string.", key, src); return ""; } else { - return val.replace("\\", "\\\\"); + return Matcher.quoteReplacement(val); } } From 7180af9bc7e83cb70ce2db7df81af3c8ab5ecf1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 10:30:50 +0000 Subject: [PATCH 3/7] Bump the java-production-dependencies group across 1 directory with 9 updates (#3446) --- pom.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 0963ea5ed..e9cb5cc7c 100644 --- a/pom.xml +++ b/pom.xml @@ -43,17 +43,17 @@ 3.14.0 - 2.51 + 2.51.1 2.2 - 33.0.0-jre - 2.16.2 + 33.2.1-jre + 2.17.1 21.0.1 4.4.0 9.37.3 - 1.5.3 - 2.0.12 + 1.5.6 + 2.0.13 0.8.0 - 1.8.2 + 1.9.0 5.10.2 From d2599ea525749f814fe537213645889052aa406d Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Thu, 6 Jun 2024 12:07:18 +0200 Subject: [PATCH 4/7] closes #2656 --- .../contrib/version170-migrate-settings.bat | 5 --- .../contrib/version170-migrate-settings.ps1 | 35 ------------------- dist/win/resources/main.wxs | 6 ---- 3 files changed, 46 deletions(-) delete mode 100644 dist/win/contrib/version170-migrate-settings.bat delete mode 100644 dist/win/contrib/version170-migrate-settings.ps1 diff --git a/dist/win/contrib/version170-migrate-settings.bat b/dist/win/contrib/version170-migrate-settings.bat deleted file mode 100644 index d94e062a1..000000000 --- a/dist/win/contrib/version170-migrate-settings.bat +++ /dev/null @@ -1,5 +0,0 @@ -@echo off -:: see comments in file ./version170-migrate-settings.ps1 - -cd %~dp0 -powershell -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command .\version170-migrate-settings.ps1 diff --git a/dist/win/contrib/version170-migrate-settings.ps1 b/dist/win/contrib/version170-migrate-settings.ps1 deleted file mode 100644 index 8e019fe66..000000000 --- a/dist/win/contrib/version170-migrate-settings.ps1 +++ /dev/null @@ -1,35 +0,0 @@ -# This script migrates Cryptomator settings for all local users on Windows in case the users uses custom directories as mountpoint -# See also https://github.com/cryptomator/cryptomator/pull/2654. -# -# TODO: This script should be evaluated in a yearly interval if it is still needed and if not, should be removed -# -#Requires -RunAsAdministrator - -#Get all active, local user profiles -$profileList = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList' -Get-ChildItem $profileList | ForEach-Object { - $profilePath = $_.GetValue("ProfileImagePath") - $settingsPath = "$profilePath\AppData\Roaming\Cryptomator\settings.json" - if(!(Test-Path -Path $settingsPath -PathType Leaf)) { - #No settings file, nothing to do. - return; - } - $settings = Get-Content -Path $settingsPath | ConvertFrom-Json - if($settings.preferredVolumeImpl -ne "FUSE") { - #Fuse not used, nothing to do - return; - } - - #check if customMountPoints are used - $atLeastOneCustomPath = $false; - foreach ($vault in $settings.directories){ - $atLeastOneCustomPath = $atLeastOneCustomPath -or ($vault.useCustomMountPath -eq "True") - } - - #if so, use WinFsp Local Drive - if( $atLeastOneCustomPath ) { - Add-Member -Force -InputObject $settings -Name "mountService" -Value "org.cryptomator.frontend.fuse.mount.WinFspMountProvider" -MemberType NoteProperty - $newSettings = $settings | Select-Object * -ExcludeProperty "preferredVolumeImpl" - ConvertTo-Json $newSettings | Set-Content -Path $settingsPath - } -} diff --git a/dist/win/resources/main.wxs b/dist/win/resources/main.wxs index 2fe2eb348..335dd3511 100644 --- a/dist/win/resources/main.wxs +++ b/dist/win/resources/main.wxs @@ -139,11 +139,6 @@ Sequence="execute" Before="PatchWebDAV" /> - - - - NOT Installed OR REINSTALL - NOT Installed OR REINSTALL From 91d6264b9ffc53e32363403a151c45b4b9103ceb Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Thu, 6 Jun 2024 12:07:49 +0200 Subject: [PATCH 5/7] ignore downloaded artifact --- dist/linux/appimage/.gitignore | 4 +++- dist/mac/dmg/.gitignore | 6 ++++-- dist/win/.gitignore | 1 + 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dist/linux/appimage/.gitignore b/dist/linux/appimage/.gitignore index 1ed40c771..3e0cd2a39 100644 --- a/dist/linux/appimage/.gitignore +++ b/dist/linux/appimage/.gitignore @@ -1,4 +1,6 @@ -# created during build +# downloaded/created during build +openjfx-jmods.zip +*.jmod Cryptomator.AppDir *.AppImage *.AppImage.zsync \ No newline at end of file diff --git a/dist/mac/dmg/.gitignore b/dist/mac/dmg/.gitignore index cdc73d89b..ebc5e2c5e 100644 --- a/dist/mac/dmg/.gitignore +++ b/dist/mac/dmg/.gitignore @@ -1,6 +1,8 @@ -# created during build +# downloaded/created during build Cryptomator.app/ runtime/ dmg/ *.dmg -license.rtf \ No newline at end of file +license.rtf +openjfx-jmods.zip +*.jmod \ No newline at end of file diff --git a/dist/win/.gitignore b/dist/win/.gitignore index 32316fd59..7b2faa4b5 100644 --- a/dist/win/.gitignore +++ b/dist/win/.gitignore @@ -6,4 +6,5 @@ installer *.msi *.exe *.jmod +resources/jfxJmods.zip license.rtf \ No newline at end of file From 8108128c22bd89f14119d3084022d102a0270d12 Mon Sep 17 00:00:00 2001 From: Ralph Plawetzki Date: Tue, 11 Jun 2024 19:54:32 +0200 Subject: [PATCH 6/7] Temporary work around for JavaFX upstream bug Occurs with Maven 3.9.7, fixed with Gluon JavaFX 23-ea+20, that contains a fixed parent POM See https://mail.openjdk.org/pipermail/openjfx-dev/2024-May/047279.html --- .github/workflows/mac-dmg.yml | 4 ++-- dist/mac/dmg/build.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index 7e6bde81b..40d6c8497 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -79,7 +79,7 @@ jobs: - name: Set version run : mvn versions:set -DnewVersion=${{ needs.get-version.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Pmac -DskipTests + run: mvn -B -Djavafx.platform=mac clean package -Pmac -DskipTests - name: Patch target dir run: | cp LICENSE.txt target @@ -142,7 +142,7 @@ jobs: REVISION_NO: ${{ needs.get-version.outputs.revNum }} - name: Generate license for dmg run: > - mvn -B license:add-third-party + mvn -B -Djavafx.platform=mac license:add-third-party -Dlicense.thirdPartyFilename=license.rtf -Dlicense.outputDirectory=dist/mac/dmg/resources -Dlicense.fileTemplate=dist/mac/dmg/resources/licenseTemplate.ftl diff --git a/dist/mac/dmg/build.sh b/dist/mac/dmg/build.sh index ce2380289..11375cddb 100755 --- a/dist/mac/dmg/build.sh +++ b/dist/mac/dmg/build.sh @@ -63,7 +63,7 @@ if [ "${POM_JFX_VERSION}" -ne "${JMOD_VERSION}" ]; then fi # compile -mvn -B -f../../../pom.xml clean package -DskipTests -Pmac +mvn -B -Djavafx.platform=mac -f../../../pom.xml clean package -DskipTests -Pmac cp ../../../LICENSE.txt ../../../target cp ../../../target/${MAIN_JAR_GLOB} ../../../target/mods @@ -118,7 +118,7 @@ sed -i '' "s|###BUNDLE_SHORT_VERSION_STRING###|${VERSION_NO}|g" ${APP_NAME}.app/ sed -i '' "s|###BUNDLE_VERSION###|${REVISION_NO}|g" ${APP_NAME}.app/Contents/Info.plist # generate license -mvn -B -f../../../pom.xml license:add-third-party \ +mvn -B -Djavafx.platform=mac -f../../../pom.xml license:add-third-party \ -Dlicense.thirdPartyFilename=license.rtf \ -Dlicense.outputDirectory=dist/mac/dmg/resources \ -Dlicense.fileTemplate=resources/licenseTemplate.ftl \ From 2307950e3b96fd7599241d4d1bd0ed3084560879 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 12 Jun 2024 10:58:49 +0200 Subject: [PATCH 7/7] add javafx.platform property workaround to other build/ci scripts --- .github/workflows/appimage.yml | 2 +- .github/workflows/build.yml | 2 +- .github/workflows/debian.yml | 2 +- .github/workflows/dependency-check.yml | 1 + .github/workflows/pullrequest.yml | 2 +- .github/workflows/release-check.yml | 2 +- .github/workflows/win-exe.yml | 6 +++--- dist/linux/appimage/build.sh | 2 +- dist/win/build.ps1 | 6 +++--- 9 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 5d0dc2d5b..6ae61a2b2 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -68,7 +68,7 @@ jobs: - name: Set version run : mvn versions:set -DnewVersion=${{ needs.get-version.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Plinux -DskipTests + run: mvn -B clean package -Plinux -DskipTests -Djavafx.platform=linux - name: Patch target dir run: | cp LICENSE.txt target diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c38bb49e3..7e86b61ea 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,7 +33,7 @@ jobs: - name: Build and Test run: > xvfb-run - mvn -B verify + mvn -B verify -Djavafx.platform=linux jacoco:report org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pcoverage diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 9c220843b..f5ce875d9 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -53,7 +53,7 @@ jobs: check-latest: true cache: 'maven' - name: Run maven - run: mvn -B clean package -Plinux -DskipTests + run: mvn -B clean package -Plinux -Djavafx.platform=linux -DskipTests - name: Download OpenJFX jmods id: download-jmods run: | diff --git a/.github/workflows/dependency-check.yml b/.github/workflows/dependency-check.yml index 02633a334..40dfe97fa 100644 --- a/.github/workflows/dependency-check.yml +++ b/.github/workflows/dependency-check.yml @@ -12,6 +12,7 @@ jobs: runner-os: 'ubuntu-latest' java-distribution: 'temurin' java-version: 22 + check-command: 'mvn -B validate -Pdependency-check -Djavafx.platform=linux' secrets: nvd-api-key: ${{ secrets.NVD_API_KEY }} slack-webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 4db444da5..e6512a52e 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -24,4 +24,4 @@ jobs: java-version: ${{ env.JAVA_VERSION }} cache: 'maven' - name: Build and Test - run: xvfb-run mvn -B clean install jacoco:report -Pcoverage \ No newline at end of file + run: xvfb-run mvn -B clean install jacoco:report -Pcoverage -Djavafx.platform=linux \ No newline at end of file diff --git a/.github/workflows/release-check.yml b/.github/workflows/release-check.yml index 160da33e9..0454dc08d 100644 --- a/.github/workflows/release-check.yml +++ b/.github/workflows/release-check.yml @@ -60,6 +60,6 @@ jobs: - name: Run org.owasp:dependency-check plugin id: dependency-check continue-on-error: true - run: mvn -B verify -Pdependency-check -DskipTests + run: mvn -B verify -Pdependency-check -DskipTests -Djavafx.platform=linux env: NVD_API_KEY: ${{ secrets.NVD_API_KEY }} \ No newline at end of file diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index b6abcf0ec..bf14d3448 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -77,7 +77,7 @@ jobs: - name: Set version run : mvn versions:set -DnewVersion=${{ needs.get-version.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Pwin -DskipTests + run: mvn -B clean package -Pwin -DskipTests -Djavafx.platform=win - name: Patch target dir run: | cp LICENSE.txt target @@ -199,7 +199,7 @@ jobs: } - name: Generate license for MSI run: > - mvn -B license:add-third-party + mvn -B license:add-third-party -Djavafx.platform=win "-Dlicense.thirdPartyFilename=license.rtf" "-Dlicense.outputDirectory=dist/win/resources" "-Dlicense.fileTemplate=dist/win/resources/licenseTemplate.ftl" @@ -279,7 +279,7 @@ jobs: cache: 'maven' - name: Generate license for exe run: > - mvn -B license:add-third-party + mvn -B license:add-third-party -Djavafx.platform=win "-Dlicense.thirdPartyFilename=license.rtf" "-Dlicense.fileTemplate=dist/win/bundle/resources/licenseTemplate.ftl" "-Dlicense.outputDirectory=dist/win/bundle/resources" diff --git a/dist/linux/appimage/build.sh b/dist/linux/appimage/build.sh index 091e66c00..1adfdc010 100755 --- a/dist/linux/appimage/build.sh +++ b/dist/linux/appimage/build.sh @@ -19,7 +19,7 @@ if [[ ! "${MACHINE_TYPE}" =~ x86_64|aarch64 ]]; then echo "Platform ${MACHINE_TY mvn -f ../../../pom.xml versions:set -DnewVersion=${SEMVER_STR} # compile -mvn -B -f ../../../pom.xml clean package -Plinux -DskipTests +mvn -B -f ../../../pom.xml clean package -Plinux -DskipTests -Djavafx.platform=linux cp ../../../LICENSE.txt ../../../target cp ../../../target/cryptomator-*.jar ../../../target/mods diff --git a/dist/win/build.ps1 b/dist/win/build.ps1 index 117c0afb8..18b243121 100644 --- a/dist/win/build.ps1 +++ b/dist/win/build.ps1 @@ -41,7 +41,7 @@ Write-Output "`$Env:JAVA_HOME=$Env:JAVA_HOME" $copyright = "(C) $CopyrightStartYear - $((Get-Date).Year) $Vendor" # compile -&mvn -B -f $buildDir/../../pom.xml clean package -DskipTests -Pwin +&mvn -B -f $buildDir/../../pom.xml clean package -DskipTests -Pwin -Djavafx.platform=win Copy-Item "$buildDir\..\..\target\$MainJarGlob.jar" -Destination "$buildDir\..\..\target\mods" # add runtime @@ -121,7 +121,7 @@ if ($clean -and (Test-Path -Path $appPath)) { --icon resources/$AppName.ico #Create RTF license for msi -&mvn -B -f $buildDir/../../pom.xml license:add-third-party ` +&mvn -B -f $buildDir/../../pom.xml license:add-third-party -Djavafx.platform=win ` "-Dlicense.thirdPartyFilename=license.rtf" ` "-Dlicense.fileTemplate=$buildDir\resources\licenseTemplate.ftl" ` "-Dlicense.outputDirectory=$buildDir\resources\" ` @@ -166,7 +166,7 @@ $Env:JP_WIXHELPER_DIR = "." --file-associations resources/FAvaultFile.properties #Create RTF license for bundle -&mvn -B -f $buildDir/../../pom.xml license:add-third-party ` +&mvn -B -f $buildDir/../../pom.xml license:add-third-party -Djavafx.platform=win ` "-Dlicense.thirdPartyFilename=license.rtf" ` "-Dlicense.fileTemplate=$buildDir\bundle\resources\licenseTemplate.ftl" ` "-Dlicense.outputDirectory=$buildDir\bundle\resources\" `