Index: maven-commandline-plugin/src/java/org/codelutin/util/Generator.java diff -u maven-commandline-plugin/src/java/org/codelutin/util/Generator.java:1.4 maven-commandline-plugin/src/java/org/codelutin/util/Generator.java:1.5 --- maven-commandline-plugin/src/java/org/codelutin/util/Generator.java:1.4 Sun Dec 2 05:09:19 2007 +++ maven-commandline-plugin/src/java/org/codelutin/util/Generator.java Sun Dec 2 07:16:30 2007 @@ -137,11 +137,11 @@ pool.appendClassPath(out.getAbsolutePath()); // generate OptionParser implementation - generateOptionParser(pool, parser); + OptionParserA anno = generateOptionParser(pool, parser); if (rstFilePath != null) { // build usage rst file - generateRst(parser.toDefinitions()); + generateRst(anno); } if (showErrors) { @@ -180,7 +180,7 @@ } @SuppressWarnings({"unchecked"}) - protected void generateOptionParser(ClassPool pool, OptionDefinitionParser parser) throws Exception { + protected OptionParserA generateOptionParser(ClassPool pool, OptionDefinitionParser parser) throws Exception { CtClass superClazz = pool.get(OptionParser.class.getName()); @@ -235,12 +235,13 @@ } map.clear(); log.info(_("commandline.parser.build.info", clazz.getName())); + return anno; } finally { detachClazz(clazz, superClazz, optionClazz); } } - protected void generateRst(OptionDefinition[] definitions) throws IOException { + protected void generateRst(OptionParserA definitions) throws IOException { // asume where coming here rstFilePath is not null assert rstFilePath != null; if (!rstFilePath.getParentFile().exists()) { @@ -256,10 +257,7 @@ } writer.append('\n'); String prefix = _("commandline.generateRstFile.option.head") + ' '; - for (OptionDefinition definition : definitions) { - writer.append(prefix); - definition.printUsage(writer); - } + writer.append(OptionParserUtil.toString(definitions,prefix)); } finally { if (writer != null) { writer.flush();