<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" />
<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" />
\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
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
- 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
- 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'
</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>
- 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:
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
\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
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
\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
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
\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
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
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
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
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
// 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
\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
/**\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
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
}\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
/*\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
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;
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;
}
/**
* 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);
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");
}
}
/**
- * 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;
}
}
- [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
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;
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) {