Merge changes I6f8b9302,If538bbc8,I4052ade1,Id07b2b62,I2014a220,I577ae60e,I87e58dda,I9a72cd28,Ic72892ae
* changes: REST API /projects/$SUGGEST REST API /projects/ REST API /accounts/self/capabilities Define a native REST API client /projects/: Support JSON output format Make ls-projects available on HTTP as GET /projects/ Support alias "self" in queries Update GWT to 2.4.0 Update Gson to 2.1
This commit is contained in:
@@ -46,6 +46,7 @@ import org.kohsuke.args4j.NamedOptionDef;
|
||||
import org.kohsuke.args4j.Option;
|
||||
import org.kohsuke.args4j.OptionDef;
|
||||
import org.kohsuke.args4j.spi.BooleanOptionHandler;
|
||||
import org.kohsuke.args4j.spi.EnumOptionHandler;
|
||||
import org.kohsuke.args4j.spi.OptionHandler;
|
||||
import org.kohsuke.args4j.spi.Setter;
|
||||
|
||||
@@ -66,7 +67,6 @@ import java.util.ResourceBundle;
|
||||
* args4j style format prior to invoking args4j for parsing.
|
||||
*/
|
||||
public class CmdLineParser {
|
||||
|
||||
public interface Factory {
|
||||
CmdLineParser create(Object bean);
|
||||
}
|
||||
@@ -118,6 +118,67 @@ public class CmdLineParser {
|
||||
out.write('\n');
|
||||
}
|
||||
|
||||
public void printQueryStringUsage(String name, StringWriter out) {
|
||||
out.write(name);
|
||||
|
||||
char next = '?';
|
||||
List<NamedOptionDef> booleans = new ArrayList<NamedOptionDef>();
|
||||
for (@SuppressWarnings("rawtypes") OptionHandler handler : parser.options) {
|
||||
if (handler.option instanceof NamedOptionDef) {
|
||||
NamedOptionDef n = (NamedOptionDef) handler.option;
|
||||
|
||||
if (handler instanceof BooleanOptionHandler) {
|
||||
booleans.add(n);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!n.required()) {
|
||||
out.write('[');
|
||||
}
|
||||
out.write(next);
|
||||
next = '&';
|
||||
if (n.name().startsWith("--")) {
|
||||
out.write(n.name().substring(2));
|
||||
} else if (n.name().startsWith("-")) {
|
||||
out.write(n.name().substring(1));
|
||||
} else {
|
||||
out.write(n.name());
|
||||
}
|
||||
out.write('=');
|
||||
|
||||
String var = handler.getDefaultMetaVariable();
|
||||
if (handler instanceof EnumOptionHandler) {
|
||||
var = var.substring(1, var.length() - 1);
|
||||
var = var.replaceAll(" ", "");
|
||||
}
|
||||
out.write(var);
|
||||
if (!n.required()) {
|
||||
out.write(']');
|
||||
}
|
||||
if (n.isMultiValued()) {
|
||||
out.write('*');
|
||||
}
|
||||
}
|
||||
}
|
||||
for (NamedOptionDef n : booleans) {
|
||||
if (!n.required()) {
|
||||
out.write('[');
|
||||
}
|
||||
out.write(next);
|
||||
next = '&';
|
||||
if (n.name().startsWith("--")) {
|
||||
out.write(n.name().substring(2));
|
||||
} else if (n.name().startsWith("-")) {
|
||||
out.write(n.name().substring(1));
|
||||
} else {
|
||||
out.write(n.name());
|
||||
}
|
||||
if (!n.required()) {
|
||||
out.write(']');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean wasHelpRequestedByOption() {
|
||||
return parser.help.value;
|
||||
}
|
||||
|
Reference in New Issue
Block a user