Bladeren bron

fixes #1755

use system property instead of package version
Armin Schrenk 3 jaren geleden
bovenliggende
commit
e811f5313d

+ 1 - 0
.github/workflows/release.yml

@@ -175,6 +175,7 @@ jobs:
           --copyright "(C) 2016 - 2021 Skymatic GmbH"
           --java-options "-Xss5m"
           --java-options "-Xmx256m"
+          --java-options "-Dcryptomator.appVersion=\"${{ needs.metadata.outputs.versionStr }}\""
           ${{ matrix.jpackageoptions }}
       - name: Create appdir.tar
         run: tar -cvf appdir.tar appdir

+ 5 - 0
src/main/java/org/cryptomator/common/Environment.java

@@ -38,6 +38,7 @@ public class Environment {
 		LOG.debug("cryptomator.logDir: {}", System.getProperty("cryptomator.logDir"));
 		LOG.debug("cryptomator.mountPointsDir: {}", System.getProperty("cryptomator.mountPointsDir"));
 		LOG.debug("cryptomator.minPwLength: {}", System.getProperty("cryptomator.minPwLength"));
+		LOG.debug("cryptomator.appVersion: {}", System.getProperty("cryptomator.appVersion"));
 		LOG.debug("cryptomator.buildNumber: {}", System.getProperty("cryptomator.buildNumber"));
 		LOG.debug("cryptomator.showTrayIcon: {}", System.getProperty("cryptomator.showTrayIcon"));
 		LOG.debug("fuse.experimental: {}", Boolean.getBoolean("fuse.experimental"));
@@ -67,6 +68,10 @@ public class Environment {
 		return getPath("cryptomator.mountPointsDir").map(this::replaceHomeDir);
 	}
 
+	public Optional<String> getAppVersion() {
+		return Optional.ofNullable(System.getProperty("cryptomator.appVersion"));
+	}
+
 	public Optional<String> getBuildNumber() {
 		return Optional.ofNullable(System.getProperty("cryptomator.buildNumber"));
 	}

+ 2 - 4
src/main/java/org/cryptomator/launcher/Cryptomator.java

@@ -38,18 +38,16 @@ public class Cryptomator {
 	private final DebugMode debugMode;
 	private final Environment env;
 	private final Lazy<IpcMessageHandler> ipcMessageHandler;
-	private final Optional<String> applicationVersion;
 	private final CountDownLatch shutdownLatch;
 	private final ShutdownHook shutdownHook;
 	private final Lazy<UiLauncher> uiLauncher;
 
 	@Inject
-	Cryptomator(LoggerConfiguration logConfig, DebugMode debugMode, Environment env, Lazy<IpcMessageHandler> ipcMessageHandler, @Named("applicationVersion") Optional<String> applicationVersion, @Named("shutdownLatch") CountDownLatch shutdownLatch, ShutdownHook shutdownHook, Lazy<UiLauncher> uiLauncher) {
+	Cryptomator(LoggerConfiguration logConfig, DebugMode debugMode, Environment env, Lazy<IpcMessageHandler> ipcMessageHandler, @Named("shutdownLatch") CountDownLatch shutdownLatch, ShutdownHook shutdownHook, Lazy<UiLauncher> uiLauncher) {
 		this.logConfig = logConfig;
 		this.debugMode = debugMode;
 		this.env = env;
 		this.ipcMessageHandler = ipcMessageHandler;
-		this.applicationVersion = applicationVersion;
 		this.shutdownLatch = shutdownLatch;
 		this.shutdownHook = shutdownHook;
 		this.uiLauncher = uiLauncher;
@@ -69,7 +67,7 @@ public class Cryptomator {
 	 */
 	private int run(String[] args) {
 		logConfig.init();
-		LOG.info("Starting Cryptomator {} on {} {} ({})", applicationVersion.orElse("SNAPSHOT"), SystemUtils.OS_NAME, SystemUtils.OS_VERSION, SystemUtils.OS_ARCH);
+		LOG.info("Starting Cryptomator {} on {} {} ({})", env.getAppVersion().orElse("SNAPSHOT"), SystemUtils.OS_NAME, SystemUtils.OS_VERSION, SystemUtils.OS_ARCH);
 		debugMode.initialize();
 
 		/*

+ 0 - 7
src/main/java/org/cryptomator/launcher/CryptomatorModule.java

@@ -18,11 +18,4 @@ class CryptomatorModule {
 		return new CountDownLatch(1);
 	}
 
-	@Provides
-	@Singleton
-	@Named("applicationVersion")
-	static Optional<String> provideApplicationVersion() {
-		return Optional.ofNullable(Cryptomator.class.getPackage().getImplementationVersion());
-	}
-
 }

+ 3 - 2
src/main/java/org/cryptomator/ui/fxapp/UpdateChecker.java

@@ -1,5 +1,6 @@
 package org.cryptomator.ui.fxapp;
 
+import org.cryptomator.common.Environment;
 import org.cryptomator.common.settings.Settings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -31,9 +32,9 @@ public class UpdateChecker {
 	private final ScheduledService<String> updateCheckerService;
 
 	@Inject
-	UpdateChecker(Settings settings, @Named("applicationVersion") Optional<String> applicationVersion, @Named("latestVersion") StringProperty latestVersionProperty, @Named("SemVer") Comparator<String> semVerComparator, ScheduledService<String> updateCheckerService) {
+	UpdateChecker(Settings settings, Environment env, @Named("latestVersion") StringProperty latestVersionProperty, @Named("SemVer") Comparator<String> semVerComparator, ScheduledService<String> updateCheckerService) {
 		this.settings = settings;
-		this.applicationVersion = applicationVersion;
+		this.applicationVersion = env.getAppVersion();
 		this.latestVersionProperty = latestVersionProperty;
 		this.semVerComparator = semVerComparator;
 		this.updateCheckerService = updateCheckerService;

+ 3 - 2
src/main/java/org/cryptomator/ui/fxapp/UpdateCheckerModule.java

@@ -3,6 +3,7 @@ package org.cryptomator.ui.fxapp;
 import dagger.Module;
 import dagger.Provides;
 import org.apache.commons.lang3.SystemUtils;
+import org.cryptomator.common.Environment;
 import org.cryptomator.common.settings.Settings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,9 +52,9 @@ public abstract class UpdateCheckerModule {
 
 	@Provides
 	@FxApplicationScoped
-	static HttpRequest provideCheckForUpdatesRequest(@Named("applicationVersion") Optional<String> applicationVersion) {
+	static HttpRequest provideCheckForUpdatesRequest(Environment env) {
 		String userAgent = String.format("Cryptomator VersionChecker/%s %s %s (%s)", //
-				applicationVersion.orElse("SNAPSHOT"), //
+				env.getAppVersion().orElse("SNAPSHOT"), //
 				SystemUtils.OS_NAME, //
 				SystemUtils.OS_VERSION, //
 				SystemUtils.OS_ARCH); //