Refactor display of --help/-h to be common
This code was identical in two callers, make it common. Change-Id: Ieb95a0ed2fd1f504b92ca6a72ea3a6d1bd5ae172
This commit is contained in:
@@ -56,14 +56,8 @@ public abstract class AbstractProgram {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (clp.wasHelpRequestedByOption()) {
|
if (clp.wasHelpRequestedByOption()) {
|
||||||
final StringWriter msg = new StringWriter();
|
StringWriter msg = new StringWriter();
|
||||||
msg.write(getName());
|
clp.printDetailedUsage(getName(), msg);
|
||||||
clp.printSingleLineUsage(msg, null);
|
|
||||||
msg.write('\n');
|
|
||||||
|
|
||||||
msg.write('\n');
|
|
||||||
clp.printUsage(msg, null);
|
|
||||||
msg.write('\n');
|
|
||||||
System.err.println(msg.toString());
|
System.err.println(msg.toString());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -166,14 +166,8 @@ public abstract class BaseCommand implements Command {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (clp.wasHelpRequestedByOption()) {
|
if (clp.wasHelpRequestedByOption()) {
|
||||||
final StringWriter msg = new StringWriter();
|
StringWriter msg = new StringWriter();
|
||||||
msg.write(commandName);
|
clp.printDetailedUsage(commandName, msg);
|
||||||
clp.printSingleLineUsage(msg, null);
|
|
||||||
msg.write('\n');
|
|
||||||
|
|
||||||
msg.write('\n');
|
|
||||||
clp.printUsage(msg, null);
|
|
||||||
msg.write('\n');
|
|
||||||
msg.write(usage());
|
msg.write(usage());
|
||||||
throw new UnloggedFailure(1, msg.toString());
|
throw new UnloggedFailure(1, msg.toString());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,7 @@ import org.kohsuke.args4j.spi.BooleanOptionHandler;
|
|||||||
import org.kohsuke.args4j.spi.OptionHandler;
|
import org.kohsuke.args4j.spi.OptionHandler;
|
||||||
import org.kohsuke.args4j.spi.Setter;
|
import org.kohsuke.args4j.spi.Setter;
|
||||||
|
|
||||||
|
import java.io.StringWriter;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.lang.annotation.Annotation;
|
import java.lang.annotation.Annotation;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -105,6 +106,15 @@ public class CmdLineParser {
|
|||||||
parser.printUsage(out, rb);
|
parser.printUsage(out, rb);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void printDetailedUsage(String name, StringWriter out) {
|
||||||
|
out.write(name);
|
||||||
|
printSingleLineUsage(out, null);
|
||||||
|
out.write('\n');
|
||||||
|
out.write('\n');
|
||||||
|
printUsage(out, null);
|
||||||
|
out.write('\n');
|
||||||
|
}
|
||||||
|
|
||||||
public boolean wasHelpRequestedByOption() {
|
public boolean wasHelpRequestedByOption() {
|
||||||
return parser.help.value;
|
return parser.help.value;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user