diff options
author | 2017-12-18 06:42:21 -0800 | |
---|---|---|
committer | 2017-12-18 06:44:20 -0800 | |
commit | 1892677145c55f3e233a5dd16c695416b994a924 (patch) | |
tree | 2fded39087e5d5a2cffe053f4258fb643ede8212 /src/main/java/com/google/devtools/build/docgen | |
parent | 2f10da0db062e023b1f0f8222f8545467b29ae4e (diff) |
Fix a documentation link
PiperOrigin-RevId: 179416493
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
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()); } } |