Consolidate starlark_doc_extract's libraries into a logical location
... and get rid of the last vestiges of the legacy skydoc/stardoc extractor.
PiperOrigin-RevId: 634864746
Change-Id: I04247759681bbb8095095794d418bc6f67801723
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index 30b32da..f1ce4db 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -36,7 +36,7 @@
EXCLUDE_FILES="src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/testing/* src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTestUtils.java"
# Exclude whole directories under the bazel src tree that bazel itself
# doesn't depend on.
-EXCLUDE_DIRS="src/main/java/com/google/devtools/build/skydoc src/main/java/com/google/devtools/build/docgen tools/java/runfiles/testing src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils src/main/java/com/google/devtools/common/options/testing src/main/java/com/google/devtools/build/lib/testing"
+EXCLUDE_DIRS="src/main/java/com/google/devtools/build/docgen tools/java/runfiles/testing src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils src/main/java/com/google/devtools/common/options/testing src/main/java/com/google/devtools/build/lib/testing"
for d in $EXCLUDE_DIRS ; do
for f in $(find $d -type f) ; do
EXCLUDE_FILES+=" $f"
diff --git a/src/BUILD b/src/BUILD
index 0618359..8ae4ba4 100644
--- a/src/BUILD
+++ b/src/BUILD
@@ -347,7 +347,6 @@
"//src/main/java/com/google/devtools/build/lib/includescanning:srcs",
"//src/main/java/com/google/devtools/build/lib/network:srcs",
"//src/main/java/com/google/devtools/build/lib/outputfilter:srcs",
- "//src/main/java/com/google/devtools/build/skydoc:srcs",
"//src/main/java/com/google/devtools/build/skyframe:srcs",
"//src/main/java/com/google/devtools/common/options:srcs",
"//src/main/java/net/starlark/java/cmd:srcs",
@@ -364,7 +363,6 @@
"//src/test/java/com/google/devtools/build/docgen:srcs",
"//src/test/java/com/google/devtools/build/lib:srcs",
"//src/test/java/com/google/devtools/build/lib/shell:srcs",
- "//src/test/java/com/google/devtools/build/skydoc:srcs",
"//src/test/java/com/google/devtools/build/skyframe:srcs",
"//src/test/java/com/google/devtools/common/options:srcs",
"//src/test/java/net/starlark/java/eval:srcs",
diff --git a/src/main/java/com/google/devtools/build/docgen/BUILD b/src/main/java/com/google/devtools/build/docgen/BUILD
index ab4261b..140506e 100644
--- a/src/main/java/com/google/devtools/build/docgen/BUILD
+++ b/src/main/java/com/google/devtools/build/docgen/BUILD
@@ -11,7 +11,6 @@
name = "srcs",
srcs = glob(["**"]) + [
"//src/main/java/com/google/devtools/build/docgen/annot:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:srcs",
],
visibility = ["//src:__subpackages__"],
)
@@ -30,9 +29,9 @@
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/concurrent",
"//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:labelrenderer",
"//src/main/java/com/google/devtools/build/lib/util:classpath",
"//src/main/java/com/google/devtools/build/lib/util:filetype",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:rendering_util",
"//src/main/java/com/google/devtools/common/options",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
diff --git a/src/main/java/com/google/devtools/build/docgen/RuleDocumentationAttribute.java b/src/main/java/com/google/devtools/build/docgen/RuleDocumentationAttribute.java
index a94ae5e..67b99b5 100644
--- a/src/main/java/com/google/devtools/build/docgen/RuleDocumentationAttribute.java
+++ b/src/main/java/com/google/devtools/build/docgen/RuleDocumentationAttribute.java
@@ -25,7 +25,7 @@
import com.google.devtools.build.lib.packages.TriState;
import com.google.devtools.build.lib.packages.Type;
import com.google.devtools.build.lib.packages.Types;
-import com.google.devtools.build.skydoc.rendering.LabelRenderer;
+import com.google.devtools.build.lib.starlarkdocextract.LabelRenderer;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeInfo;
import java.util.HashMap;
import java.util.LinkedList;
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD
index e624201..fa6935f 100644
--- a/src/main/java/com/google/devtools/build/lib/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -88,6 +88,7 @@
"//src/main/java/com/google/devtools/build/lib/starlarkdebug/module:srcs",
"//src/main/java/com/google/devtools/build/lib/starlarkdebug/proto:srcs",
"//src/main/java/com/google/devtools/build/lib/starlarkdebug/server:srcs",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:srcs",
"//src/main/java/com/google/devtools/build/lib/supplier:srcs",
"//src/main/java/com/google/devtools/build/lib/testing/common:srcs",
"//src/main/java/com/google/devtools/build/lib/testing/vfs:srcs",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD b/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
index deeaaa1..5c1582a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
@@ -18,7 +18,6 @@
"StarlarkDocExtractRule.java",
],
deps = [
- ":moduleinfoextractor",
"//src/main/java/com/google/devtools/build/lib/actions",
"//src/main/java/com/google/devtools/build/lib/actions:artifacts",
"//src/main/java/com/google/devtools/build/lib/analysis:actions/binary_file_write_action",
@@ -33,8 +32,9 @@
"//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_failed_exception",
"//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:repository_mapping_value",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:labelrenderer",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:moduleinfoextractor",
"//src/main/java/com/google/devtools/build/lib/util:filetype",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:rendering_util",
"//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
"//src/main/java/net/starlark/java/eval",
"//src/main/protobuf:stardoc_output_java_proto",
@@ -44,19 +44,3 @@
"//third_party/protobuf:protobuf_java",
],
)
-
-java_library(
- name = "moduleinfoextractor",
- srcs = ["ModuleInfoExtractor.java"],
- deps = [
- "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
- "//src/main/java/com/google/devtools/build/lib/bazel/bzlmod:module_extension",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository/starlark",
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/packages",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:rendering_util",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/protobuf:stardoc_output_java_proto",
- "//third_party:guava",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java b/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java
index e5f1807..ebbfa44 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java
@@ -52,7 +52,8 @@
import com.google.devtools.build.lib.skyframe.BzlLoadValue;
import com.google.devtools.build.lib.skyframe.RepositoryMappingValue;
import com.google.devtools.build.lib.skyframe.RepositoryMappingValue.RepositoryMappingResolutionException;
-import com.google.devtools.build.skydoc.rendering.LabelRenderer;
+import com.google.devtools.build.lib.starlarkdocextract.LabelRenderer;
+import com.google.devtools.build.lib.starlarkdocextract.ModuleInfoExtractor;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ModuleInfo;
import com.google.devtools.build.skyframe.SkyFunction;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkdocextract/BUILD b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/BUILD
new file mode 100644
index 0000000..f6b9ae3
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/BUILD
@@ -0,0 +1,56 @@
+load("@rules_java//java:defs.bzl", "java_library")
+
+package(
+ default_applicable_licenses = ["//:license"],
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_library(
+ name = "labelrenderer",
+ srcs = ["LabelRenderer.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/net/starlark/java/eval",
+ ],
+)
+
+java_library(
+ name = "starlarkfunctioninfoextractor",
+ srcs = [
+ "DocstringParseException.java",
+ "StarlarkFunctionInfoExtractor.java",
+ ],
+ deps = [
+ ":labelrenderer",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/net/starlark/java/eval",
+ "//src/main/java/net/starlark/java/syntax",
+ "//src/main/protobuf:stardoc_output_java_proto",
+ "//src/tools/starlark/java/com/google/devtools/starlark/common",
+ "//third_party:guava",
+ "//third_party:jsr305",
+ ],
+)
+
+java_library(
+ name = "moduleinfoextractor",
+ srcs = ["ModuleInfoExtractor.java"],
+ deps = [
+ ":labelrenderer",
+ ":starlarkfunctioninfoextractor",
+ "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
+ "//src/main/java/com/google/devtools/build/lib/bazel/bzlmod:module_extension",
+ "//src/main/java/com/google/devtools/build/lib/bazel/repository/starlark",
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/packages",
+ "//src/main/java/net/starlark/java/eval",
+ "//src/main/protobuf:stardoc_output_java_proto",
+ "//third_party:guava",
+ ],
+)
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/DocstringParseException.java b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/DocstringParseException.java
similarity index 96%
rename from src/main/java/com/google/devtools/build/skydoc/rendering/DocstringParseException.java
rename to src/main/java/com/google/devtools/build/lib/starlarkdocextract/DocstringParseException.java
index d198e9f..9142438 100644
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/DocstringParseException.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/DocstringParseException.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.skydoc.rendering;
+package com.google.devtools.build.lib.starlarkdocextract;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.StarlarkFunctionInfo;
import com.google.devtools.starlark.common.DocstringUtils.DocstringParseError;
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/LabelRenderer.java b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/LabelRenderer.java
similarity index 98%
rename from src/main/java/com/google/devtools/build/skydoc/rendering/LabelRenderer.java
rename to src/main/java/com/google/devtools/build/lib/starlarkdocextract/LabelRenderer.java
index 0765cc3..60599d4 100644
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/LabelRenderer.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/LabelRenderer.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.skydoc.rendering;
+package com.google.devtools.build.lib.starlarkdocextract;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.RepositoryMapping;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractor.java b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractor.java
similarity index 97%
rename from src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractor.java
rename to src/main/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractor.java
index 4c3e251..dab0796 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractor.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractor.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.lib.rules.starlarkdocextract;
+package com.google.devtools.build.lib.starlarkdocextract;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
@@ -37,9 +37,6 @@
import com.google.devtools.build.lib.packages.StarlarkProviderIdentifier;
import com.google.devtools.build.lib.packages.Type;
import com.google.devtools.build.lib.packages.Types;
-import com.google.devtools.build.skydoc.rendering.DocstringParseException;
-import com.google.devtools.build.skydoc.rendering.LabelRenderer;
-import com.google.devtools.build.skydoc.rendering.StarlarkFunctionInfoExtractor;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeType;
@@ -69,7 +66,7 @@
private final LabelRenderer labelRenderer;
@VisibleForTesting
- static final AttributeInfo IMPLICIT_NAME_ATTRIBUTE_INFO =
+ public static final AttributeInfo IMPLICIT_NAME_ATTRIBUTE_INFO =
AttributeInfo.newBuilder()
.setName("name")
.setType(AttributeType.NAME)
@@ -78,7 +75,7 @@
.build();
@VisibleForTesting
- static final AttributeInfo IMPLICIT_MACRO_NAME_ATTRIBUTE_INFO =
+ public static final AttributeInfo IMPLICIT_MACRO_NAME_ATTRIBUTE_INFO =
AttributeInfo.newBuilder()
.setName("name")
.setType(AttributeType.NAME)
@@ -90,7 +87,7 @@
.build();
@VisibleForTesting
- static final ImmutableList<AttributeInfo> IMPLICIT_REPOSITORY_RULE_ATTRIBUTES =
+ public static final ImmutableList<AttributeInfo> IMPLICIT_REPOSITORY_RULE_ATTRIBUTES =
ImmutableList.of(
AttributeInfo.newBuilder()
.setName("name")
@@ -377,7 +374,7 @@
try {
moduleInfoBuilder.addFuncInfo(
StarlarkFunctionInfoExtractor.fromNameAndFunction(
- qualifiedName, function, /* withOriginKey= */ true, labelRenderer));
+ qualifiedName, function, labelRenderer));
} catch (DocstringParseException e) {
throw new ExtractionException(e);
}
@@ -482,10 +479,7 @@
try {
providerInfoBuilder.setInit(
StarlarkFunctionInfoExtractor.fromNameAndFunction(
- qualifiedName,
- (StarlarkFunction) provider.getInit(),
- /* withOriginKey= */ true,
- labelRenderer));
+ qualifiedName, (StarlarkFunction) provider.getInit(), labelRenderer));
} catch (DocstringParseException e) {
throw new ExtractionException(e);
}
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/StarlarkFunctionInfoExtractor.java b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/StarlarkFunctionInfoExtractor.java
similarity index 89%
rename from src/main/java/com/google/devtools/build/skydoc/rendering/StarlarkFunctionInfoExtractor.java
rename to src/main/java/com/google/devtools/build/lib/starlarkdocextract/StarlarkFunctionInfoExtractor.java
index 5f9dd68..6624089 100644
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/StarlarkFunctionInfoExtractor.java
+++ b/src/main/java/com/google/devtools/build/lib/starlarkdocextract/StarlarkFunctionInfoExtractor.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.skydoc.rendering;
+package com.google.devtools.build.lib.starlarkdocextract;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
@@ -50,34 +50,23 @@
* the original exported function name; the function may have been renamed in the target
* Starlark file's scope)
* @param fn the function object
- * @param withOriginKey set the {@link OriginKey} for the original name and original module where
- * the function was defined
* @param labelRenderer a string renderer for {@link Label} values in argument defaults and for
* the {@link OriginKey}'s file
- * @throws com.google.devtools.build.skydoc.rendering.DocstringParseException if the function's
- * docstring is malformed
+ * @throws DocstringParseException if the function's docstring is malformed
*/
- // TODO(arostovtsev): remove withOriginKey parameter and always export the origin key after we
- // remove the legacy Stardoc extractor.
public static StarlarkFunctionInfo fromNameAndFunction(
- String functionName, StarlarkFunction fn, boolean withOriginKey, LabelRenderer labelRenderer)
+ String functionName, StarlarkFunction fn, LabelRenderer labelRenderer)
throws DocstringParseException {
- return new StarlarkFunctionInfoExtractor(labelRenderer)
- .extract(functionName, fn, withOriginKey);
+ return new StarlarkFunctionInfoExtractor(labelRenderer).extract(functionName, fn);
}
- private StarlarkFunctionInfo extract(
- String functionName, StarlarkFunction fn, boolean withOriginKey)
+ private StarlarkFunctionInfo extract(String functionName, StarlarkFunction fn)
throws DocstringParseException {
Map<String, String> paramNameToDocMap = Maps.newLinkedHashMap();
StarlarkFunctionInfo.Builder functionInfoBuilder =
StarlarkFunctionInfo.newBuilder().setFunctionName(functionName);
- if (withOriginKey) {
- functionInfoBuilder.setOriginKey(getFunctionOriginKey(fn));
- }
-
+ functionInfoBuilder.setOriginKey(getFunctionOriginKey(fn));
String doc = fn.getDocumentation();
-
if (doc != null) {
List<DocstringParseError> parseErrors = Lists.newArrayList();
DocstringInfo docstringInfo = DocstringUtils.parseDocstring(doc, parseErrors);
diff --git a/src/main/java/com/google/devtools/build/skydoc/BUILD b/src/main/java/com/google/devtools/build/skydoc/BUILD
deleted file mode 100644
index 6587a02..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/BUILD
+++ /dev/null
@@ -1,12 +0,0 @@
-package(
- default_applicable_licenses = ["//:license"],
- default_visibility = ["//src:__subpackages__"],
-)
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]) + [
- "//src/main/java/com/google/devtools/build/skydoc/rendering:srcs",
- ],
- visibility = ["//src:__subpackages__"],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/AspectInfoWrapper.java b/src/main/java/com/google/devtools/build/skydoc/rendering/AspectInfoWrapper.java
deleted file mode 100644
index d553e02..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/AspectInfoWrapper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2019 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.skydoc.rendering;
-
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
-import net.starlark.java.eval.StarlarkCallable;
-import net.starlark.java.syntax.Location;
-
-/** Stores information about a Starlark aspect definition. */
-public class AspectInfoWrapper {
- private final StarlarkCallable identifierFunction;
- private final Location location;
- // Only the Builder is passed to AspectInfoWrapper as the aspect name is not yet available.
- private final AspectInfo.Builder aspectInfo;
-
- public AspectInfoWrapper(
- StarlarkCallable identifierFunction, Location location, AspectInfo.Builder aspectInfo) {
- this.identifierFunction = identifierFunction;
- this.location = location;
- this.aspectInfo = aspectInfo;
- }
-
- public StarlarkCallable getIdentifierFunction() {
- return identifierFunction;
- }
-
- public Location getLocation() {
- return location;
- }
-
- public AspectInfo.Builder getAspectInfo() {
- return aspectInfo;
- }
-}
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/BUILD b/src/main/java/com/google/devtools/build/skydoc/rendering/BUILD
deleted file mode 100644
index 88470bf..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/BUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_applicable_licenses = ["//:license"],
- default_visibility = ["//src:__subpackages__"],
-)
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
- visibility = ["//src:__subpackages__"],
-)
-
-# TODO(arostovtsev): move rendering_util to rules/starlarkdocextract when we remove legacy Stardoc.
-java_library(
- name = "rendering_util",
- srcs = [
- "DocstringParseException.java",
- "LabelRenderer.java",
- "StarlarkFunctionInfoExtractor.java",
- ],
- deps = [
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//src/main/protobuf:stardoc_output_java_proto",
- "//src/tools/starlark/java/com/google/devtools/starlark/common",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
-
-java_library(
- name = "rendering",
- srcs = glob(
- ["*.java"],
- exclude = [
- "DocstringParseException.java",
- "LabelRenderer.java",
- "StarlarkFunctionInfoExtractor.java",
- ],
- ),
- deps = [
- ":rendering_util",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//src/main/protobuf:stardoc_output_java_proto",
- "//third_party:error_prone_annotations",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/ProtoRenderer.java b/src/main/java/com/google/devtools/build/skydoc/rendering/ProtoRenderer.java
deleted file mode 100644
index 84d3cdb..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/ProtoRenderer.java
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2019 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.skydoc.rendering;
-
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ModuleInfo;
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderInfo;
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.RuleInfo;
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.StarlarkFunctionInfo;
-import com.google.errorprone.annotations.CanIgnoreReturnValue;
-import java.io.BufferedOutputStream;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Map;
-import net.starlark.java.eval.StarlarkFunction;
-
-/** Produces skydoc output in proto form. */
-public class ProtoRenderer {
-
- private final ModuleInfo.Builder moduleInfo;
-
- public ProtoRenderer() {
- this.moduleInfo = ModuleInfo.newBuilder();
- }
-
- /** Appends {@link RuleInfo} protos to a {@link ModuleInfo.Builder}. */
- @CanIgnoreReturnValue
- public ProtoRenderer appendRuleInfos(Collection<RuleInfo> ruleInfos) {
- for (RuleInfo ruleInfo : ruleInfos) {
- moduleInfo.addRuleInfo(ruleInfo);
- }
- return this;
- }
-
- /** Appends {@link ProviderInfo} protos to a {@link ModuleInfo.Builder}. */
- @CanIgnoreReturnValue
- public ProtoRenderer appendProviderInfos(Collection<ProviderInfo> providerInfos) {
- for (ProviderInfo providerInfo : providerInfos) {
- moduleInfo.addProviderInfo(providerInfo);
- }
- return this;
- }
-
- /** Appends {@link StarlarkFunctionInfo} protos to a {@link ModuleInfo.Builder}. */
- @CanIgnoreReturnValue
- public ProtoRenderer appendStarlarkFunctionInfos(Map<String, StarlarkFunction> funcInfosMap)
- throws DocstringParseException {
- for (Map.Entry<String, StarlarkFunction> entry : funcInfosMap.entrySet()) {
- StarlarkFunctionInfo funcInfo =
- StarlarkFunctionInfoExtractor.fromNameAndFunction(
- entry.getKey(), entry.getValue(), /* withOriginKey= */ false, LabelRenderer.DEFAULT);
- moduleInfo.addFuncInfo(funcInfo);
- }
- return this;
- }
-
- /** Appends module docstring protos to a {@link ModuleInfo.Builder}. */
- @CanIgnoreReturnValue
- public ProtoRenderer setModuleDocstring(String moduleDoc) {
- moduleInfo.setModuleDocstring(moduleDoc);
- return this;
- }
-
- /** Outputs the raw form of a {@link ModuleInfo} proto. */
- public void writeModuleInfo(BufferedOutputStream outputStream) throws IOException {
- ModuleInfo build = moduleInfo.build();
- build.writeTo(outputStream);
- }
-
- /** Appends {@link AspectInfo} protos to a {@link ModuleInfo.Builder}. */
- @CanIgnoreReturnValue
- public ProtoRenderer appendAspectInfos(Collection<AspectInfo> aspectInfos) {
- for (AspectInfo aspectInfo : aspectInfos) {
- moduleInfo.addAspectInfo(aspectInfo);
- }
- return this;
- }
-
- public ModuleInfo.Builder getModuleInfo() {
- return moduleInfo;
- }
-}
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/ProviderInfoWrapper.java b/src/main/java/com/google/devtools/build/skydoc/rendering/ProviderInfoWrapper.java
deleted file mode 100644
index 9a14f82..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/ProviderInfoWrapper.java
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2019 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.skydoc.rendering;
-
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderFieldInfo;
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderInfo;
-import java.util.Collection;
-import java.util.Optional;
-import net.starlark.java.eval.StarlarkCallable;
-
-/**
- * Stores information about a starlark provider definition, comprised of StarlarkCallable identifier
- * and a {@link ProviderInfo} proto.
- *
- * <p>For example, in
- *
- * <pre>FooInfo = provider(doc = 'My provider', fields = {'bar' : 'a bar'})</pre>
- *
- * , this contains all information about the definition of FooInfo for purposes of generating its
- * documentation, as well as a unique StarlarkCallable identifier.
- */
-public class ProviderInfoWrapper {
-
- private final StarlarkCallable identifier;
- // Only the Builder is passed to ProviderInfoWrapper as the provider name is not yet available.
- private final ProviderInfo.Builder providerInfo;
-
- public ProviderInfoWrapper(
- StarlarkCallable identifier,
- Optional<String> docString,
- Collection<ProviderFieldInfo> fieldInfos) {
- this.identifier = identifier;
- this.providerInfo = ProviderInfo.newBuilder().addAllFieldInfo(fieldInfos);
- docString.ifPresent(this.providerInfo::setDocString);
- }
-
- public StarlarkCallable getIdentifier() {
- return identifier;
- }
-
- public ProviderInfo.Builder getProviderInfo() {
- return providerInfo;
- }
-}
diff --git a/src/main/java/com/google/devtools/build/skydoc/rendering/RuleInfoWrapper.java b/src/main/java/com/google/devtools/build/skydoc/rendering/RuleInfoWrapper.java
deleted file mode 100644
index 45ad633..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/rendering/RuleInfoWrapper.java
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2018 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.skydoc.rendering;
-
-import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.RuleInfo;
-import net.starlark.java.eval.StarlarkCallable;
-import net.starlark.java.syntax.Location;
-
-/** Stores information about a Starlark rule definition. */
-public class RuleInfoWrapper {
-
- private final StarlarkCallable identifierFunction;
- private final Location location;
- // Only the Builder is passed to RuleInfoWrapper as the rule name is not yet available.
- private final RuleInfo.Builder ruleInfo;
-
- public RuleInfoWrapper(
- StarlarkCallable identifierFunction, Location location, RuleInfo.Builder ruleInfo) {
- this.identifierFunction = identifierFunction;
- this.location = location;
- this.ruleInfo = ruleInfo;
- }
-
- public StarlarkCallable getIdentifierFunction() {
- return identifierFunction;
- }
-
- public Location getLocation() {
- return location;
- }
-
- public RuleInfo.Builder getRuleInfo() {
- return ruleInfo;
- }
-}
diff --git a/src/main/protobuf/BUILD b/src/main/protobuf/BUILD
index 005b395..3551f24 100644
--- a/src/main/protobuf/BUILD
+++ b/src/main/protobuf/BUILD
@@ -321,10 +321,10 @@
packages = [
"//src/main/java/com/google/devtools/build/docgen/...",
"//src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/...",
- "//src/main/java/com/google/devtools/build/skydoc/...",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract/...",
"//src/test/java/com/google/devtools/build/docgen/...",
"//src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/...",
- "//src/test/java/com/google/devtools/build/skydoc/...",
+ "//src/test/java/com/google/devtools/build/lib/starlarkdocextract/...",
],
)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD b/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
index f9a6e42..ec0e252 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD
@@ -23,19 +23,13 @@
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/bazel/repository/starlark",
"//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract:moduleinfoextractor",
- "//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:moduleinfoextractor",
"//src/main/java/com/google/devtools/build/lib/vfs",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:rendering_util",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
"//src/main/protobuf:stardoc_output_java_proto",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/bazel/bzlmod:util",
- "//src/test/java/com/google/devtools/build/lib/starlark/util",
"//src/test/java/com/google/devtools/build/lib/testutil",
- "//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
"//third_party/protobuf:protobuf_java",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java b/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java
index 4bca017..871372c 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtractTest.java
@@ -28,6 +28,7 @@
import com.google.devtools.build.lib.bazel.repository.starlark.StarlarkRepositoryModule;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.starlarkbuildapi.repository.RepositoryBootstrap;
+import com.google.devtools.build.lib.starlarkdocextract.ModuleInfoExtractor;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.vfs.Path;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
diff --git a/src/test/java/com/google/devtools/build/lib/starlarkdocextract/BUILD b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/BUILD
new file mode 100644
index 0000000..869327d
--- /dev/null
+++ b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/BUILD
@@ -0,0 +1,45 @@
+load("@rules_java//java:defs.bzl", "java_test")
+
+package(
+ default_applicable_licenses = ["//:license"],
+ default_visibility = ["//src:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ testonly = 0,
+ srcs = glob(["*"]),
+ visibility = ["//src:__subpackages__"],
+)
+
+java_test(
+ name = "LabelRendererTest",
+ size = "small",
+ srcs = ["LabelRendererTest.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:labelrenderer",
+ "//src/main/java/net/starlark/java/eval",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
+
+java_test(
+ name = "ModuleInfoExtractorTest",
+ srcs = ["ModuleInfoExtractorTest.java"],
+ deps = [
+ "//src/main/java/com/google/devtools/build/lib/cmdline",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:skyframe_cluster",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:labelrenderer",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:moduleinfoextractor",
+ "//src/main/java/net/starlark/java/eval",
+ "//src/main/java/net/starlark/java/syntax",
+ "//src/main/protobuf:stardoc_output_java_proto",
+ "//src/test/java/com/google/devtools/build/lib/starlark/util",
+ "//third_party:guava",
+ "//third_party:junit4",
+ "//third_party:truth",
+ ],
+)
diff --git a/src/test/java/com/google/devtools/build/skydoc/rendering/LabelRendererTest.java b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/LabelRendererTest.java
similarity index 98%
rename from src/test/java/com/google/devtools/build/skydoc/rendering/LabelRendererTest.java
rename to src/test/java/com/google/devtools/build/lib/starlarkdocextract/LabelRendererTest.java
index dc536d6..02f81d9 100644
--- a/src/test/java/com/google/devtools/build/skydoc/rendering/LabelRendererTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/LabelRendererTest.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.skydoc.rendering;
+package com.google.devtools.build.lib.starlarkdocextract;
import static com.google.common.truth.Truth.assertThat;
diff --git a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractorTest.java b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractorTest.java
similarity index 99%
rename from src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractorTest.java
rename to src/test/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractorTest.java
index d5ba40b..67a29a3 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/starlarkdocextract/ModuleInfoExtractorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlarkdocextract/ModuleInfoExtractorTest.java
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package com.google.devtools.build.lib.rules.starlarkdocextract;
+package com.google.devtools.build.lib.starlarkdocextract;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.extensions.proto.ProtoTruth.assertThat;
@@ -25,7 +25,6 @@
import com.google.devtools.build.lib.cmdline.RepositoryName;
import com.google.devtools.build.lib.skyframe.BzlLoadFunction;
import com.google.devtools.build.lib.starlark.util.BazelEvaluationTestCase;
-import com.google.devtools.build.skydoc.rendering.LabelRenderer;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeInfo;
import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AttributeType;
diff --git a/src/test/java/com/google/devtools/build/skydoc/BUILD b/src/test/java/com/google/devtools/build/skydoc/BUILD
deleted file mode 100644
index d9c7308..0000000
--- a/src/test/java/com/google/devtools/build/skydoc/BUILD
+++ /dev/null
@@ -1,12 +0,0 @@
-package(
- default_testonly = 1,
-)
-
-filegroup(
- name = "srcs",
- testonly = 0,
- srcs = glob(["**"]) + [
- "//src/test/java/com/google/devtools/build/skydoc/rendering:srcs",
- ],
- visibility = ["//src:__pkg__"],
-)
diff --git a/src/test/java/com/google/devtools/build/skydoc/rendering/BUILD b/src/test/java/com/google/devtools/build/skydoc/rendering/BUILD
deleted file mode 100644
index 61de9ea..0000000
--- a/src/test/java/com/google/devtools/build/skydoc/rendering/BUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_test")
-
-package(
- default_applicable_licenses = ["//:license"],
- default_visibility = ["//src:__subpackages__"],
-)
-
-filegroup(
- name = "srcs",
- testonly = 0,
- srcs = glob(["*"]),
- visibility = ["//src:__subpackages__"],
-)
-
-java_test(
- name = "LabelRendererTest",
- size = "small",
- srcs = ["LabelRendererTest.java"],
- deps = [
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/skydoc/rendering:rendering_util",
- "//src/main/java/net/starlark/java/eval",
- "//third_party:guava",
- "//third_party:junit4",
- "//third_party:truth",
- ],
-)
diff --git a/src/tools/starlark/java/com/google/devtools/starlark/common/BUILD b/src/tools/starlark/java/com/google/devtools/starlark/common/BUILD
index 99feb4f..527097d 100644
--- a/src/tools/starlark/java/com/google/devtools/starlark/common/BUILD
+++ b/src/tools/starlark/java/com/google/devtools/starlark/common/BUILD
@@ -5,7 +5,7 @@
srcs = ["DocstringUtils.java"],
visibility = [
# For docstring parsing libraries.
- "//src/main/java/com/google/devtools/build/skydoc:__subpackages__",
+ "//src/main/java/com/google/devtools/build/lib/starlarkdocextract:__subpackages__",
"//src/tools/skylark/java/com/google/devtools/skylark/skylint:__subpackages__",
"//src/tools/skylark/javatests/com/google/devtools/skylark/skylint:__subpackages__",
],