James Moger
2014-03-12 50380b329e69c0a9fa423475aee59a2c9633db69
Replace JCommander with args4j
11 files modified
249 ■■■■ changed files
.classpath 2 ●●● patch | view | raw | blame | history
NOTICE 24 ●●●●● patch | view | raw | blame | history
build.moxie 2 ●●● patch | view | raw | blame | history
gitblit.iml 22 ●●●● patch | view | raw | blame | history
releases.moxie 10 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/AddIndexedBranch.java 30 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/FederationClient.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/GitBlitServer.java 64 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/ReindexTickets.java 35 ●●●● patch | view | raw | blame | history
src/site/design.mkd 2 ●●● patch | view | raw | blame | history
src/test/java/de/akquinet/devops/GitBlitServer4UITests.java 15 ●●●● patch | view | raw | blame | history
.classpath
@@ -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" />
NOTICE
@@ -152,22 +152,6 @@
   http://junit.org
---------------------------------------------------------------------------
ant-googlecode
---------------------------------------------------------------------------
   ant-googlecode, released under the
   New BSD License
   http://code.google.com/p/ant-googlecode
---------------------------------------------------------------------------
GenJar
---------------------------------------------------------------------------
   GenJar, released under the
   Apache Software License, Version 1.1.
   http://genjar.sourceforge.net
---------------------------------------------------------------------------
Fancybox image viewer
---------------------------------------------------------------------------
   Fancybox image viewer, released under the
@@ -342,3 +326,11 @@
   MIT license
   
   https://github.com/xetorthio/jedis
---------------------------------------------------------------------------
args4j
---------------------------------------------------------------------------
   args4j, release under the
   Apache License 2.0
   http://args4j.kohsuke.org
build.moxie
@@ -128,7 +128,6 @@
- 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 @@
- 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'
gitblit.iml
@@ -69,17 +69,6 @@
      </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>
          <root url="jar://$MODULE_DIR$/ext/log4j-1.2.17.jar!/" />
@@ -758,6 +747,17 @@
      </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>
          <root url="jar://$MODULE_DIR$/ext/jedis-2.3.1.jar!/" />
releases.moxie
@@ -13,11 +13,15 @@
    - 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:
