Hi,
When using the new HelpFormatter (commons-cli-1.10.0), option groups are
poorly formatted.
This looks like a regression.
The following code shows the difference between the new HelpFormatter
and the deprecated one:
-------------------------------------
import java.io.IOException;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionGroup;
import org.apache.commons.cli.Options;
public class CliTest {
public static void main(String[] args) throws IOException {
// create options and groups
final Option o1 = new Option("o1", "Descr");
final Option o2 = new Option("o2", "Descr");
final Options options = new Options();
options.addOption(o1);
options.addOption(o2);
final OptionGroup group = new OptionGroup();
group.addOption(o1);
group.addOption(o2);
options.addOptionGroup(group);
//format options with new formatter
final org.apache.commons.cli.help.HelpFormatter newFormatter =
org.apache.commons.cli.help.HelpFormatter.builder().setShowSince(false).get();
newFormatter.printHelp("Command", null, options, null, true);
// format options with old formatter
final org.apache.commons.cli.HelpFormatter oldFormatter =
new org.apache.commons.cli.HelpFormatter();
oldFormatter.printHelp("Command", null, options, null, true);
}
}
-------------------------------------
The output is:
-------------------------------------
usage: Command [-o1] [-o2]
Options Description
-o1 Descr
-o2 Descr
usage: Command [-o1 | -o2]
-o1 Descr
-o2 Descr
-------------------------------------
Groups are not shown any more.
I would expect the new formatter output to look like this:
-------------------------------------
usage: Command [-o1 | -o2]
Options Description
-o1 Descr
-o2 Descr
-o3 Descr
-------------------------------------
Regards,
Damien Carbonne
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]