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("");
}