aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/common/options/OptionsUsage.java
diff options
context:
space:
mode:
authorGravatar ccalvarin <ccalvarin@google.com>2017-08-17 17:59:05 +0200
committerGravatar Irina Iancu <elenairina@google.com>2017-08-18 09:01:07 +0200
commit62f72bce464cf896dfb64096d151a0293ad70345 (patch)
treed3ce4bf957c23ec28dc9b020ccb04916d8852a93 /src/main/java/com/google/devtools/common/options/OptionsUsage.java
parentb86f8b06f5f4832b51e3be0de9d32170a79371ee (diff)
Fix expansion option output formatting in html output
Like the terminal output, there was some discrepancy between the expansion function and static expansion behavior. Also adds html usage output tests. PiperOrigin-RevId: 165584454
Diffstat (limited to 'src/main/java/com/google/devtools/common/options/OptionsUsage.java')
-rw-r--r--src/main/java/com/google/devtools/common/options/OptionsUsage.java31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/common/options/OptionsUsage.java b/src/main/java/com/google/devtools/common/options/OptionsUsage.java
index 61829e2d99..8e36c4a84d 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsUsage.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsUsage.java
@@ -201,22 +201,29 @@ class OptionsUsage {
usage.append(paragraphFill(escaper.escape(annotation.help()), /*indent=*/ 0, /*width=*/ 80));
usage.append('\n');
}
- ImmutableList<String> expansion = getExpansionIfKnown(optionField, optionsData);
- if (expansion == null) {
- usage.append(" Expands to unknown options.<br>\n");
- } else if (!expansion.isEmpty()) {
+
+ if (!optionsData.getExpansionDataForField(optionField).isEmpty()) {
+ // If this is an expansion option, list the expansion if known, or at least specify that we
+ // don't know.
usage.append("<br/>\n");
- StringBuilder expandsMsg = new StringBuilder("Expands to:<br/>\n");
- for (String exp : expansion) {
- // TODO(ulfjack): Can we link to the expanded flags here?
- expandsMsg
- .append("&nbsp;&nbsp;<code>")
- .append(escaper.escape(exp))
- .append("</code><br/>\n");
+ ImmutableList<String> expansion = getExpansionIfKnown(optionField, optionsData);
+ StringBuilder expandsMsg;
+ if (expansion == null) {
+ expandsMsg = new StringBuilder("Expands to unknown options.<br/>\n");
+ } else {
+ Preconditions.checkArgument(!expansion.isEmpty());
+ expandsMsg = new StringBuilder("Expands to:<br/>\n");
+ for (String exp : expansion) {
+ // TODO(ulfjack): Can we link to the expanded flags here?
+ expandsMsg
+ .append("&nbsp;&nbsp;<code>")
+ .append(escaper.escape(exp))
+ .append("</code><br/>\n");
+ }
}
usage.append(expandsMsg.toString());
- usage.append('\n');
}
+
usage.append("</dd>\n");
}