Index: tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/cmdhelp/CmdHelpMojo.java =================================================================== --- tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/cmdhelp/CmdHelpMojo.java (revision 1103950) +++ tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/cmdhelp/CmdHelpMojo.java (working copy) @@ -54,7 +54,7 @@ /** * Generates docbook for Karaf commands * - * @version $Revision: 1.1 $ + * @version $Revision$ * @goal cmdhelp * @phase generate-resources * @execute phase="generate-resources" @@ -273,7 +273,21 @@ { out.println(" "); out.println(" " + argument.name() + ""); - out.println(" " + argument.description() + ""); + String description = argument.description(); + if (!argument.required()) { + try { + argsMap.get(argument).setAccessible(true); + Object o = argsMap.get(argument).get(action); + if (o != null + && (!(o instanceof Boolean) || ((Boolean) o)) + && (!(o instanceof Number) || ((Number) o).doubleValue() != 0.0)) { + description += " (defaults to " + o.toString() + ")"; + } + } catch (Throwable t) { + // Ignore + } + } + out.println(" " + description + ""); out.println(" "); } @@ -289,19 +303,42 @@ for (Option option : options) { String opt = option.name(); + String desc = option.description(); for (String alias : option.aliases()) { opt += ", " + alias; } + try { + optionsMap.get(option).setAccessible(true); + Object o = optionsMap.get(option).get(action); + if (o != null + && (!(o instanceof Boolean) || ((Boolean) o)) + && (!(o instanceof Number) || ((Number) o).doubleValue() != 0.0)) { + desc += " (defaults to " + o.toString() + ")"; + } + } catch (Throwable t) { + // Ignore + } out.println(" "); out.println(" " + opt + ""); - out.println(" " + option.description() + ""); + out.println(" " + desc + ""); out.println(" "); } out.println(" "); out.println(" "); } + + if (command.detailedDescription().length() > 0) { + out.println("
"); + out.println(" Details"); + String desc = loadDescription(action.getClass(), command.detailedDescription()); + out.println(" "); + out.println(desc); + out.println(" "); + out.println("
"); + } + out.println(""); }