mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-08-16 12:16:02 +00:00
Refactor to first check system property cryptomator.adminConfig for config path
This commit is contained in:
@@ -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\""
|
||||
|
||||
@@ -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\""
|
||||
|
||||
@@ -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\""
|
||||
|
||||
@@ -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\""
|
||||
|
||||
Vendored
+1
@@ -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\"" \
|
||||
|
||||
Vendored
+1
@@ -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\"" \
|
||||
|
||||
Vendored
+1
@@ -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\"" \
|
||||
|
||||
Vendored
+1
@@ -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`""
|
||||
|
||||
@@ -14,8 +14,8 @@ import java.util.Set;
|
||||
/**
|
||||
* Class to overwrite system properties with an external properties file
|
||||
* <p>
|
||||
* 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:
|
||||
* <ul>
|
||||
* <li>Linux: {@value LINUX_DIR }</li>
|
||||
* <li>macOS: {@value MAC_DIR }</li>
|
||||
@@ -42,6 +42,7 @@ class AdminPropertiesSetter {
|
||||
private static final String MAC_DIR = "/Library/Application Support/Cryptomator";
|
||||
private static final String WIN_DIR = "C:\\ProgramData\\Cryptomator";
|
||||
private static final String CONFIG_NAME = "cryptomator.config";
|
||||
private static final String ADMIN_PROP_FILE_KEY = "cryptomator.adminConfig";
|
||||
private static final Set<String> ALLOWED_OVERRIDES = Set.of( //
|
||||
"cryptomator.logDir", //
|
||||
"cryptomator.pluginDir", //
|
||||
@@ -52,15 +53,20 @@ class AdminPropertiesSetter {
|
||||
private static final Path ADMIN_PROPERTIES_FILE;
|
||||
|
||||
static {
|
||||
final Path adminDir;
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
adminDir = Path.of(WIN_DIR);
|
||||
} else if (SystemUtils.IS_OS_MAC) {
|
||||
adminDir = Path.of(MAC_DIR);
|
||||
final String systemPropertyDefinedAdminFile = System.getProperty(ADMIN_PROP_FILE_KEY);
|
||||
if (systemPropertyDefinedAdminFile != null) {
|
||||
ADMIN_PROPERTIES_FILE = Path.of(systemPropertyDefinedAdminFile);
|
||||
} else {
|
||||
adminDir = Path.of(LINUX_DIR);
|
||||
final Path defaultAdminDir;
|
||||
if (SystemUtils.IS_OS_WINDOWS) {
|
||||
defaultAdminDir = Path.of(WIN_DIR);
|
||||
} else if (SystemUtils.IS_OS_MAC) {
|
||||
defaultAdminDir = Path.of(MAC_DIR);
|
||||
} else {
|
||||
defaultAdminDir = Path.of(LINUX_DIR);
|
||||
}
|
||||
ADMIN_PROPERTIES_FILE = defaultAdminDir.resolve(CONFIG_NAME);
|
||||
}
|
||||
ADMIN_PROPERTIES_FILE = adminDir.resolve(CONFIG_NAME);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user