src/main/java/com/gitblit/AddIndexedBranch.java
@@ -28,11 +28,10 @@
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
import org.eclipse.jgit.util.FS;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.Parameters;
import com.gitblit.models.RefModel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.JGitUtils;
@@ -48,12 +47,12 @@
    public static void main(String... args) {
        Params params = new Params();
        JCommander jc = new JCommander(params);
        CmdLineParser parser = new CmdLineParser(params);
        try {
            jc.parse(args);
        } catch (ParameterException t) {
            parser.parseArgument(args);
        } catch (CmdLineException t) {
            System.err.println(t.getMessage());
            jc.usage();
            parser.printUsage(System.out);
            return;
        }
@@ -95,7 +94,7 @@
                Set<String> indexedBranches = new LinkedHashSet<String>();
                // add all local branches to index
                if(params.addAllLocalBranches) {
                if (params.addAllLocalBranches) {
                    List<RefModel> list = JGitUtils.getLocalBranches(repository, true, -1);
                    for (RefModel refModel : list) {
                        System.out.println(MessageFormat.format("adding [gitblit] indexBranch={0} for {1}", refModel.getName(), repo));
@@ -129,21 +128,20 @@
    /**
     * JCommander Parameters class for AddIndexedBranch.
     * Parameters class for AddIndexedBranch.
     */
    @Parameters(separators = " ")
    private static class Params {
        @Parameter(names = { "--repositoriesFolder" }, description = "The root repositories folder ", required = true)
        @Option(name =  "--repositoriesFolder", usage = "The root repositories folder ", required = true, metaVar = "PATH")
        public String folder;
        @Parameter(names = { "--branch" }, description = "The branch to index", required = false)
        @Option(name = "--branch", usage = "The branch to index", metaVar = "BRANCH")
        public String branch = "default";
        @Parameter(names = { "--skip" }, description = "Skip the named repository (simple fizzy matching is supported)", required = false)
        @Option(name = "--skip", usage = "Skip the named repository (simple fizzy matching is supported)")
        public List<String> exclusions = new ArrayList<String>();
        @Parameter(names = { "--all-local-branches" }, description = "Add all local branches to index. If specified, the --branch parameter is not considered.", required = false)
        public boolean addAllLocalBranches = false;
        @Option(name = "--all-local-branches", usage = "Add all local branches to index. If specified, the --branch parameter is not considered.")
        public boolean addAllLocalBranches;
    }
}
src/main/java/com/gitblit/FederationClient.java
@@ -20,10 +20,10 @@
import java.util.Collection;
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.FederationManager;
import com.gitblit.manager.GitblitManager;
import com.gitblit.manager.IGitblit;
@@ -47,11 +47,11 @@
    public static void main(String[] args) {
        Params params = new Params();
        JCommander jc = new JCommander(params);
        CmdLineParser parser = new CmdLineParser(params);
        try {
            jc.parse(args);
        } catch (ParameterException t) {
            usage(jc, t);
            parser.parseArgument(args);
        } catch (CmdLineException t) {
            usage(parser, t);
        }
        System.out.println("Gitblit Federation Client v" + Constants.getVersion() + " (" + Constants.getBuildDate() + ")");
@@ -77,7 +77,6 @@
            model.token = params.token;
            model.mirror = params.mirror;
            model.bare = params.bare;
            model.frequency = params.frequency;
            model.folder = "";
            registrations.add(model);
        }
@@ -112,7 +111,7 @@
        System.exit(0);
    }
    private static void usage(JCommander jc, ParameterException t) {
    private static void usage(CmdLineParser parser, CmdLineException t) {
        System.out.println(Constants.getGitBlitVersion());
        System.out.println();
        if (t != null) {
@@ -120,40 +119,36 @@
            System.out.println();
        }
        if (jc != null) {
            jc.usage();
        if (parser != null) {
            parser.printUsage(System.out);
        }
        System.exit(0);
    }
    /**
     * JCommander Parameters class for FederationClient.
     * Parameters class for FederationClient.
     */
    @Parameters(separators = " ")
    private static class Params {
        @Parameter(names = { "--registrations" }, description = "Gitblit Federation Registrations File", required = false)
        @Option(name = "--registrations", usage = "Gitblit Federation Registrations File", metaVar = "FILE")
        public String registrationsFile = "${baseFolder}/federation.properties";
        @Parameter(names = { "--url" }, description = "URL of Gitblit instance to mirror from", required = false)
        @Option(name = "--url", usage = "URL of Gitblit instance to mirror from", metaVar = "URL")
        public String url;
        @Parameter(names = { "--mirror" }, description = "Mirror repositories", required = false)
        @Option(name = "--mirror", usage = "Mirror repositories")
        public boolean mirror;
        @Parameter(names = { "--bare" }, description = "Create bare repositories", required = false)
        @Option(name = "--bare", usage = "Create bare repositories")
        public boolean bare;
        @Parameter(names = { "--token" }, description = "Federation Token", required = false)
        @Option(name = "--token", usage = "Federation Token", metaVar = "TOKEN")
        public String token;
        @Parameter(names = { "--frequency" }, description = "Period to wait between pull attempts (requires --daemon)", required = false)
        public String frequency = "60 mins";
        @Parameter(names = { "--baseFolder" }, description = "Base folder for received data", required = false)
        @Option(name = "--baseFolder", usage = "Base folder for received data", metaVar = "PATH")
        public String baseFolder;
        @Parameter(names = { "--repositoriesFolder" }, description = "Destination folder for cloned repositories", required = false)
        @Option(name = "--repositoriesFolder", usage = "Destination folder for cloned repositories", metaVar = "PATH")
        public String repositoriesFolder;
    }
src/main/java/com/gitblit/GitBlitServer.java
@@ -55,13 +55,12 @@
import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.FileUtils;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
import org.kohsuke.args4j.Option;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.Parameters;
import com.gitblit.authority.GitblitAuthority;
import com.gitblit.authority.NewCertificateConfig;
import com.gitblit.servlet.GitblitContext;
@@ -96,7 +95,7 @@
        // filter out the baseFolder parameter
        List<String> filtered = new ArrayList<String>();
        String folder = "data";
        for (int i = 0; i< args.length; i++) {
        for (int i = 0; i < args.length; i++) {
            String arg = args[i];
            if (arg.equals("--baseFolder")) {
                if (i + 1 == args.length) {
@@ -113,14 +112,14 @@
        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) {
@@ -133,10 +132,10 @@
    /**
     * Display the command line usage of Gitblit GO.
     *
     * @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);
@@ -145,8 +144,8 @@
            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 -server -Xmx1024M -jar gitblit.jar --repositoriesFolder c:\\git --httpPort 80 --httpsPort 443");
        }
@@ -624,9 +623,8 @@
    }
    /**
     * JCommander Parameters class for GitBlitServer.
     * Parameters class for GitBlitServer.
     */
    @Parameters(separators = " ")
    public static class Params {
        public static String baseFolder;
@@ -636,69 +634,69 @@
        /*
         * Server parameters
         */
        @Parameter(names = { "-h", "--help" }, description = "Show this help")
        @Option(name = "--help", aliases = { "-h"}, usage = "Show this help")
        public Boolean help = false;
        @Parameter(names = { "--stop" }, description = "Stop Server")
        @Option(name = "--stop", usage = "Stop Server")
        public Boolean stop = false;
        @Parameter(names = { "--tempFolder" }, description = "Folder for server to extract built-in webapp")
        @Option(name = "--tempFolder", usage = "Folder for server to extract built-in webapp", metaVar="PATH")
        public String temp = FILESETTINGS.getString(Keys.server.tempFolder, "temp");
        @Parameter(names = { "--dailyLogFile" }, description = "Log to a rolling daily log file INSTEAD of stdout.")
        @Option(name = "--dailyLogFile", usage = "Log to a rolling daily log file INSTEAD of stdout.")
        public Boolean dailyLogFile = false;
        /*
         * GIT Servlet Parameters
         */
        @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");
        /*
         * Authentication Parameters
         */
        @Parameter(names = { "--userService" }, description = "Authentication and Authorization Service (filename or fully qualified classname)")
        @Option(name = "--userService", usage = "Authentication and Authorization Service (filename or fully qualified classname)")
        public String userService = FILESETTINGS.getString(Keys.realm.userService,
                "users.conf");
        /*
         * JETTY Parameters
         */
        @Parameter(names = { "--useNio" }, description = "Use NIO Connector else use Socket Connector.")
        @Option(name = "--useNio", usage = "Use NIO Connector else use Socket Connector.")
        public Boolean useNIO = FILESETTINGS.getBoolean(Keys.server.useNio, true);
        @Parameter(names = "--httpPort", description = "HTTP port for to serve. (port <= 0 will disable this connector)")
        @Option(name = "--httpPort", usage = "HTTP port for to serve. (port <= 0 will disable this connector)", metaVar="PORT")
        public Integer port = FILESETTINGS.getInteger(Keys.server.httpPort, 0);
        @Parameter(names = "--httpsPort", description = "HTTPS port to serve.  (port <= 0 will disable this connector)")
        @Option(name = "--httpsPort", usage = "HTTPS port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")
        public Integer securePort = FILESETTINGS.getInteger(Keys.server.httpsPort, 8443);
        @Parameter(names = "--ajpPort", description = "AJP port to serve.  (port <= 0 will disable this connector)")
        @Option(name = "--ajpPort", usage = "AJP port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")
        public Integer ajpPort = FILESETTINGS.getInteger(Keys.server.ajpPort, 0);
        @Parameter(names = "--gitPort", description = "Git Daemon port to serve.  (port <= 0 will disable this connector)")
        @Option(name = "--gitPort", usage = "Git Daemon port to serve.  (port <= 0 will disable this connector)", metaVar="PORT")
        public Integer gitPort = FILESETTINGS.getInteger(Keys.git.daemonPort, 9418);
        @Parameter(names = "--alias", description = "Alias of SSL certificate in keystore for serving https.")
        @Option(name = "--alias", usage = "Alias of SSL certificate in keystore for serving https.", metaVar="ALIAS")
        public String alias = FILESETTINGS.getString(Keys.server.certificateAlias, "");
        @Parameter(names = "--storePassword", description = "Password for SSL (https) keystore.")
        @Option(name = "--storePassword", usage = "Password for SSL (https) keystore.", metaVar="PASSWORD")
        public String storePassword = FILESETTINGS.getString(Keys.server.storePassword, "");
        @Parameter(names = "--shutdownPort", description = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)")
        @Option(name = "--shutdownPort", usage = "Port for Shutdown Monitor to listen on. (port <= 0 will disable this monitor)", metaVar="PORT")
        public Integer shutdownPort = FILESETTINGS.getInteger(Keys.server.shutdownPort, 8081);
        @Parameter(names = "--requireClientCertificates", description = "Require client X509 certificates for https connections.")
        @Option(name = "--requireClientCertificates", usage = "Require client X509 certificates for https connections.")
        public Boolean requireClientCertificates = FILESETTINGS.getBoolean(Keys.server.requireClientCertificates, false);
        /*
         * Setting overrides
         */
        @Parameter(names = { "--settings" }, description = "Path to alternative settings")
        @Option(name = "--settings", usage = "Path to alternative settings", metaVar="FILE")
        public String settingsfile;
        @Parameter(names = { "--ldapLdifFile" }, description = "Path to LDIF file.  This will cause an in-memory LDAP server to be started according to gitblit settings")
        @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")
        public String ldapLdifFile;
    }
src/main/java/com/gitblit/ReindexTickets.java
@@ -20,10 +20,10 @@
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 @@
        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 @@
    /**
     * 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 @@
            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 @@
    }
    /**
     * 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;
    }
}
src/site/design.mkd
@@ -32,7 +32,7 @@
- [Jetty](http://eclipse.org/jetty) (Apache 2.0, EPL 1.0)
- [SLF4J](http://www.slf4j.org) (MIT/X11)
- [Log4j](http://logging.apache.org/log4j) (Apache 2.0)
- [JCommander](http://jcommander.org) (Apache 2.0)
- [args4j](http://args4j.kohsuke.org) (Apache 2.0)
- [BouncyCastle](http://www.bouncycastle.org) (MIT/X11)
- [JSch - Java Secure Channel](http://www.jcraft.com/jsch) (BSD)
- [Rome](http://rome.dev.java.net) (Apache 1.1)
src/test/java/de/akquinet/devops/GitBlitServer4UITests.java
@@ -4,8 +4,9 @@
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 @@
        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) {