aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt')
-rw-r--r--org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java37
1 files changed, 10 insertions, 27 deletions
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java
index 020b62580f..3dcb2a3147 100644
--- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java
+++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/opt/CmdLineParser.java
@@ -47,7 +47,6 @@ import java.io.IOException;
import java.io.Writer;
import java.lang.reflect.Field;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.ResourceBundle;
@@ -68,6 +67,7 @@ import org.kohsuke.args4j.IllegalAnnotationError;
import org.kohsuke.args4j.NamedOptionDef;
import org.kohsuke.args4j.Option;
import org.kohsuke.args4j.OptionDef;
+import org.kohsuke.args4j.OptionHandlerRegistry;
import org.kohsuke.args4j.spi.OptionHandler;
import org.kohsuke.args4j.spi.RestOfArgumentsHandler;
import org.kohsuke.args4j.spi.Setter;
@@ -82,13 +82,14 @@ import org.kohsuke.args4j.spi.Setter;
*/
public class CmdLineParser extends org.kohsuke.args4j.CmdLineParser {
static {
- registerHandler(AbstractTreeIterator.class,
+ OptionHandlerRegistry registry = OptionHandlerRegistry.getRegistry();
+ registry.registerHandler(AbstractTreeIterator.class,
AbstractTreeIteratorHandler.class);
- registerHandler(ObjectId.class, ObjectIdHandler.class);
- registerHandler(RefSpec.class, RefSpecHandler.class);
- registerHandler(RevCommit.class, RevCommitHandler.class);
- registerHandler(RevTree.class, RevTreeHandler.class);
- registerHandler(List.class, OptionWithValuesListHandler.class);
+ registry.registerHandler(ObjectId.class, ObjectIdHandler.class);
+ registry.registerHandler(RefSpec.class, RefSpecHandler.class);
+ registry.registerHandler(RevCommit.class, RevCommitHandler.class);
+ registry.registerHandler(RevTree.class, RevTreeHandler.class);
+ registry.registerHandler(List.class, OptionWithValuesListHandler.class);
}
private final Repository db;
@@ -267,8 +268,8 @@ public class CmdLineParser extends org.kohsuke.args4j.CmdLineParser {
class MyOptionDef extends OptionDef {
public MyOptionDef(OptionDef o) {
- super(o.usage(), o.metaVar(), o.required(), o.handler(), o
- .isMultiValued());
+ super(o.usage(), o.metaVar(), o.required(), o.help(), o.hidden(),
+ o.handler(), o.isMultiValued());
}
@Override
@@ -300,24 +301,6 @@ public class CmdLineParser extends org.kohsuke.args4j.CmdLineParser {
}
- @SuppressWarnings("unchecked")
- private List<OptionHandler> getOptions() {
- List<OptionHandler> options = null;
- try {
- Field field = org.kohsuke.args4j.CmdLineParser.class
- .getDeclaredField("options"); //$NON-NLS-1$
- field.setAccessible(true);
- options = (List<OptionHandler>) field.get(this);
- } catch (NoSuchFieldException | SecurityException
- | IllegalArgumentException | IllegalAccessException e) {
- // ignore
- }
- if (options == null) {
- return Collections.emptyList();
- }
- return options;
- }
-
@Override
public void printSingleLineUsage(Writer w, ResourceBundle rb) {
List<OptionHandler> options = getOptions();