From 985752f232e5837cc179aea50d774723705f2c95 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Thu, 14 Nov 2013 23:42:59 +0100 Subject: [PATCH] Bump args4j version to 2.0.26 New version has features which be useful for Gerrit core and plugins: * new hidden attribute, specifying to hide it in help message * new depends attribute, specifying the dependent option(s) * multiValued attribute was removed Change-Id: Ic7e9f37231cb83940db50fe3b9efe8ad972108cf --- .../main/java/com/google/gerrit/pgm/Init.java | 2 +- .../com/google/gerrit/pgm/PrologShell.java | 2 +- .../server/account/GetCapabilities.java | 2 +- .../gerrit/server/change/GetChange.java | 2 +- .../gerrit/server/change/GetDetail.java | 2 +- .../gerrit/server/group/ListGroups.java | 2 +- .../gerrit/server/project/ListProjects.java | 2 +- .../server/query/change/QueryChanges.java | 4 +-- .../gerrit/sshd/commands/ApproveOption.java | 27 +++++++++++++---- .../google/gerrit/sshd/commands/Receive.java | 4 +-- .../sshd/commands/SetAccountCommand.java | 8 ++--- .../google/gerrit/util/cli/CmdLineParser.java | 30 +++++++++++++++---- lib/BUCK | 4 +-- 13 files changed, 63 insertions(+), 28 deletions(-) diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java index 68e0f6a04d..3cfd1bb5e5 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Init.java @@ -56,7 +56,7 @@ public class Init extends BaseInit { @Option(name = "--list-plugins", usage = "List available plugins") private boolean listPlugins; - @Option(name = "--install-plugin", usage = "Install given plugin without asking", multiValued = true) + @Option(name = "--install-plugin", usage = "Install given plugin without asking") private List installPlugins; @Inject diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/PrologShell.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/PrologShell.java index 803b70252a..4c66f0bed3 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/PrologShell.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/PrologShell.java @@ -32,7 +32,7 @@ import java.util.EnumSet; import java.util.List; public class PrologShell extends AbstractProgram { - @Option(name = "-s", multiValued = true, metaVar = "FILE.pl", usage = "file to load") + @Option(name = "-s", metaVar = "FILE.pl", usage = "file to load") private List fileName = new ArrayList(); @Override diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java index 615d09e989..e831bbefc4 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/account/GetCapabilities.java @@ -59,7 +59,7 @@ class GetCapabilities implements RestReadView { @Option(name = "--format", usage = "(deprecated) output format") private OutputFormat format; - @Option(name = "-q", metaVar = "CAP", multiValued = true, usage = "Capability to inspect") + @Option(name = "-q", metaVar = "CAP", usage = "Capability to inspect") void addQuery(String name) { if (query == null) { query = Sets.newHashSet(); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetChange.java index 7213a94a9e..8a489570c0 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetChange.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetChange.java @@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit; public class GetChange implements RestReadView { private final ChangeJson json; - @Option(name = "-o", multiValued = true, usage = "Output options") + @Option(name = "-o", usage = "Output options") void addOption(ListChangesOption o) { json.addOption(o); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDetail.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDetail.java index 936edd64ba..8a886c263c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDetail.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/GetDetail.java @@ -24,7 +24,7 @@ import org.kohsuke.args4j.Option; public class GetDetail implements RestReadView { private final GetChange delegate; - @Option(name = "-o", multiValued = true, usage = "Output options") + @Option(name = "-o", usage = "Output options") void addOption(ListChangesOption o) { delegate.addOption(o); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java index 03ec06722a..09e0382ab5 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/group/ListGroups.java @@ -96,7 +96,7 @@ public class ListGroups implements RestReadView { @Option(name = "-m", metaVar = "MATCH", usage = "match group substring") private String matchSubstring; - @Option(name = "-o", multiValued = true, usage = "Output options per group") + @Option(name = "-o", usage = "Output options per group") public void addOption(ListGroupsOption o) { options.add(o); } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java index f7770398b8..e79912e726 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/project/ListProjects.java @@ -109,7 +109,7 @@ public class ListProjects implements RestReadView { @Option(name = "--format", usage = "(deprecated) output format") private OutputFormat format = OutputFormat.TEXT; - @Option(name = "--show-branch", aliases = {"-b"}, multiValued = true, + @Option(name = "--show-branch", aliases = {"-b"}, usage = "displays the sha of each project in the specified branch") public void addShowBranch(String branch) { showBranch.add(branch); diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/QueryChanges.java b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/QueryChanges.java index 4b6a5a6fc2..6ba9e6d113 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/query/change/QueryChanges.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/query/change/QueryChanges.java @@ -45,7 +45,7 @@ public class QueryChanges implements RestReadView { private boolean reverse; private EnumSet options; - @Option(name = "--query", aliases = {"-q"}, metaVar = "QUERY", multiValued = true, usage = "Query string") + @Option(name = "--query", aliases = {"-q"}, metaVar = "QUERY", usage = "Query string") private List queries; @Option(name = "--limit", aliases = {"-n"}, metaVar = "CNT", usage = "Maximum number of results to return") @@ -53,7 +53,7 @@ public class QueryChanges implements RestReadView { imp.setLimit(limit); } - @Option(name = "-o", multiValued = true, usage = "Output options per change") + @Option(name = "-o", usage = "Output options per change") public void addOption(ListChangesOption o) { options.add(o); } diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ApproveOption.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ApproveOption.java index 29250d3449..fea16cdc06 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ApproveOption.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/ApproveOption.java @@ -24,8 +24,10 @@ import org.kohsuke.args4j.OptionDef; import org.kohsuke.args4j.spi.OneArgumentOptionHandler; import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; +import org.kohsuke.args4j.spi.FieldSetter; import java.lang.annotation.Annotation; +import java.lang.reflect.AnnotatedElement; final class ApproveOption implements Option, Setter { private final String name; @@ -45,6 +47,16 @@ final class ApproveOption implements Option, Setter { return new String[0]; } + @Override + public String[] depends() { + return new String[] {}; + } + + @Override + public boolean hidden() { + return false; + } + @Override public Class> handler() { return Handler.class; @@ -55,11 +67,6 @@ final class ApproveOption implements Option, Setter { return "N"; } - @Override - public boolean multiValued() { - return false; - } - @Override public String name() { return name; @@ -84,6 +91,16 @@ final class ApproveOption implements Option, Setter { return null; } + @Override + public FieldSetter asFieldSetter() { + throw new UnsupportedOperationException(); + } + + @Override + public AnnotatedElement asAnnotatedElement() { + throw new UnsupportedOperationException(); + } + @Override public void addValue(final Short val) { this.value = val; diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/Receive.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/Receive.java index 31f930120d..2a8650ab54 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/Receive.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/Receive.java @@ -62,12 +62,12 @@ final class Receive extends AbstractGitCommand { private final Set reviewerId = new HashSet(); private final Set ccId = new HashSet(); - @Option(name = "--reviewer", aliases = {"--re"}, multiValued = true, metaVar = "EMAIL", usage = "request reviewer for change(s)") + @Option(name = "--reviewer", aliases = {"--re"}, metaVar = "EMAIL", usage = "request reviewer for change(s)") void addReviewer(final Account.Id id) { reviewerId.add(id); } - @Option(name = "--cc", aliases = {}, multiValued = true, metaVar = "EMAIL", usage = "CC user on change(s)") + @Option(name = "--cc", aliases = {}, metaVar = "EMAIL", usage = "CC user on change(s)") void addCC(final Account.Id id) { ccId.add(id); } diff --git a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java index 5736bb6682..f63414742e 100644 --- a/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java +++ b/gerrit-sshd/src/main/java/com/google/gerrit/sshd/commands/SetAccountCommand.java @@ -70,16 +70,16 @@ final class SetAccountCommand extends BaseCommand { @Option(name = "--inactive", usage = "set account's state to inactive") private boolean inactive; - @Option(name = "--add-email", multiValued = true, metaVar = "EMAIL", usage = "email addresses to add to the account") + @Option(name = "--add-email", metaVar = "EMAIL", usage = "email addresses to add to the account") private List addEmails = new ArrayList(); - @Option(name = "--delete-email", multiValued = true, metaVar = "EMAIL", usage = "email addresses to delete from the account") + @Option(name = "--delete-email", metaVar = "EMAIL", usage = "email addresses to delete from the account") private List deleteEmails = new ArrayList(); - @Option(name = "--add-ssh-key", multiValued = true, metaVar = "-|KEY", usage = "public keys to add to the account") + @Option(name = "--add-ssh-key", metaVar = "-|KEY", usage = "public keys to add to the account") private List addSshKeys = new ArrayList(); - @Option(name = "--delete-ssh-key", multiValued = true, metaVar = "-|KEY", usage = "public keys to delete from the account") + @Option(name = "--delete-ssh-key", metaVar = "-|KEY", usage = "public keys to delete from the account") private List deleteSshKeys = new ArrayList(); @Option(name = "--http-password", metaVar = "PASSWORD", usage = "password for HTTP authentication for the account") diff --git a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java index b75635fd4d..7fc6d6f8e1 100644 --- a/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java +++ b/gerrit-util-cli/src/main/java/com/google/gerrit/util/cli/CmdLineParser.java @@ -52,10 +52,13 @@ import org.kohsuke.args4j.spi.BooleanOptionHandler; import org.kohsuke.args4j.spi.EnumOptionHandler; import org.kohsuke.args4j.spi.OptionHandler; import org.kohsuke.args4j.spi.Setter; +import org.kohsuke.args4j.spi.FieldSetter; + import java.io.StringWriter; import java.io.Writer; import java.lang.annotation.Annotation; +import java.lang.reflect.AnnotatedElement; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -380,6 +383,16 @@ public class CmdLineParser { return new String[] {"-h"}; } + @Override + public String[] depends() { + return new String[] {}; + } + + @Override + public boolean hidden() { + return false; + } + @Override public String usage() { return "display this help text"; @@ -400,11 +413,6 @@ public class CmdLineParser { return ""; } - @Override - public boolean multiValued() { - return false; - } - @Override public boolean required() { return false; @@ -415,6 +423,16 @@ public class CmdLineParser { return Option.class; } + @Override + public FieldSetter asFieldSetter() { + throw new UnsupportedOperationException(); + } + + @Override + public AnnotatedElement asAnnotatedElement() { + throw new UnsupportedOperationException(); + } + @Override public Class getType() { return Boolean.class; @@ -422,7 +440,7 @@ public class CmdLineParser { @Override public boolean isMultiValued() { - return multiValued(); + return false; } } } diff --git a/lib/BUCK b/lib/BUCK index 5ee1babb1c..2469692184 100644 --- a/lib/BUCK +++ b/lib/BUCK @@ -121,8 +121,8 @@ maven_jar( maven_jar( name = 'args4j', - id = 'args4j:args4j:2.0.16', - sha1 = '9f00fb12820743b9e05c686eba543d64dd43f2b1', + id = 'args4j:args4j:2.0.26', + sha1 = '01ebb18ebb3b379a74207d5af4ea7c8338ebd78b', license = 'args4j', )