Browse Source

Added "--version" (short: "-v")

Merge pull request #2064 from cryptomator/1996-cli-version
JaniruTEC 3 years ago
parent
commit
e71b375437
1 changed files with 16 additions and 0 deletions
  1. 16 0
      src/main/java/org/cryptomator/launcher/Cryptomator.java

+ 16 - 0
src/main/java/org/cryptomator/launcher/Cryptomator.java

@@ -21,7 +21,9 @@ import javax.inject.Inject;
 import javax.inject.Singleton;
 import javafx.application.Application;
 import javafx.stage.Stage;
+import java.util.Arrays;
 import java.util.List;
+import java.util.Optional;
 import java.util.concurrent.Executors;
 
 @Singleton
@@ -51,6 +53,20 @@ public class Cryptomator {
 	}
 
 	public static void main(String[] args) {
+		var printVersion = Optional.ofNullable(args) //
+				.stream() //Streams either one element (the args-array) or zero elements
+				.flatMap(Arrays::stream) //
+				.anyMatch(arg -> "-v".equals(arg) || "--version".equals(arg));
+
+		if (printVersion) {
+			var appVer = System.getProperty("cryptomator.appVersion", "SNAPSHOT");
+			var buildNumber = System.getProperty("cryptomator.buildNumber", "SNAPSHOT");
+
+			//Reduce noise for parsers by using System.out directly
+			System.out.printf("Cryptomator version %s (build %s)%n", appVer, buildNumber);
+			return;
+		}
+
 		int exitCode = CRYPTOMATOR_COMPONENT.application().run(args);
 		LOG.info("Exit {}", exitCode);
 		System.exit(exitCode); // end remaining non-daemon threads.