]> source.dussan.org Git - gitblit.git/commitdiff
Replace JCommander with args4j 28/28/2
authorJames Moger <james.moger@gitblit.com>
Thu, 13 Mar 2014 00:12:50 +0000 (20:12 -0400)
committerJames Moger <james.moger@gitblit.com>
Thu, 27 Mar 2014 13:39:25 +0000 (09:39 -0400)
.classpath
NOTICE
build.moxie
gitblit.iml
releases.moxie
src/main/java/com/gitblit/AddIndexedBranch.java
src/main/java/com/gitblit/FederationClient.java
src/main/java/com/gitblit/GitBlitServer.java
src/main/java/com/gitblit/ReindexTickets.java
src/site/design.mkd
src/test/java/de/akquinet/devops/GitBlitServer4UITests.java

index f0ff08e6850de5b0ec1fd8419c760373a11a1181..764c1ea924c83877b5a891fb09d0ed893811f177 100644 (file)
@@ -10,7 +10,6 @@
        <classpathentry kind="lib" path="ext/dagger-compiler-1.1.0.jar" sourcepath="ext/src/dagger-compiler-1.1.0.jar" />
        <classpathentry kind="lib" path="ext/javawriter-2.1.1.jar" sourcepath="ext/src/javawriter-2.1.1.jar" />
        <classpathentry kind="lib" path="ext/annotations-12.0.jar" sourcepath="ext/src/annotations-12.0.jar" />
-       <classpathentry kind="lib" path="ext/jcommander-1.17.jar" sourcepath="ext/src/jcommander-1.17.jar" />
        <classpathentry kind="lib" path="ext/log4j-1.2.17.jar" sourcepath="ext/src/log4j-1.2.17.jar" />
        <classpathentry kind="lib" path="ext/slf4j-api-1.6.6.jar" sourcepath="ext/src/slf4j-api-1.6.6.jar" />
        <classpathentry kind="lib" path="ext/slf4j-log4j12-1.6.6.jar" sourcepath="ext/src/slf4j-log4j12-1.6.6.jar" />
@@ -73,6 +72,7 @@
        <classpathentry kind="lib" path="ext/jna-3.5.0.jar" sourcepath="ext/src/jna-3.5.0.jar" />
        <classpathentry kind="lib" path="ext/guava-13.0.1.jar" sourcepath="ext/src/guava-13.0.1.jar" />
        <classpathentry kind="lib" path="ext/libpam4j-1.7.jar" sourcepath="ext/src/libpam4j-1.7.jar" />
+       <classpathentry kind="lib" path="ext/args4j-2.0.26.jar" sourcepath="ext/src/args4j-2.0.26.jar" />
        <classpathentry kind="lib" path="ext/jedis-2.3.1.jar" sourcepath="ext/src/jedis-2.3.1.jar" />
        <classpathentry kind="lib" path="ext/commons-pool2-2.0.jar" sourcepath="ext/src/commons-pool2-2.0.jar" />
        <classpathentry kind="lib" path="ext/junit-4.11.jar" sourcepath="ext/src/junit-4.11.jar" />
diff --git a/NOTICE b/NOTICE
index 1417ecaf860356a64e0a8ee3c5e42b27d9173430..359488f7d5383c562885f24bb60de262f2903555 100644 (file)
--- a/NOTICE
+++ b/NOTICE
@@ -151,22 +151,6 @@ JUnit
 \r
    http://junit.org\r
 \r
----------------------------------------------------------------------------\r
-ant-googlecode\r
----------------------------------------------------------------------------\r
-   ant-googlecode, released under the\r
-   New BSD License\r
-   \r
-   http://code.google.com/p/ant-googlecode\r
-\r
----------------------------------------------------------------------------\r
-GenJar\r
----------------------------------------------------------------------------\r
-   GenJar, released under the\r
-   Apache Software License, Version 1.1.\r
-   \r
-   http://genjar.sourceforge.net\r
-   \r
 ---------------------------------------------------------------------------\r
 Fancybox image viewer\r
 ---------------------------------------------------------------------------\r
@@ -342,3 +326,11 @@ Jedis
    MIT license\r
    \r
    https://github.com/xetorthio/jedis\r
