diff --git a/.github/workflows/appimage.yml b/.github/workflows/appimage.yml index 2d4e47b08..00eddfbe1 100644 --- a/.github/workflows/appimage.yml +++ b/.github/workflows/appimage.yml @@ -122,6 +122,7 @@ jobs: --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" --java-options "-Dfile.encoding=\"utf-8\"" --java-options "-Djava.net.useSystemProxies=true" + --java-options "-Dcryptomator.adminConfig=\"/etc/cryptomator/cryptomator.config\"" --java-options "-Dcryptomator.logDir=\"@{userhome}/.local/share/Cryptomator/logs\"" --java-options "-Dcryptomator.pluginDir=\"@{userhome}/.local/share/Cryptomator/plugins\"" --java-options "-Dcryptomator.settingsPath=\"@{userhome}/.config/Cryptomator/settings.json:@{userhome}/.Cryptomator/settings.json\"" diff --git a/.github/workflows/mac-dmg-x64.yml b/.github/workflows/mac-dmg-x64.yml index b1677458e..fc995f565 100644 --- a/.github/workflows/mac-dmg-x64.yml +++ b/.github/workflows/mac-dmg-x64.yml @@ -128,6 +128,7 @@ jobs: --java-options "-Dapple.awt.enableTemplateImages=true" --java-options "-Dsun.java2d.metal=true" --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" + --java-options "-Dcryptomator.adminConfig=\"/Library/Application Support/Cryptomator/cryptomator.config\"" --java-options "-Dcryptomator.logDir=\"@{userhome}/Library/Logs/Cryptomator\"" --java-options "-Dcryptomator.pluginDir=\"@{userhome}/Library/Application Support/Cryptomator/Plugins\"" --java-options "-Dcryptomator.settingsPath=\"@{userhome}/Library/Application Support/Cryptomator/settings.json\"" diff --git a/.github/workflows/mac-dmg.yml b/.github/workflows/mac-dmg.yml index 8b341b56a..482aa61b6 100644 --- a/.github/workflows/mac-dmg.yml +++ b/.github/workflows/mac-dmg.yml @@ -126,6 +126,7 @@ jobs: --java-options "-Dapple.awt.enableTemplateImages=true" --java-options "-Dsun.java2d.metal=true" --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" + --java-options "-Dcryptomator.adminConfig=\"/Library/Application Support/Cryptomator/cryptomator.config\"" --java-options "-Dcryptomator.logDir=\"@{userhome}/Library/Logs/Cryptomator\"" --java-options "-Dcryptomator.pluginDir=\"@{userhome}/Library/Application Support/Cryptomator/Plugins\"" --java-options "-Dcryptomator.settingsPath=\"@{userhome}/Library/Application Support/Cryptomator/settings.json\"" diff --git a/.github/workflows/win-exe.yml b/.github/workflows/win-exe.yml index 749cab0c2..9cf8eab91 100644 --- a/.github/workflows/win-exe.yml +++ b/.github/workflows/win-exe.yml @@ -140,6 +140,7 @@ jobs: --java-options "-Dcryptomator.appVersion=\"${{ needs.get-version.outputs.semVerStr }}\"" --java-options "-Dfile.encoding=\"utf-8\"" --java-options "-Djava.net.useSystemProxies=true" + --java-options "-Dcryptomator.adminConfig=\"C:/ProgramData/Cryptomator/cryptomator.config\"" --java-options "-Dcryptomator.logDir=\"@{localappdata}/Cryptomator\"" --java-options "-Dcryptomator.pluginDir=\"@{appdata}/Cryptomator/Plugins\"" --java-options "-Dcryptomator.settingsPath=\"@{appdata}/Cryptomator/settings.json;@{userhome}/AppData/Roaming/Cryptomator/settings.json\"" diff --git a/dist/linux/appimage/build.sh b/dist/linux/appimage/build.sh index 99249cb35..847da6626 100755 --- a/dist/linux/appimage/build.sh +++ b/dist/linux/appimage/build.sh @@ -88,6 +88,7 @@ ${JAVA_HOME}/bin/jpackage \ --app-version "${VERSION}.${REVISION_NO}" \ --java-options "-Dfile.encoding=\"utf-8\"" \ --java-options "-Djava.net.useSystemProxies=true" \ + --java-options "-Dcryptomator.adminConfig=\"/etc/cryptomator/cryptomator.config\"" \ --java-options "-Dcryptomator.logDir=\"@{userhome}/.local/share/Cryptomator/logs\"" \ --java-options "-Dcryptomator.pluginDir=\"@{userhome}/.local/share/Cryptomator/plugins\"" \ --java-options "-Dcryptomator.settingsPath=\"@{userhome}/.config/Cryptomator/settings.json:@{userhome}/.Cryptomator/settings.json\"" \ diff --git a/dist/linux/debian/rules b/dist/linux/debian/rules index 456a97e89..d4bd6c40b 100755 --- a/dist/linux/debian/rules +++ b/dist/linux/debian/rules @@ -51,6 +51,7 @@ override_dh_auto_build: --java-options "-Xmx256m" \ --java-options "-Dfile.encoding=\"utf-8\"" \ --java-options "-Djava.net.useSystemProxies=true" \ + --java-options "-Dcryptomator.adminConfig=\"/etc/cryptomator/cryptomator.config\"" \ --java-options "-Dcryptomator.logDir=\"@{userhome}/.local/share/Cryptomator/logs\"" \ --java-options "-Dcryptomator.pluginDir=\"@{userhome}/.local/share/Cryptomator/plugins\"" \ --java-options "-Dcryptomator.settingsPath=\"@{userhome}/.config/Cryptomator/settings.json:@{userhome}/.Cryptomator/settings.json\"" \ diff --git a/dist/mac/dmg/build.sh b/dist/mac/dmg/build.sh index fbe81931c..0e3be2add 100755 --- a/dist/mac/dmg/build.sh +++ b/dist/mac/dmg/build.sh @@ -114,6 +114,7 @@ ${JAVA_HOME}/bin/jpackage \ --java-options "-Dapple.awt.enableTemplateImages=true" \ --java-options "-Dsun.java2d.metal=true" \ --java-options "-Dcryptomator.appVersion=\"${VERSION_NO}\"" \ + --java-options "-Dcryptomator.adminConfig=\"/Library/Application Support/Cryptomator/cryptomator.config\"" \ --java-options "-Dcryptomator.logDir=\"@{userhome}/Library/Logs/${APP_NAME}\"" \ --java-options "-XX:ErrorFile=/cryptomator/cryptomator_crash.log" \ --java-options "-Dcryptomator.pluginDir=\"@{userhome}/Library/Application Support/${APP_NAME}/Plugins\"" \ diff --git a/dist/win/build.ps1 b/dist/win/build.ps1 index 6fdee1c9a..35cc8e512 100644 --- a/dist/win/build.ps1 +++ b/dist/win/build.ps1 @@ -155,6 +155,7 @@ $javaOptions = @( "--java-options", "-Djava.net.useSystemProxies=true" "--java-options", "-Dcryptomator.logDir=`"@{localappdata}/$AppName`"" "--java-options", "-XX:ErrorFile=`"C:/cryptomator/cryptomator_crash.log`"" +"--java-options", "-Dcryptomator.adminConfig=`"C:/ProgramData/$AppName/cryptomator.config`"" "--java-options", "-Dcryptomator.pluginDir=`"@{appdata}/$AppName/Plugins`"" "--java-options", "-Dcryptomator.settingsPath=`"@{appdata}/$AppName/settings.json;@{userhome}/AppData/Roaming/$AppName/settings.json`"" "--java-options", "-Dcryptomator.ipcSocketPath=`"@{localappdata}/$AppName/ipc.socket`"" diff --git a/src/main/java/org/cryptomator/launcher/AdminPropertiesSetter.java b/src/main/java/org/cryptomator/launcher/AdminPropertiesSetter.java index 76638cd70..508ad2c49 100644 --- a/src/main/java/org/cryptomator/launcher/AdminPropertiesSetter.java +++ b/src/main/java/org/cryptomator/launcher/AdminPropertiesSetter.java @@ -14,8 +14,8 @@ import java.util.Set; /** * Class to overwrite system properties with an external properties file *

- * To overwrite system properties, the method {@link #adjustSystemProperties()} loads the properties file {@value CONFIG_NAME} from an OS-dependent location and adds all supported properties to the {@link System} properties. - * The predefined location is for + * To overwrite system properties, the method {@link #adjustSystemProperties()} loads the properties file {@value CONFIG_NAME} from the file defined in the property {@value #ADMIN_PROP_FILE_KEY} and writes all supported properties to the {@link System} properties. + * If {@value #ADMIN_PROP_FILE_KEY} is {@code null} OS-specific, predefined paths are used: *