diff options
author | James Moger <james.moger@gitblit.com> | 2014-03-12 20:12:50 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-03-27 09:39:25 -0400 |
commit | 50380b329e69c0a9fa423475aee59a2c9633db69 (patch) | |
tree | cfc747afe4d6d49d1618c929ffe3e629f194dded /src | |
parent | 03a03105bc613cf8b87aa67938e9c940197ef511 (diff) | |
download | gitblit-50380b329e69c0a9fa423475aee59a2c9633db69.tar.gz gitblit-50380b329e69c0a9fa423475aee59a2c9633db69.zip |
Replace JCommander with args4j
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/gitblit/AddIndexedBranch.java | 30 | ||||
-rw-r--r-- | src/main/java/com/gitblit/FederationClient.java | 43 | ||||
-rw-r--r-- | src/main/java/com/gitblit/GitBlitServer.java | 64 | ||||
-rw-r--r-- | src/main/java/com/gitblit/ReindexTickets.java | 35 | ||||
-rw-r--r-- | src/site/design.mkd | 2 | ||||
-rw-r--r-- | src/test/java/de/akquinet/devops/GitBlitServer4UITests.java | 15 |
6 files changed, 90 insertions, 99 deletions
diff --git a/src/main/java/com/gitblit/AddIndexedBranch.java b/src/main/java/com/gitblit/AddIndexedBranch.java index 4b668c4e..459e1f00 100644 --- a/src/main/java/com/gitblit/AddIndexedBranch.java +++ b/src/main/java/com/gitblit/AddIndexedBranch.java @@ -28,11 +28,10 @@ import org.eclipse.jgit.lib.RepositoryCache.FileKey; 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 class AddIndexedBranch { 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 @@ public class AddIndexedBranch { 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 @@ public class AddIndexedBranch { /**
- * 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;
}
}
diff --git a/src/main/java/com/gitblit/FederationClient.java b/src/main/java/com/gitblit/FederationClient.java index 628a05dc..792a6382 100644 --- a/src/main/java/com/gitblit/FederationClient.java +++ b/src/main/java/com/gitblit/FederationClient.java @@ -20,10 +20,10 @@ import java.util.ArrayList; 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 class FederationClient { 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 @@ public class FederationClient { 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 @@ public class FederationClient { 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 @@ public class FederationClient { 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;
}
diff --git a/src/main/java/com/gitblit/GitBlitServer.java b/src/main/java/com/gitblit/GitBlitServer.java index 1e51577a..64d3cadd 100644 --- a/src/main/java/com/gitblit/GitBlitServer.java +++ b/src/main/java/com/gitblit/GitBlitServer.java @@ -55,13 +55,12 @@ import org.eclipse.jetty.webapp.WebAppContext; 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 @@ public class GitBlitServer { // 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 @@ public class 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) {
@@ -133,10 +132,10 @@ public class GitBlitServer { /**
* 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 @@ public class GitBlitServer { 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 @@ public class GitBlitServer { }
/**
- * JCommander Parameters class for GitBlitServer.
+ * Parameters class for GitBlitServer.
*/
- @Parameters(separators = " ")
public static class Params {
public static String baseFolder;
@@ -636,69 +634,69 @@ public class GitBlitServer { /*
* 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;
}
diff --git a/src/main/java/com/gitblit/ReindexTickets.java b/src/main/java/com/gitblit/ReindexTickets.java index af3ca0b2..f3d6d266 100644 --- a/src/main/java/com/gitblit/ReindexTickets.java +++ b/src/main/java/com/gitblit/ReindexTickets.java @@ -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; } } diff --git a/src/site/design.mkd b/src/site/design.mkd index 9f77e30a..8351dd9c 100644 --- a/src/site/design.mkd +++ b/src/site/design.mkd @@ -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)
- [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)
diff --git a/src/test/java/de/akquinet/devops/GitBlitServer4UITests.java b/src/test/java/de/akquinet/devops/GitBlitServer4UITests.java index 5e361b99..8d6d703b 100644 --- a/src/test/java/de/akquinet/devops/GitBlitServer4UITests.java +++ b/src/test/java/de/akquinet/devops/GitBlitServer4UITests.java @@ -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) { |