+\r
+---------------------------------------------------------------------------\r
+args4j\r
+---------------------------------------------------------------------------\r
+   args4j, release under the\r
+   Apache License 2.0\r
+   \r
+   http://args4j.kohsuke.org\r
index ac85aa3e15a6c6fca0d101c78ddd3e7fe0f3841c..7ba9b4c795ec530af47dde5012095a4d4600de22 100644 (file)
@@ -128,7 +128,6 @@ dependencies:
 - compile 'com.squareup.dagger:dagger-compiler:1.1.0' :war optional apt
 # Standard dependencies
 - compile 'com.intellij:annotations:12.0' :war
-- compile 'com.beust:jcommander:1.17' :fedclient :authority
 - compile 'log4j:log4j:1.2.17' :war :fedclient :authority
 - compile 'org.slf4j:slf4j-api:1.6.6' :war :fedclient :authority
 - compile 'org.slf4j:slf4j-log4j12:1.6.6' :war :fedclient :authority
@@ -169,6 +168,7 @@ dependencies:
 - compile 'org.freemarker:freemarker:2.3.19' :war
 - compile 'com.github.dblock.waffle:waffle-jna:1.5' :war
 - compile 'org.kohsuke:libpam4j:1.7' :war
+- compile 'args4j:args4j:2.0.26' :war :fedclient :authority
 - compile 'commons-codec:commons-codec:1.7' :war
 - compile 'redis.clients:jedis:2.3.1' :war
 - test 'junit'
index fc9656fc4caf82f49fb95fe9aae895fa593320ec..ba8068ee8f12ad373c76782bb4482bde706b0ff1 100644 (file)
         </SOURCES>
       </library>
     </orderEntry>
-    <orderEntry type="module-library">
-      <library name="jcommander-1.17.jar">
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/ext/jcommander-1.17.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES>
-          <root url="jar://$MODULE_DIR$/ext/src/jcommander-1.17.jar!/" />
-        </SOURCES>
-      </library>
-    </orderEntry>
     <orderEntry type="module-library">
       <library name="log4j-1.2.17.jar">
         <CLASSES>
         </SOURCES>
       </library>
     </orderEntry>
+    <orderEntry type="module-library">
+      <library name="args4j-2.0.26.jar">
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/ext/args4j-2.0.26.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES>
+          <root url="jar://$MODULE_DIR$/ext/src/args4j-2.0.26.jar!/" />
+        </SOURCES>
+      </library>
+    </orderEntry>
     <orderEntry type="module-library">
       <library name="jedis-2.3.1.jar">
         <CLASSES>
index 0a57d4008653849e31daf599d520f5a5d798ec74..8b16294ad2716dd2011b52086d7ff24dd177391b 100644 (file)
@@ -13,11 +13,15 @@ r22: {
     - Repository mailing lists could not be reset from the Edit Repository page (issue-399)
     - Ensure the Lucene ticket index is updated on repository deletion.
     changes:
-    - Option to allow LDAP users to directly authenticate without performing LDAP searches
+    - Option to allow LDAP users to directly authenticate without performing LDAP searches (pr-162))
+    - Replace JCommander with args4j to be consistent with other tools (ticket-28)
     additions:
-    - Added a French translation
-    dependencyChanges: ~
+    - Added a French translation (pr-163)
+    dependencyChanges:
+    - args4j 2.0.26
     contributors:
+    - James Moger
+    - David Ostrovsky
     - Johann Ollivier-Lapeyre
     - Jeremie Brebec
     settings:
index 4b668c4ed0921a95d63acf64a5139ec301d5ddb5..459e1f00e9f9592a56fdc5f5cd162b66e3a6e178 100644 (file)
@@ -28,11 +28,10 @@ import org.eclipse.jgit.lib.RepositoryCache.FileKey;
 import org.eclipse.jgit.lib.StoredConfig;\r
 import org.eclipse.jgit.storage.file.FileRepositoryBuilder;\r
 import org.eclipse.jgit.util.FS;\r
+import org.kohsuke.args4j.CmdLineException;\r
+import org.kohsuke.args4j.CmdLineParser;\r
+import org.kohsuke.args4j.Option;\r
 \r
-import com.beust.jcommander.JCommander;\r
-import com.beust.jcommander.Parameter;\r
-import com.beust.jcommander.ParameterException;\r
-import com.beust.jcommander.Parameters;\r
 import com.gitblit.models.RefModel;\r
 import com.gitblit.utils.ArrayUtils;\r
 import com.gitblit.utils.JGitUtils;\r
