diff options
author | vladmos <vladmos@google.com> | 2017-12-13 09:04:13 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-12-13 09:05:31 -0800 |
commit | a9cd97c8075e1d7f3a2662795bde7afffa940dd3 (patch) | |
tree | 8f3238d273373b481a3790dab93235145510ca2b /src/main/java/com/google/devtools/build/docgen | |
parent | e8a83afe35b11385976349fdf421d4a353e6d938 (diff) |
Fix the documentation to allow making links to BE documetation articles
PiperOrigin-RevId: 178910168
Diffstat (limited to 'src/main/java/com/google/devtools/build/docgen')
4 files changed, 26 insertions, 9 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 3e8b511e32..d5e003715d 100644 --- a/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java +++ b/src/main/java/com/google/devtools/build/docgen/DocgenConsts.java @@ -45,6 +45,10 @@ 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"; diff --git a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java index c38bfa2697..4dc96ebbca 100644 --- a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java +++ b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationCollector.java @@ -68,10 +68,8 @@ final class SkylarkDocumentationCollector { * * <p>WARNING: This method no longer supports the specification of additional module classes via * parameters. Instead, all module classes are being picked up automatically. - * - * @param clazz DEPRECATED. */ - public static Map<String, SkylarkModuleDoc> collectModules(@Deprecated String... clazz) + public static Map<String, SkylarkModuleDoc> collectModules() throws ClassPathException { Map<String, SkylarkModuleDoc> modules = new TreeMap<>(); Map<SkylarkModule, Class<?>> builtinModules = new HashMap<>(); 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 8cd0e17761..f6525f6849 100644 --- a/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java +++ b/src/main/java/com/google/devtools/build/docgen/SkylarkDocumentationProcessor.java @@ -30,7 +30,9 @@ import java.util.List; import java.util.Locale; import java.util.Map; -/** A class to assemble documentation for Skylark. */ +/** + * A class to assemble documentation for Skylark. + */ public final class SkylarkDocumentationProcessor { private static final ImmutableList<SkylarkModuleCategory> GLOBAL_CATEGORIES = @@ -39,10 +41,14 @@ public final class SkylarkDocumentationProcessor { private SkylarkDocumentationProcessor() {} - /** Generates the Skylark documentation to the given output directory. */ - public static void generateDocumentation(String outputDir, String... clazz) + /** + * Generates the Skylark documentation to the given output directory. + */ + public static void generateDocumentation(String outputDir, String... args) throws IOException, ClassPathException { - Map<String, SkylarkModuleDoc> modules = SkylarkDocumentationCollector.collectModules(clazz); + parseOptions(args); + + Map<String, SkylarkModuleDoc> modules = SkylarkDocumentationCollector.collectModules(); // Generate the top level module first in the doc SkylarkModuleDoc topLevelModule = modules.remove( @@ -188,7 +194,7 @@ public final class SkylarkDocumentationProcessor { } else { return getFunctionDoc(module.getAnnotation().name(), params[1], module); } - } else if (toplevelModuleDoc.getBuiltinMethods().containsKey(params[0])){ + } else if (toplevelModuleDoc.getBuiltinMethods().containsKey(params[0])) { // Top level object / function return getFunctionDoc(null, params[0], toplevelModuleDoc); } @@ -233,4 +239,12 @@ public final class SkylarkDocumentationProcessor { sb.append(method.getSignature()) .append("\t").append(method.getDocumentation()).append("\n"); } + + private static void parseOptions(String... args) { + for (String arg : args) { + if (arg.startsWith("--be_root=")) { + DocgenConsts.BEDocsRoot = arg.split("--be_root=", 2)[1]; + } + } + } } 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 2b4be5497f..aa5d85a167 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,6 +13,7 @@ // 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; @@ -70,6 +71,6 @@ public final class SkylarkParamDoc extends SkylarkDoc { @Override public String getDocumentation() { - return param.doc(); + return param.doc().replace("$BE_ROOT", DocgenConsts.BEDocsRoot); } } |