aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/docgen
diff options
context:
space:
mode:
authorGravatar vladmos <vladmos@google.com>2017-12-18 06:42:21 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-18 06:44:20 -0800
commit1892677145c55f3e233a5dd16c695416b994a924 (patch)
tree2fded39087e5d5a2cffe053f4258fb643ede8212 /src/main/java/com/google/devtools/build/docgen
parent2f10da0db062e023b1f0f8222f8545467b29ae4e (diff)
Fix a documentation link
PiperOrigin-RevId: 179416493
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
-rw-r--r--src/main/java/com/google/devtools/build/docgen/DocgenConsts.java13
-rw-r--r--src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java5
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java2
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDocUtils.java33
-rw-r--r--src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java3
5 files changed, 48 insertions, 8 deletions
diff --git a/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java b/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
index d5e003715d..ebdf3f3cb2 100644
--- a/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
+++ b/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java
@@ -45,10 +45,6 @@ public class DocgenConsts {
public static final String SKYLARK_OVERVIEW_TEMPLATE =
"com/google/devtools/build/docgen/templates/skylark-overview.vm";
- // Build Encyclopedia documentation root
- // Can be overridden from SkylarkDocumentationProcessor#parseOptions
- public static String BEDocsRoot = "/versions/master/be";
-
public static final String VAR_LEFT_PANEL = "LEFT_PANEL";
public static final String VAR_SECTION_BINARY = "SECTION_BINARY";
@@ -173,6 +169,15 @@ public class DocgenConsts {
.put("hdrs", -90)
.build();
+ // The following variables are not constants as they can be overridden from
+ // SkylarkDocumentationProcessor#parseOptions
+
+ // Build Encyclopedia documentation root
+ public static String BeDocsRoot = "/versions/master/be";
+
+ // Documentation files extension
+ public static String documentationExtension = "html";
+
static String toCommandLineFormat(String cmdDoc) {
// Replace html <br> tags with line breaks
cmdDoc = cmdDoc.replaceAll("(<br>|<br[\\s]*/>)", "\n") + "\n";
diff --git a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
index f6525f6849..34a1b23810 100644
--- a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
+++ b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java
@@ -243,7 +243,10 @@ public final class SkylarkDocumentationProcessor {
private static void parseOptions(String... args) {
for (String arg : args) {
if (arg.startsWith("--be_root=")) {
- DocgenConsts.BEDocsRoot = arg.split("--be_root=", 2)[1];
+ DocgenConsts.BeDocsRoot = arg.split("--be_root=", 2)[1];
+ }
+ if (arg.startsWith("--doc_extension=")) {
+ DocgenConsts.documentationExtension = arg.split("--doc_extension=", 2)[1];
}
}
}
diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java
index e352fb3bc3..bcb52923f9 100644
--- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java
+++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkBuiltinMethodDoc.java
@@ -53,7 +53,7 @@ public final class SkylarkBuiltinMethodDoc extends SkylarkMethodDoc {
@Override
public String getDocumentation() {
- return annotation.doc();
+ return SkylarkDocUtils.substituteVariables(annotation.doc());
}
/**
diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDocUtils.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDocUtils.java
new file mode 100644
index 0000000000..ac73f65596
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkDocUtils.java
@@ -0,0 +1,33 @@
+// Copyright 2014 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.devtools.build.docgen.skylark;
+
+import com.google.devtools.build.docgen.DocgenConsts;
+
+/** A utility class for the documentation generator. */
+public final class SkylarkDocUtils {
+ private SkylarkDocUtils() {}
+
+ /**
+ * Substitute special variables in the documentation with their actual values
+ *
+ * @return a string with substituted variables
+ */
+ static String substituteVariables(String documentation) {
+ return documentation
+ .replace("$BE_ROOT", DocgenConsts.BeDocsRoot)
+ .replace("$DOC_EXT", DocgenConsts.documentationExtension);
+ }
+}
diff --git a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
index d61aef65ad..74d26a9853 100644
--- a/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
+++ b/src/main/java/com/google/devtools/build/docgen/skylark/SkylarkParamDoc.java
@@ -13,7 +13,6 @@
// limitations under the License.
package com.google.devtools.build.docgen.skylark;
-import com.google.devtools.build.docgen.DocgenConsts;
import com.google.devtools.build.lib.skylarkinterface.Param;
import com.google.devtools.build.lib.skylarkinterface.ParamType;
@@ -74,6 +73,6 @@ public final class SkylarkParamDoc extends SkylarkDoc {
@Override
public String getDocumentation() {
- return param.doc().replace("$BE_ROOT", DocgenConsts.BEDocsRoot);
+ return SkylarkDocUtils.substituteVariables(param.doc());
}
}