diff options
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.java | 37 |
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(); |