]> nmode's Git Repositories - signal-cli/commitdiff
Add -v and --version command line arguments
authorAsamK <asamk@gmx.de>
Tue, 22 Sep 2015 12:45:52 +0000 (14:45 +0200)
committerAsamK <asamk@gmx.de>
Tue, 22 Sep 2015 12:45:52 +0000 (14:45 +0200)
Only works running from a jar file

src/main/java/cli/Main.java

index b1822aafb02ad413e8f3f1bb1ac36c40f9b71768..059fb46b7ec5c97f3e1647432f7b21ea53e01805 100644 (file)
@@ -161,7 +161,15 @@ public class Main {
     private static Namespace parseArgs(String[] args) {
         ArgumentParser parser = ArgumentParsers.newArgumentParser("textsecure-cli")
                 .defaultHelp(true)
-                .description("Commandline interface for TextSecure.");
+                .description("Commandline interface for TextSecure.")
+                .version(Manager.PROJECT_NAME + " " + Manager.PROJECT_VERSION);
+
+        parser.addArgument("-u", "--username")
+                .help("Specify your phone number, that will be used for verification.");
+        parser.addArgument("-v", "--version")
+                .help("Show package version.")
+                .action(Arguments.version());
+
         Subparsers subparsers = parser.addSubparsers()
                 .title("subcommands")
                 .dest("command")
@@ -188,12 +196,15 @@ public class Main {
                 .help("Add file as attachment");
 
         Subparser parserReceive = subparsers.addParser("receive");
-        parser.addArgument("-u", "--username")
-                .required(true)
-                .help("Specify your phone number, that will be used for verification.");
 
         try {
-            return parser.parseArgs(args);
+            Namespace ns = parser.parseArgs(args);
+            if (ns.getString("username") == null) {
+                parser.printUsage();
+                System.err.println("You need to specify a username (phone number)");
+                System.exit(2);
+            }
+            return ns;
         } catch (ArgumentParserException e) {
             parser.handleError(e);
             return null;