@@ -48,12 +47,12 @@ public class AddIndexedBranch {
 \r
        public static void main(String... args) {\r
                Params params = new Params();\r
-               JCommander jc = new JCommander(params);\r
+               CmdLineParser parser = new CmdLineParser(params);\r
                try {\r
-                       jc.parse(args);\r
-               } catch (ParameterException t) {\r
+                       parser.parseArgument(args);\r
+               } catch (CmdLineException t) {\r
                        System.err.println(t.getMessage());\r
-                       jc.usage();\r
+                       parser.printUsage(System.out);\r
                        return;\r
                }\r
 \r
@@ -95,7 +94,7 @@ public class AddIndexedBranch {
                                Set<String> indexedBranches = new LinkedHashSet<String>();\r
 \r
                                // add all local branches to index\r
-                               if(params.addAllLocalBranches) {\r
+                               if (params.addAllLocalBranches) {\r
                                        List<RefModel> list = JGitUtils.getLocalBranches(repository, true, -1);\r
                                        for (RefModel refModel : list) {\r
                                                System.out.println(MessageFormat.format("adding [gitblit] indexBranch={0} for {1}", refModel.getName(), repo));\r
@@ -129,21 +128,20 @@ public class AddIndexedBranch {
 \r
 \r
        /**\r
-        * JCommander Parameters class for AddIndexedBranch.\r
+        * Parameters class for AddIndexedBranch.\r
         */\r
-       @Parameters(separators = " ")\r
        private static class Params {\r
 \r
-               @Parameter(names = { "--repositoriesFolder" }, description = "The root repositories folder ", required = true)\r
+               @Option(name =  "--repositoriesFolder", usage = "The root repositories folder ", required = true, metaVar = "PATH")\r
                public String folder;\r
 \r
-               @Parameter(names = { "--branch" }, description = "The branch to index", required = false)\r
+               @Option(name = "--branch", usage = "The branch to index", metaVar = "BRANCH")\r
                public String branch = "default";\r
 \r
-               @Parameter(names = { "--skip" }, description = "Skip the named repository (simple fizzy matching is supported)", required = false)\r
+               @Option(name = "--skip", usage = "Skip the named repository (simple fizzy matching is supported)")\r
                public List<String> exclusions = new ArrayList<String>();\r
 \r
-               @Parameter(names = { "--all-local-branches" }, description = "Add all local branches to index. If specified, the --branch parameter is not considered.", required = false)\r
-               public boolean addAllLocalBranches = false;\r
+               @Option(name = "--all-local-branches", usage = "Add all local branches to index. If specified, the --branch parameter is not considered.")\r
+               public boolean addAllLocalBranches;\r
        }\r
 }\r
index 628a05dc4a659e97cfcb6e4487529321648d5016..792a63822c013e2b259e29656992332ef8412264 100644 (file)
@@ -20,10 +20,10 @@ import java.util.ArrayList;
 import java.util.Collection;\r
 import java.util.List;\r
 \r
-import com.beust.jcommander.JCommander;\r
-import com.beust.jcommander.Parameter;\r
-import com.beust.jcommander.ParameterException;\r
-import com.beust.jcommander.Parameters;\r
+import org.kohsuke.args4j.CmdLineException;\r
+import org.kohsuke.args4j.CmdLineParser;\r
+import org.kohsuke.args4j.Option;\r
+\r
 import com.gitblit.manager.FederationManager;\r
 import com.gitblit.manager.GitblitManager;\r
 import com.gitblit.manager.IGitblit;\r
@@ -47,11 +47,11 @@ public class FederationClient {
 \r
        public static void main(String[] args) {\r
                Params params = new Params();\r
-               JCommander jc = new JCommander(params);\r
+               CmdLineParser parser = new CmdLineParser(params);\r
                try {\r
-                       jc.parse(args);\r
-               } catch (ParameterException t) {\r
-                       usage(jc, t);\r
+                       parser.parseArgument(args);\r
+               } catch (CmdLineException t) {\r
+                       usage(parser, t);\r
                }\r
 \r
                System.out.println("Gitblit Federation Client v" + Constants.getVersion() + " (" + Constants.getBuildDate() + ")");\r
@@ -77,7 +77,6 @@ public class FederationClient {
                        model.token = params.token;\r
                        model.mirror = params.mirror;\r
                        model.bare = params.bare;\r
-                       model.frequency = params.frequency;\r
                        model.folder = "";\r
                        registrations.add(model);\r
                }\r
@@ -112,7 +111,7 @@ public class FederationClient {
                System.exit(0);\r
        }\r
 \r
-       private static void usage(JCommander jc, ParameterException t) {\r
+       private static void usage(CmdLineParser parser, CmdLineException t) {\r
                System.out.println(Constants.getGitBlitVersion());\r
                System.out.println();\r
                if (t != null) {\r
@@ -120,40 +119,36 @@ public class FederationClient {
                        System.out.println();\r
                }\r
 \r
-               if (jc != null) {\r
-                       jc.usage();\r
+               if (parser != null) {\r
+                       parser.printUsage(System.out);\r
                }\r
                System.exit(0);\r
        }\r
 \r
        /**\r
-        * JCommander Parameters class for FederationClient.\r
+        * Parameters class for FederationClient.\r
         */\r
-       @Parameters(separators = " ")\r
        private static class Params {\r
 \r
-               @Parameter(names = { "--registrations" }, description = "Gitblit Federation Registrations File", required = false)\r
+               @Option(name = "--registrations", usage = "Gitblit Federation Registrations File", metaVar = "FILE")\r
                public String registrationsFile = "${baseFolder}/federation.properties";\r
 \r
-               @Parameter(names = { "--url" }, description = "URL of Gitblit instance to mirror from", required = false)\r
+               @Option(name = "--url", usage = "URL of Gitblit instance to mirror from", metaVar = "URL")\r
                public String url;\r
 \r
-               @Parameter(names = { "--mirror" }, description = "Mirror repositories", required = false)\r
+               @Option(name = "--mirror", usage = "Mirror repositories")\r
                public boolean mirror;\r
 \r
-               @Parameter(names = { "--bare" }, description = "Create bare repositories", required = false)\r
+               @Option(name = "--bare", usage = "Create bare repositories")\r
                public boolean bare;\r
 \r
-               @Parameter(names = { "--token" }, description = "Federation Token", required = false)\r
+               @Option(name = "--token", usage = "Federation Token", metaVar = "TOKEN")\r
                public String token;\r
 \r
-               @Parameter(names = { "--frequency" }, description = "Period to wait between pull attempts (requires --daemon)", required = false)\r
-               public String frequency = "60 mins";\r
-\r
-               @Parameter(names = { "--baseFolder" }, description = "Base folder for received data", required = false)\r
+               @Option(name = "--baseFolder", usage = "Base folder for received data", metaVar = "PATH")\r
                public String baseFolder;\r
 \r
-               @Parameter(names = { "--repositoriesFolder" }, description = "Destination folder for cloned repositories", required = false)\r
+               @Option(name = "--repositoriesFolder", usage = "Destination folder for cloned repositories", metaVar = "PATH")\r
                public String repositoriesFolder;\r
 \r
        }\r
index 1e51577a7858fd04b7462d055137b65b84ee6231..64d3caddb55bdfc8a34bf48dae1d5f718e09f3ac 100644 (file)
@@ -55,13 +55,12 @@ import org.eclipse.jetty.webapp.WebAppContext;
 import org.eclipse.jgit.storage.file.FileBasedConfig;\r
 import org.eclipse.jgit.util.FS;\r
 import org.eclipse.jgit.util.FileUtils;\r
+import org.kohsuke.args4j.CmdLineException;\r
+import org.kohsuke.args4j.CmdLineParser;\r
+import org.kohsuke.args4j.Option;\r
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
 \r
-import com.beust.jcommander.JCommander;\r
-import com.beust.jcommander.Parameter;\r
-import com.beust.jcommander.ParameterException;\r
-import com.beust.jcommander.Parameters;\r
 import com.gitblit.authority.GitblitAuthority;\r
 import com.gitblit.authority.NewCertificateConfig;\r
 import com.gitblit.servlet.GitblitContext;\r
@@ -96,7 +95,7 @@ public class GitBlitServer {
                // filter out the baseFolder parameter\r
                List<String> filtered = new ArrayList<String>();\r
                String folder = "data";\r
-               for (int i = 0; i< args.length; i++) {\r
+               for (int i = 0; i < args.length; i++) {\r
                        String arg = args[i];\r
                        if (arg.equals("--baseFolder")) {\r
                                if (i + 1 == args.length) {\r
@@ -113,14 +112,14 @@ public class GitBlitServer {
 \r
                Params.baseFolder = folder;\r
                Params params = new Params();\r
-               JCommander jc = new JCommander(params);\r
+               CmdLineParser parser = new CmdLineParser(params);\r
                try {\r
-                       jc.parse(filtered.toArray(new String[filtered.size()]));\r
+                       parser.parseArgument(filtered);\r
                        if (params.help) {\r
-                               server.usage(jc, null);\r
+                               server.usage(parser, null);\r
                        }\r
-               } catch (ParameterException t) {\r
-                       server.usage(jc, t);\r
+               } catch (CmdLineException t) {\r
+                       server.usage(parser, t);\r
                }\r
 \r
                if (params.stop) {\r
@@ -133,10 +132,10 @@ public class GitBlitServer {
        /**\r
         * Display the command line usage of Gitblit GO.\r
         *\r
-        * @param jc\r
+        * @param parser\r
         * @param t\r
         */\r
-       protected final void usage(JCommander jc, ParameterException t) {\r
+       protected final void usage(CmdLineParser parser, CmdLineException t) {\r
                System.out.println(Constants.BORDER);\r
                System.out.println(Constants.getGitBlitVersion());\r
                System.out.println(Constants.BORDER);\r
@@ -145,8 +144,8 @@ public class GitBlitServer {
                        System.out.println(t.getMessage());\r
                        System.out.println();\r
                }\r
-               if (jc != null) {\r
-                       jc.usage();\r
+               if (parser != null) {\r
+                       parser.printUsage(System.out);\r
                        System.out\r
                                        .println("\nExample:\n  java -server -Xmx1024M -jar gitblit.jar --repositoriesFolder c:\\git --httpPort 80 --httpsPort 443");\r
                }\r
@@ -624,9 +623,8 @@ public class GitBlitServer {
        }\r
 \r
        /**\r
-        * JCommander Parameters class for GitBlitServer.\r
+        * Parameters class for GitBlitServer.\r
         */\r
-       @Parameters(separators = " ")\r
        public static class Params {\r
 \r
                public static String baseFolder;\r
@@ -636,69 +634,69 @@ public class GitBlitServer {
                /*\r
                 * Server parameters\r
                 */\r
-               @Parameter(names = { "-h", "--help" }, description = "Show this help")\r
+               @Option(name = "--help", aliases = { "-h"}, usage = "Show this help")\r
                public Boolean help = false;\r
 \r
-               @Parameter(names = { "--stop" }, description = "Stop Server")\r
+               @Option(name = "--stop", usage = "Stop Server")\r
                public Boolean stop = false;\r
 \r
-               @Parameter(names = { "--tempFolder" }, description = "Folder for server to extract built-in webapp")\r
+               @Option(name = "--tempFolder", usage = "Folder for server to extract built-in webapp", metaVar="PATH")\r
                public String temp = FILESETTINGS.getString(Keys.server.tempFolder, "temp");\r
 \r
-               @Parameter(names = { "--dailyLogFile" }, description = "Log to a rolling daily log file INSTEAD of stdout.")\r
+               @Option(name = "--dailyLogFile", usage = "Log to a rolling daily log file INSTEAD of stdout.")\r
                public Boolean dailyLogFile = false;\r
 \r
                /*\r
                 * GIT Servlet Parameters\r
                 */\r
-               @Parameter(names = { "--repositoriesFolder" }, description = "Git Repositories Folder")\r
+               @Option(name = "--repositoriesFolder", usage = "Git Repositories Folder", metaVar="PATH")\r
                public String repositoriesFolder = FILESETTINGS.getString(Keys.git.repositoriesFolder,\r
                                "git");\r
 \r
                /*\r
                 * Authentication Parameters\r
                 */\r
-               @Parameter(names = { "--userService" }, description = "Authentication and Authorization Service (filename or fully qualified classname)")\r
+               @Option(name = "--userService", usage = "Authentication and Authorization Service (filename or fully qualified classname)")\r
                public String userService = FILESETTINGS.getString(Keys.realm.userService,\r
                                "users.conf");\r
 \r
                /*\r
                 * JETTY Parameters\r
                 */\r
-               @Parameter(names = { "--useNio" }, description = "Use NIO Connector else use Socket Connector.")\r
+               @Option(name = "--useNio", usage = "Use NIO Connector else use Socket Connector.")\r
                public Boolean useNIO = FILESETTINGS.getBoolean(Keys.server.useNio, true);\r
 \r
-               @Parameter(names = "--httpPort", description = "HTTP port for to serve. (port <= 0 will disable this connector)")\r
+               @Option(name = "--httpPort", usage = "HTTP port for to serve. (port <= 0 will disable this connector)", metaVar="PORT")\r
                public Integer port = FILESETTINGS.getInteger(Keys.server.httpPort, 0);\r
 \r
-               @Parameter(names = "--httpsPort", description = "HTTPS port to serve.  (port <= 0 will disable this connector)")\r
+               @Option(name = "--httpsPort", usage = "HTTPS port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")\r
                public Integer securePort = FILESETTINGS.getInteger(Keys.server.httpsPort, 8443);\r
 \r
-               @Parameter(names = "--ajpPort", description = "AJP port to serve.  (port <= 0 will disable this connector)")\r
+               @Option(name = "--ajpPort", usage = "AJP port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")\r
                public Integer ajpPort = FILESETTINGS.getInteger(Keys.server.ajpPort, 0);\r
 \r
-               @Parameter(names = "--gitPort", description = "Git Daemon port to serve.  (port <= 0 will disable this connector)")\r
+               @Option(name = "--gitPort", usage = "Git Daemon port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")\r
                public Integer gitPort = FILESETTINGS.getInteger(Keys.git.daemonPort, 9418);\r
 \r
-               @Parameter(names = "--alias", description = "Alias of SSL certificate in keystore for serving https.")\r
+               @Option(name = "--alias", usage = "Alias of SSL certificate in keystore for serving https.", metaVar="ALIAS")\r
                public String alias = FILESETTINGS.getString(Keys.server.certificateAlias, "");\r
 \r
-               @Parameter(names = "--storePassword", description = "Password for SSL (https) keystore.")\r
+               @Option(name = "--storePassword", usage = "Password for SSL (https) keystore.", metaVar="PASSWORD")\r
                public String storePassword = FILESETTINGS.getString(Keys.server.storePassword, "");\r
 \r
-               @Parameter(names = "--shutdownPort", description = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)")\r
+               @Option(name = "--shutdownPort", usage = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)", metaVar="PORT")\r
                public Integer shutdownPort = FILESETTINGS.getInteger(Keys.server.shutdownPort, 8081);\r
 \r
-               @Parameter(names = "--requireClientCertificates", description = "Require client X509 certificates for https connections.")\r
+               @Option(name = "--requireClientCertificates", usage = "Require client X509 certificates for https connections.")\r
                public Boolean requireClientCertificates = FILESETTINGS.getBoolean(Keys.server.requireClientCertificates, false);\r
 \r
                /*\r
                 * Setting overrides\r
                 */\r
-               @Parameter(names = { "--settings" }, description = "Path to alternative settings")\r
+               @Option(name = "--settings", usage = "Path to alternative settings", metaVar="FILE")\r
                public String settingsfile;\r
 \r
-               @Parameter(names = { "--ldapLdifFile" }, description = "Path to LDIF file.  This will cause an in-memory LDAP server to be started according to gitblit settings")\r
+               @Option(name = "--ldapLdifFile", usage = "Path to LDIF file.  This will cause an in-memory LDAP server to be started according to gitblit settings", metaVar="FILE")\r
                public String ldapLdifFile;\r
 \r
        }\r
index af3ca0b2a632153298481136c41c112e7261e747..f3d6d266ecdcceb3968917296abe099a13e274ff 100644 (file)
@@ -20,10 +20,10 @@ import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.List;
 
-import com.beust.jcommander.JCommander;
-import com.beust.jcommander.Parameter;
-import com.beust.jcommander.ParameterException;
-import com.beust.jcommander.Parameters;
+import org.kohsuke.args4j.CmdLineException;
+import org.kohsuke.args4j.CmdLineParser;
+import org.kohsuke.args4j.Option;
+
 import com.gitblit.manager.IRepositoryManager;
 import com.gitblit.manager.IRuntimeManager;
 import com.gitblit.manager.RepositoryManager;
@@ -66,15 +66,15 @@ public class ReindexTickets {
 
                Params.baseFolder = folder;
                Params params = new Params();
-               JCommander jc = new JCommander(params);
+               CmdLineParser parser = new CmdLineParser(params);
                try {
-                       jc.parse(filtered.toArray(new String[filtered.size()]));
+                       parser.parseArgument(filtered);
                        if (params.help) {
-                               reindex.usage(jc, null);
+                               reindex.usage(parser, null);
                                return;
                        }
-               } catch (ParameterException t) {
-                       reindex.usage(jc, t);
+               } catch (CmdLineException t) {
+                       reindex.usage(parser, t);
                        return;
                }
 
@@ -94,10 +94,10 @@ public class ReindexTickets {
        /**
         * Display the command line usage of ReindexTickets.
         *
-        * @param jc
+        * @param parser
         * @param t
         */
-       protected final void usage(JCommander jc, ParameterException t) {
+       protected final void usage(CmdLineParser parser, CmdLineException t) {
                System.out.println(Constants.BORDER);
                System.out.println(Constants.getGitBlitVersion());
                System.out.println(Constants.BORDER);
@@ -106,8 +106,8 @@ public class ReindexTickets {
                        System.out.println(t.getMessage());
                        System.out.println();
                }
-               if (jc != null) {
-                       jc.usage();
+               if (parser != null) {
+                       parser.printUsage(System.out);
                        System.out
                                        .println("\nExample:\n  java -gitblit.jar com.gitblit.ReindexTickets --baseFolder c:\\gitblit-data");
                }
@@ -162,22 +162,21 @@ public class ReindexTickets {
        }
 
        /**
-        * JCommander Parameters.
+        * Parameters.
         */
-       @Parameters(separators = " ")
        public static class Params {
 
                public static String baseFolder;
 
-               @Parameter(names = { "-h", "--help" }, description = "Show this help")
+               @Option(name = "--help", aliases = { "-h"}, usage = "Show this help")
                public Boolean help = false;
 
                private final FileSettings FILESETTINGS = new FileSettings(new File(baseFolder, Constants.PROPERTIES_FILE).getAbsolutePath());
 
-               @Parameter(names = { "--repositoriesFolder" }, description = "Git Repositories Folder")
+               @Option(name = "--repositoriesFolder", usage = "Git Repositories Folder", metaVar = "PATH")
                public String repositoriesFolder = FILESETTINGS.getString(Keys.git.repositoriesFolder, "git");
 
-               @Parameter(names = { "--settings" }, description = "Path to alternative settings")
+               @Option(name = "--settings", usage = "Path to alternative settings", metaVar = "FILE")
                public String settingsfile;
        }
 }
index 9f77e30ab9f48284f5118e610e53764f5816276b..8351dd9c594e126c7bda29bcdf88910f5d21d573 100644 (file)
@@ -32,7 +32,7 @@ The following dependencies are automatically downloaded by Gitblit GO (or alread
 - [Jetty](http://eclipse.org/jetty) (Apache 2.0, EPL 1.0)\r
 - [SLF4J](http://www.slf4j.org) (MIT/X11)\r
 - [Log4j](http://logging.apache.org/log4j) (Apache 2.0)\r
-- [JCommander](http://jcommander.org) (Apache 2.0)\r
+- [args4j](http://args4j.kohsuke.org) (Apache 2.0)\r
 - [BouncyCastle](http://www.bouncycastle.org) (MIT/X11)\r
 - [JSch - Java Secure Channel](http://www.jcraft.com/jsch) (BSD)\r
 - [Rome](http://rome.dev.java.net) (Apache 1.1)\r
index 5e361b99c323bbe33f114335f3180602cfe3afeb..8d6d703b2403c958662158e1e558b1169eeb73d8 100644 (file)
@@ -4,8 +4,9 @@ import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
 
-import com.beust.jcommander.JCommander;
-import com.beust.jcommander.ParameterException;
+import org.kohsuke.args4j.CmdLineException;
+import org.kohsuke.args4j.CmdLineParser;
+
 import com.gitblit.GitBlitServer;
 import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
@@ -36,14 +37,14 @@ public class GitBlitServer4UITests extends GitBlitServer {
 
                Params.baseFolder = folder;
                Params params = new Params();
-               JCommander jc = new JCommander(params);
+               CmdLineParser parser = new CmdLineParser(params);
                try {
-                       jc.parse(filtered.toArray(new String[filtered.size()]));
+                       parser.parseArgument(filtered);
                        if (params.help) {
-                               server.usage(jc, null);
+                               server.usage(parser, null);
                        }
-               } catch (ParameterException t) {
-                       server.usage(jc, t);
+               } catch (CmdLineException t) {
+                       server.usage(parser, t);
                }
 
                if (params.stop) {