bazel skydoc: consolidate the fake environment
This change merges the two essentially identical functions
that populate the "fake" predeclared .bzl environment used
by skydoc and docgen. The function is in FakeApi.
Also:
- consolidate all the fake API into a single build target.
(So much fuss for so little actual code.)
- delete TopLevelBootstrap, which is obfuscating fluff.
PiperOrigin-RevId: 332503771
diff --git a/src/main/java/com/google/devtools/build/docgen/BUILD b/src/main/java/com/google/devtools/build/docgen/BUILD
index c1d9b15..241a920 100644
--- a/src/main/java/com/google/devtools/build/docgen/BUILD
+++ b/src/main/java/com/google/devtools/build/docgen/BUILD
@@ -18,32 +18,10 @@
"//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/pkgcache",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/repository",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/stubs",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test",
"//src/main/java/com/google/devtools/build/lib/util",
"//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/fakebuildapi",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test",
"//src/main/java/com/google/devtools/common/options",
"//src/main/java/net/starlark/java/annot",
"//src/main/java/net/starlark/java/eval",
@@ -91,15 +69,6 @@
srcs = glob(["**"]) + [
"//src/main/java/com/google/devtools/build/docgen/annot:srcs",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test:srcs",
"//src/main/java/com/google/devtools/build/skydoc/rendering:srcs",
],
)
diff --git a/src/main/java/com/google/devtools/build/docgen/SymbolFamilies.java b/src/main/java/com/google/devtools/build/docgen/SymbolFamilies.java
index 101c040..8bbc50c 100644
--- a/src/main/java/com/google/devtools/build/docgen/SymbolFamilies.java
+++ b/src/main/java/com/google/devtools/build/docgen/SymbolFamilies.java
@@ -18,78 +18,8 @@
import com.google.common.collect.Lists;
import com.google.devtools.build.docgen.starlark.StarlarkBuiltinDoc;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
-import com.google.devtools.build.lib.starlarkbuildapi.TopLevelBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.android.AndroidBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.apple.AppleBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.config.ConfigBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.cpp.CcBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.java.JavaBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.platform.PlatformBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.proto.ProtoBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.python.PyBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.repository.RepositoryBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.stubs.ProviderStub;
-import com.google.devtools.build.lib.starlarkbuildapi.stubs.StarlarkAspectStub;
-import com.google.devtools.build.lib.starlarkbuildapi.test.TestingBootstrap;
import com.google.devtools.build.lib.util.Classpath.ClassPathException;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeActionsInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeBuildApiGlobals;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeConfigApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeDefaultInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeOutputGroupInfo.FakeOutputGroupInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkAttrModuleApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkCommandLineApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkNativeModuleApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkRuleFunctionsApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi.FakeStructProviderApi;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidApplicationResourceInfo.FakeAndroidApplicationResourceInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidAssetsInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidBinaryDataInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidDeviceBrokerInfo.FakeAndroidDeviceBrokerInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidFeatureFlagSetProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdeInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdlProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidInstrumentationInfo.FakeAndroidInstrumentationInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryAarInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryResourceClassJarProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidManifestInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidNativeLibsInfo.FakeAndroidNativeLibsInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidPreDexJarProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidProguardInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidResourcesInfo.FakeAndroidResourcesInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidSdkProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidStarlarkCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeApkInfo.FakeApkInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeDataBindingV2Provider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeProguardMappingProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.apple.FakeAppleCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigGlobalLibrary;
-import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigStarlarkCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcModule;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcToolchainConfigInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeGoWrapCcHelper;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcHelper;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaInfo.FakeJavaInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaProtoCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeProguardSpecProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.platform.FakePlatformCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoInfo.FakeProtoInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyInfo.FakePyInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyRuntimeInfo.FakePyRuntimeInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyStarlarkTransitions;
-import com.google.devtools.build.skydoc.fakebuildapi.repository.FakeRepositoryModule;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisFailureInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisTestResultInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeCoverageCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeInstrumentedFilesInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeTestingModule;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeApi;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -117,7 +47,15 @@
this.nativeRules =
ImmutableList.copyOf(collectNativeRules(productName, provider, inputDirs, blackList));
this.globals = Starlark.UNIVERSE;
- this.bzlGlobals = ImmutableMap.copyOf(collectBzlGlobals());
+
+ ImmutableMap.Builder<String, Object> env = ImmutableMap.builder();
+ FakeApi.addPredeclared(
+ env,
+ /*rules=*/ Lists.newArrayList(),
+ /*providers=*/ Lists.newArrayList(),
+ /*aspects=*/ Lists.newArrayList());
+ this.bzlGlobals = env.build();
+
this.types = StarlarkDocumentationCollector.getAllModules();
}
@@ -163,103 +101,6 @@
return processor.getNativeRules();
}
- /*
- * Collects a mapping between names and Starlark entities that are available only in BZL files
- */
- private Map<String, Object> collectBzlGlobals() {
- ImmutableMap.Builder<String, Object> envBuilder = ImmutableMap.builder();
- TopLevelBootstrap topLevelBootstrap =
- new TopLevelBootstrap(
- new FakeBuildApiGlobals(),
- new FakeStarlarkAttrModuleApi(),
- new FakeStarlarkCommandLineApi(),
- new FakeStarlarkNativeModuleApi(),
- new FakeStarlarkRuleFunctionsApi(
- Lists.newArrayList(), Lists.newArrayList(), Lists.newArrayList()),
- new FakeStructProviderApi(),
- new FakeOutputGroupInfoProvider(),
- new FakeActionsInfoProvider(),
- new FakeDefaultInfoProvider());
- AndroidBootstrap androidBootstrap =
- new AndroidBootstrap(
- new FakeAndroidStarlarkCommon(),
- new FakeApkInfoProvider(),
- new FakeAndroidInstrumentationInfoProvider(),
- new FakeAndroidDeviceBrokerInfoProvider(),
- new FakeAndroidResourcesInfoProvider(),
- new FakeAndroidNativeLibsInfoProvider(),
- new FakeAndroidApplicationResourceInfoProvider(),
- new FakeAndroidSdkProvider.FakeProvider(),
- new FakeAndroidManifestInfo.FakeProvider(),
- new FakeAndroidAssetsInfo.FakeProvider(),
- new FakeAndroidLibraryAarInfo.FakeProvider(),
- new FakeAndroidProguardInfo.FakeProvider(),
- new FakeAndroidIdlProvider.FakeProvider(),
- new FakeAndroidIdeInfoProvider.FakeProvider(),
- new FakeAndroidPreDexJarProvider.FakeProvider(),
- new FakeAndroidCcLinkParamsProvider.FakeProvider(),
- new FakeDataBindingV2Provider.FakeProvider(),
- new FakeAndroidLibraryResourceClassJarProvider.FakeProvider(),
- new FakeAndroidFeatureFlagSetProvider.FakeProvider(),
- new FakeProguardMappingProvider.FakeProvider(),
- new FakeAndroidBinaryDataInfo.FakeProvider());
- AppleBootstrap appleBootstrap = new AppleBootstrap(new FakeAppleCommon());
- ConfigBootstrap configBootstrap =
- new ConfigBootstrap(
- new FakeConfigStarlarkCommon(), new FakeConfigApi(), new FakeConfigGlobalLibrary());
- CcBootstrap ccBootstrap =
- new CcBootstrap(
- new FakeCcModule(),
- new FakeCcInfo.Provider(),
- new FakeCcToolchainConfigInfo.Provider(),
- new FakePyWrapCcHelper(),
- new FakeGoWrapCcHelper(),
- new FakePyWrapCcInfo.Provider(),
- new FakePyCcLinkParamsProvider.Provider());
- JavaBootstrap javaBootstrap =
- new JavaBootstrap(
- new FakeJavaCommon(),
- new FakeJavaInfoProvider(),
- new FakeJavaProtoCommon(),
- new FakeJavaCcLinkParamsProvider.Provider(),
- new FakeProguardSpecProvider.FakeProvider());
- PlatformBootstrap platformBootstrap = new PlatformBootstrap(new FakePlatformCommon());
- ProtoBootstrap protoBootstrap =
- new ProtoBootstrap(
- new FakeProtoInfoProvider(),
- new FakeProtoCommon(),
- new StarlarkAspectStub(),
- new ProviderStub());
- PyBootstrap pyBootstrap =
- new PyBootstrap(
- new FakePyInfoProvider(),
- new FakePyRuntimeInfoProvider(),
- new FakePyStarlarkTransitions());
- RepositoryBootstrap repositoryBootstrap =
- new RepositoryBootstrap(new FakeRepositoryModule(Lists.newArrayList()));
- TestingBootstrap testingBootstrap =
- new TestingBootstrap(
- new FakeTestingModule(),
- new FakeCoverageCommon(),
- new FakeInstrumentedFilesInfoProvider(),
- new FakeAnalysisFailureInfoProvider(),
- new FakeAnalysisTestResultInfoProvider());
-
- topLevelBootstrap.addBindingsToBuilder(envBuilder);
- androidBootstrap.addBindingsToBuilder(envBuilder);
- appleBootstrap.addBindingsToBuilder(envBuilder);
- ccBootstrap.addBindingsToBuilder(envBuilder);
- configBootstrap.addBindingsToBuilder(envBuilder);
- javaBootstrap.addBindingsToBuilder(envBuilder);
- platformBootstrap.addBindingsToBuilder(envBuilder);
- protoBootstrap.addBindingsToBuilder(envBuilder);
- pyBootstrap.addBindingsToBuilder(envBuilder);
- repositoryBootstrap.addBindingsToBuilder(envBuilder);
- testingBootstrap.addBindingsToBuilder(envBuilder);
-
- return envBuilder.build();
- }
-
private ConfiguredRuleClassProvider createRuleClassProvider(String classProvider)
throws NoSuchMethodException, InvocationTargetException, IllegalAccessException,
ClassNotFoundException {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
index 923fe95..dab01e4 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredRuleClassProvider.java
@@ -743,7 +743,7 @@
ImmutableMap<String, Object> nativeRuleSpecificBindings) {
ImmutableMap.Builder<String, Object> envBuilder = ImmutableMap.builder();
// Add predeclared symbols of the Bazel build language.
- StarlarkModules.addStarlarkGlobalsToBuilder(envBuilder);
+ StarlarkModules.addPredeclared(envBuilder);
// Add all the extensions registered with the rule class provider.
envBuilder.putAll(nativeRuleSpecificBindings);
return envBuilder.build();
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkModules.java b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkModules.java
index 3cd7b44..854b0af 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkModules.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkModules.java
@@ -21,30 +21,26 @@
import com.google.devtools.build.lib.packages.StarlarkLibrary;
import com.google.devtools.build.lib.packages.StarlarkNativeModule;
import com.google.devtools.build.lib.packages.StructProvider;
-import com.google.devtools.build.lib.starlarkbuildapi.TopLevelBootstrap;
+import net.starlark.java.eval.Starlark;
-/** The basis for a Starlark Environment with all build-related modules registered. */
+/** The basis for a Starlark Environment with various build-related modules registered. */
public final class StarlarkModules {
- private StarlarkModules() { }
+ private StarlarkModules() {}
- /** A bootstrap for non-rules-specific built-ins of the build API. */
- private static TopLevelBootstrap topLevelBootstrap =
- new TopLevelBootstrap(
- new BazelBuildApiGlobals(),
- new StarlarkAttrModule(),
- new StarlarkCommandLine(),
- new StarlarkNativeModule(),
- new StarlarkRuleClassFunctions(),
- StructProvider.STRUCT,
- OutputGroupInfo.STARLARK_CONSTRUCTOR,
- ActionsProvider.INSTANCE,
- DefaultInfo.PROVIDER);
+ // excludes native. platform_common, UNIVRESE
/** Adds predeclared Starlark bindings for the Bazel build language. */
- // TODO(adonovan): rename "globals" -> "builtins"
- public static void addStarlarkGlobalsToBuilder(ImmutableMap.Builder<String, Object> predeclared) {
+ public static void addPredeclared(ImmutableMap.Builder<String, Object> predeclared) {
predeclared.putAll(StarlarkLibrary.COMMON); // e.g. select, depset
- topLevelBootstrap.addBindingsToBuilder(predeclared);
+ Starlark.addMethods(predeclared, new BazelBuildApiGlobals()); // e.g. configuration_field
+ Starlark.addMethods(predeclared, new StarlarkRuleClassFunctions()); // e.g. rule
+ Starlark.addModule(predeclared, new StarlarkCommandLine()); // cmd_helper module
+ Starlark.addModule(predeclared, new StarlarkAttrModule()); // attr module
+ Starlark.addModule(predeclared, new StarlarkNativeModule()); // native module
+ predeclared.put("struct", StructProvider.STRUCT);
+ predeclared.put("OutputGroupInfo", OutputGroupInfo.STARLARK_CONSTRUCTOR);
+ predeclared.put("Actions", ActionsProvider.INSTANCE);
+ predeclared.put("DefaultInfo", DefaultInfo.PROVIDER);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/TopLevelBootstrap.java b/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/TopLevelBootstrap.java
deleted file mode 100644
index 42070ee..0000000
--- a/src/main/java/com/google/devtools/build/lib/starlarkbuildapi/TopLevelBootstrap.java
+++ /dev/null
@@ -1,71 +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.lib.starlarkbuildapi;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.starlarkbuildapi.DefaultInfoApi.DefaultInfoApiProvider;
-import com.google.devtools.build.lib.starlarkbuildapi.OutputGroupInfoApi.OutputGroupInfoApiProvider;
-import com.google.devtools.build.lib.starlarkbuildapi.core.Bootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.core.StructApi;
-import net.starlark.java.eval.Starlark;
-
-/**
- * A {@link Bootstrap} for top-level libraries of the build API.
- */
-public class TopLevelBootstrap implements Bootstrap {
- private final StarlarkBuildApiGlobals starlarkBuildApiGlobals;
- private final StarlarkAttrModuleApi starlarkAttrModuleApi;
- private final StarlarkCommandLineApi starlarkCommandLineApi;
- private final StarlarkNativeModuleApi starlarkNativeModuleApi;
- private final StarlarkRuleFunctionsApi<?> starlarkRuleFunctionsApi;
- private final StructApi.StructProviderApi structProvider;
- private final OutputGroupInfoApiProvider outputGroupInfoProvider;
- private final ActionsInfoProviderApi actionsInfoProviderApi;
- private final DefaultInfoApiProvider<?, ?> defaultInfoProvider;
-
- public TopLevelBootstrap(
- StarlarkBuildApiGlobals starlarkBuildApiGlobals,
- StarlarkAttrModuleApi starlarkAttrModuleApi,
- StarlarkCommandLineApi starlarkCommandLineApi,
- StarlarkNativeModuleApi starlarkNativeModuleApi,
- StarlarkRuleFunctionsApi<?> starlarkRuleFunctionsApi,
- StructApi.StructProviderApi structProvider,
- OutputGroupInfoApiProvider outputGroupInfoProvider,
- ActionsInfoProviderApi actionsInfoProviderApi,
- DefaultInfoApiProvider<?, ?> defaultInfoProvider) {
- this.starlarkAttrModuleApi = starlarkAttrModuleApi;
- this.starlarkBuildApiGlobals = starlarkBuildApiGlobals;
- this.starlarkCommandLineApi = starlarkCommandLineApi;
- this.starlarkNativeModuleApi = starlarkNativeModuleApi;
- this.starlarkRuleFunctionsApi = starlarkRuleFunctionsApi;
- this.structProvider = structProvider;
- this.outputGroupInfoProvider = outputGroupInfoProvider;
- this.actionsInfoProviderApi = actionsInfoProviderApi;
- this.defaultInfoProvider = defaultInfoProvider;
- }
-
- @Override
- public void addBindingsToBuilder(ImmutableMap.Builder<String, Object> builder) {
- Starlark.addMethods(builder, starlarkBuildApiGlobals);
- Starlark.addMethods(builder, starlarkRuleFunctionsApi);
- Starlark.addModule(builder, starlarkAttrModuleApi); // "attr"
- Starlark.addModule(builder, starlarkCommandLineApi); // "cmd_helper"
- Starlark.addModule(builder, starlarkNativeModuleApi); // "native"
- builder.put("struct", structProvider);
- builder.put("OutputGroupInfo", outputGroupInfoProvider);
- builder.put("Actions", actionsInfoProviderApi);
- builder.put("DefaultInfo", defaultInfoProvider);
- }
-}
diff --git a/src/main/java/com/google/devtools/build/skydoc/BUILD b/src/main/java/com/google/devtools/build/skydoc/BUILD
index 3d02297..9904520 100644
--- a/src/main/java/com/google/devtools/build/skydoc/BUILD
+++ b/src/main/java/com/google/devtools/build/skydoc/BUILD
@@ -12,22 +12,12 @@
default_visibility = ["//src:__subpackages__"],
)
-licenses(["notice"]) # Apache 2.0
+licenses(["notice"])
filegroup(
name = "srcs",
srcs = glob(["**"]) + [
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository:srcs",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test:srcs",
"//src/main/java/com/google/devtools/build/skydoc/renderer:srcs",
"//src/main/java/com/google/devtools/build/skydoc/rendering:srcs",
"//src/main/java/com/google/devtools/build/skydoc/rendering/proto:srcs",
@@ -76,16 +66,6 @@
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test",
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
"//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test",
"//src/main/java/com/google/devtools/build/skydoc/rendering",
"//src/main/java/com/google/devtools/build/skydoc/rendering/proto:stardoc_output_java_proto",
"//src/main/java/com/google/devtools/common/options",
diff --git a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
index 664a54c..c235d4e 100644
--- a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
+++ b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java
@@ -28,83 +28,13 @@
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.packages.semantics.BuildLanguageOptions;
-import com.google.devtools.build.lib.starlarkbuildapi.TopLevelBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.android.AndroidBootstrap;
import com.google.devtools.build.lib.starlarkbuildapi.android.AndroidDex2OatInfoApi;
import com.google.devtools.build.lib.starlarkbuildapi.android.UsesDataBindingProviderApi;
-import com.google.devtools.build.lib.starlarkbuildapi.apple.AppleBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.config.ConfigBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.cpp.CcBootstrap;
import com.google.devtools.build.lib.starlarkbuildapi.java.GeneratedExtensionRegistryProviderApi;
-import com.google.devtools.build.lib.starlarkbuildapi.java.JavaBootstrap;
import com.google.devtools.build.lib.starlarkbuildapi.java.JavaNativeLibraryInfoApi;
import com.google.devtools.build.lib.starlarkbuildapi.javascript.JsModuleInfoApi;
-import com.google.devtools.build.lib.starlarkbuildapi.platform.PlatformBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.proto.ProtoBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.python.PyBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.repository.RepositoryBootstrap;
-import com.google.devtools.build.lib.starlarkbuildapi.stubs.ProviderStub;
-import com.google.devtools.build.lib.starlarkbuildapi.stubs.StarlarkAspectStub;
-import com.google.devtools.build.lib.starlarkbuildapi.test.TestingBootstrap;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeActionsInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeBuildApiGlobals;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeConfigApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeDefaultInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeOutputGroupInfo.FakeOutputGroupInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkAttrModuleApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkCommandLineApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkNativeModuleApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStarlarkRuleFunctionsApi;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeApi;
import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi;
-import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi.FakeStructProviderApi;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidApplicationResourceInfo.FakeAndroidApplicationResourceInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidAssetsInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidBinaryDataInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidDeviceBrokerInfo.FakeAndroidDeviceBrokerInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidFeatureFlagSetProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdeInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdlProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidInstrumentationInfo.FakeAndroidInstrumentationInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryAarInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryResourceClassJarProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidManifestInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidNativeLibsInfo.FakeAndroidNativeLibsInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidPreDexJarProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidProguardInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidResourcesInfo.FakeAndroidResourcesInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidSdkProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidStarlarkCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeApkInfo.FakeApkInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeDataBindingV2Provider;
-import com.google.devtools.build.skydoc.fakebuildapi.android.FakeProguardMappingProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.apple.FakeAppleCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigGlobalLibrary;
-import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigStarlarkCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcModule;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcToolchainConfigInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeGoWrapCcHelper;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcHelper;
-import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcInfo;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCcLinkParamsProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaInfo.FakeJavaInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaProtoCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.java.FakeProguardSpecProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.platform.FakePlatformCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoInfo.FakeProtoInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyInfo.FakePyInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyRuntimeInfo.FakePyRuntimeInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyStarlarkTransitions;
-import com.google.devtools.build.skydoc.fakebuildapi.repository.FakeRepositoryModule;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisFailureInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisTestResultInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeCoverageCommon;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeInstrumentedFilesInfoProvider;
-import com.google.devtools.build.skydoc.fakebuildapi.test.FakeTestingModule;
import com.google.devtools.build.skydoc.rendering.AspectInfoWrapper;
import com.google.devtools.build.skydoc.rendering.DocstringParseException;
import com.google.devtools.build.skydoc.rendering.ProtoRenderer;
@@ -440,9 +370,11 @@
}
pending.add(path);
- Module module =
- Module.withPredeclared(
- semantics, getPredeclaredEnvironment(ruleInfoList, providerInfoList, aspectInfoList));
+ // Add fake build API.
+ ImmutableMap.Builder<String, Object> env = ImmutableMap.builder();
+ FakeApi.addPredeclared(env, ruleInfoList, providerInfoList, aspectInfoList);
+ addMorePredeclared(env);
+ Module module = Module.withPredeclared(semantics, env.build());
// parse & compile (and get doc)
ParserInput input = getInputSource(path.toString());
@@ -517,110 +449,12 @@
throw new NoSuchFileException(bzlWorkspacePath);
}
- /**
- * Return the predeclared environment containing the fake build API.
- *
- * @param ruleInfoList the list of {@link RuleInfo} objects, to which rule() invocation
- * information will be added
- * @param providerInfoList the list of {@link ProviderInfo} objects, to which provider()
- * invocation information will be added
- */
- private static ImmutableMap<String, Object> getPredeclaredEnvironment(
- List<RuleInfoWrapper> ruleInfoList,
- List<ProviderInfoWrapper> providerInfoList,
- List<AspectInfoWrapper> aspectInfoList) {
- TopLevelBootstrap topLevelBootstrap =
- new TopLevelBootstrap(
- new FakeBuildApiGlobals(),
- new FakeStarlarkAttrModuleApi(),
- new FakeStarlarkCommandLineApi(),
- new FakeStarlarkNativeModuleApi(),
- new FakeStarlarkRuleFunctionsApi(ruleInfoList, providerInfoList, aspectInfoList),
- new FakeStructProviderApi(),
- new FakeOutputGroupInfoProvider(),
- new FakeActionsInfoProvider(),
- new FakeDefaultInfoProvider());
- AndroidBootstrap androidBootstrap =
- new AndroidBootstrap(
- new FakeAndroidStarlarkCommon(),
- new FakeApkInfoProvider(),
- new FakeAndroidInstrumentationInfoProvider(),
- new FakeAndroidDeviceBrokerInfoProvider(),
- new FakeAndroidResourcesInfoProvider(),
- new FakeAndroidNativeLibsInfoProvider(),
- new FakeAndroidApplicationResourceInfoProvider(),
- new FakeAndroidSdkProvider.FakeProvider(),
- new FakeAndroidManifestInfo.FakeProvider(),
- new FakeAndroidAssetsInfo.FakeProvider(),
- new FakeAndroidLibraryAarInfo.FakeProvider(),
- new FakeAndroidProguardInfo.FakeProvider(),
- new FakeAndroidIdlProvider.FakeProvider(),
- new FakeAndroidIdeInfoProvider.FakeProvider(),
- new FakeAndroidPreDexJarProvider.FakeProvider(),
- new FakeAndroidCcLinkParamsProvider.FakeProvider(),
- new FakeDataBindingV2Provider.FakeProvider(),
- new FakeAndroidLibraryResourceClassJarProvider.FakeProvider(),
- new FakeAndroidFeatureFlagSetProvider.FakeProvider(),
- new FakeProguardMappingProvider.FakeProvider(),
- new FakeAndroidBinaryDataInfo.FakeProvider());
- AppleBootstrap appleBootstrap = new AppleBootstrap(new FakeAppleCommon());
- ConfigBootstrap configBootstrap =
- new ConfigBootstrap(
- new FakeConfigStarlarkCommon(), new FakeConfigApi(), new FakeConfigGlobalLibrary());
- CcBootstrap ccBootstrap =
- new CcBootstrap(
- new FakeCcModule(),
- new FakeCcInfo.Provider(),
- new FakeCcToolchainConfigInfo.Provider(),
- new FakePyWrapCcHelper(),
- new FakeGoWrapCcHelper(),
- new FakePyWrapCcInfo.Provider(),
- new FakePyCcLinkParamsProvider.Provider());
- JavaBootstrap javaBootstrap =
- new JavaBootstrap(
- new FakeJavaCommon(),
- new FakeJavaInfoProvider(),
- new FakeJavaProtoCommon(),
- new FakeJavaCcLinkParamsProvider.Provider(),
- new FakeProguardSpecProvider.FakeProvider());
- PlatformBootstrap platformBootstrap = new PlatformBootstrap(new FakePlatformCommon());
- ProtoBootstrap protoBootstrap =
- new ProtoBootstrap(
- new FakeProtoInfoProvider(),
- new FakeProtoCommon(),
- new StarlarkAspectStub(),
- new ProviderStub());
- PyBootstrap pyBootstrap =
- new PyBootstrap(
- new FakePyInfoProvider(),
- new FakePyRuntimeInfoProvider(),
- new FakePyStarlarkTransitions());
- RepositoryBootstrap repositoryBootstrap =
- new RepositoryBootstrap(new FakeRepositoryModule(ruleInfoList));
- TestingBootstrap testingBootstrap =
- new TestingBootstrap(
- new FakeTestingModule(),
- new FakeCoverageCommon(),
- new FakeInstrumentedFilesInfoProvider(),
- new FakeAnalysisFailureInfoProvider(),
- new FakeAnalysisTestResultInfoProvider());
-
- ImmutableMap.Builder<String, Object> envBuilder = ImmutableMap.builder();
-
- // Add stub declarations for Blaze-only things as a quick fix
- // for a broken test; see b/155126966 and b/155178103.
- // TODO(adonovan): fix properly ASAP.
- for (String name :
- new String[] {
- "js_common",
- "pkg_common",
- }) {
- envBuilder.put(name, Starlark.NONE);
- }
+ private static void addMorePredeclared(ImmutableMap.Builder<String, Object> env) {
+ addNonBootstrapGlobals(env);
// Add dummy declarations that would come from packages.StarlarkLibrary.COMMON
// were Skydoc allowed to depend on it. See hack for select below.
- envBuilder.put(
+ env.put(
"depset",
new StarlarkCallable() {
@Override
@@ -639,7 +473,7 @@
// Declare a fake implementation of select that just returns the first
// value in the dict. (This program is forbidden from depending on the real
// implementation of 'select' in lib.packages, and so the hacks multiply.)
- envBuilder.put(
+ env.put(
"select",
new StarlarkCallable() {
@Override
@@ -656,21 +490,6 @@
return "select";
}
});
-
- topLevelBootstrap.addBindingsToBuilder(envBuilder);
- androidBootstrap.addBindingsToBuilder(envBuilder);
- appleBootstrap.addBindingsToBuilder(envBuilder);
- ccBootstrap.addBindingsToBuilder(envBuilder);
- configBootstrap.addBindingsToBuilder(envBuilder);
- javaBootstrap.addBindingsToBuilder(envBuilder);
- platformBootstrap.addBindingsToBuilder(envBuilder);
- protoBootstrap.addBindingsToBuilder(envBuilder);
- pyBootstrap.addBindingsToBuilder(envBuilder);
- repositoryBootstrap.addBindingsToBuilder(envBuilder);
- testingBootstrap.addBindingsToBuilder(envBuilder);
- addNonBootstrapGlobals(envBuilder);
-
- return envBuilder.build();
}
// TODO(cparsons): Remove this constant by migrating the contained symbols to bootstraps.
@@ -681,7 +500,9 @@
GeneratedExtensionRegistryProviderApi.NAME,
JavaNativeLibraryInfoApi.NAME,
JsModuleInfoApi.NAME,
- "JsInfo"
+ "JsInfo",
+ "js_common",
+ "pkg_common",
};
/**
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/BUILD
index 802fdbb..27f81b0 100644
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/BUILD
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/BUILD
@@ -13,13 +13,25 @@
java_library(
name = "fakebuildapi",
- srcs = glob(["*.java"]),
+ srcs = glob(["**/*.java"]),
deps = [
"//src/main/java/com/google/devtools/build/lib/cmdline",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/events",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/go",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/repository",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/stubs",
+ "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test",
"//src/main/java/com/google/devtools/build/skydoc/rendering",
"//src/main/java/com/google/devtools/build/skydoc/rendering/proto:stardoc_output_java_proto",
"//src/main/java/net/starlark/java/eval",
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeApi.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeApi.java
new file mode 100644
index 0000000..11ea82d
--- /dev/null
+++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/FakeApi.java
@@ -0,0 +1,188 @@
+// Copyright 2020 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.fakebuildapi;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.devtools.build.lib.starlarkbuildapi.android.AndroidBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.apple.AppleBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.config.ConfigBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.cpp.CcBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.java.JavaBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.platform.PlatformBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.proto.ProtoBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.python.PyBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.repository.RepositoryBootstrap;
+import com.google.devtools.build.lib.starlarkbuildapi.stubs.ProviderStub;
+import com.google.devtools.build.lib.starlarkbuildapi.stubs.StarlarkAspectStub;
+import com.google.devtools.build.lib.starlarkbuildapi.test.TestingBootstrap;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeOutputGroupInfo.FakeOutputGroupInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.FakeStructApi.FakeStructProviderApi;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidApplicationResourceInfo.FakeAndroidApplicationResourceInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidAssetsInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidBinaryDataInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidCcLinkParamsProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidDeviceBrokerInfo.FakeAndroidDeviceBrokerInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidFeatureFlagSetProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdeInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidIdlProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidInstrumentationInfo.FakeAndroidInstrumentationInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryAarInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidLibraryResourceClassJarProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidManifestInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidNativeLibsInfo.FakeAndroidNativeLibsInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidPreDexJarProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidProguardInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidResourcesInfo.FakeAndroidResourcesInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidSdkProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeAndroidStarlarkCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeApkInfo.FakeApkInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeDataBindingV2Provider;
+import com.google.devtools.build.skydoc.fakebuildapi.android.FakeProguardMappingProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.apple.FakeAppleCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigGlobalLibrary;
+import com.google.devtools.build.skydoc.fakebuildapi.config.FakeConfigStarlarkCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcModule;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeCcToolchainConfigInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakeGoWrapCcHelper;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyCcLinkParamsProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcHelper;
+import com.google.devtools.build.skydoc.fakebuildapi.cpp.FakePyWrapCcInfo;
+import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCcLinkParamsProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaInfo.FakeJavaInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.java.FakeJavaProtoCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.java.FakeProguardSpecProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.platform.FakePlatformCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.proto.FakeProtoInfo.FakeProtoInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyInfo.FakePyInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyRuntimeInfo.FakePyRuntimeInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.python.FakePyStarlarkTransitions;
+import com.google.devtools.build.skydoc.fakebuildapi.repository.FakeRepositoryModule;
+import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisFailureInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.test.FakeAnalysisTestResultInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.test.FakeCoverageCommon;
+import com.google.devtools.build.skydoc.fakebuildapi.test.FakeInstrumentedFilesInfoProvider;
+import com.google.devtools.build.skydoc.fakebuildapi.test.FakeTestingModule;
+import com.google.devtools.build.skydoc.rendering.AspectInfoWrapper;
+import com.google.devtools.build.skydoc.rendering.ProviderInfoWrapper;
+import com.google.devtools.build.skydoc.rendering.RuleInfoWrapper;
+import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.AspectInfo;
+import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.ProviderInfo;
+import com.google.devtools.build.skydoc.rendering.proto.StardocOutputProtos.RuleInfo;
+import java.util.List;
+import net.starlark.java.eval.Starlark;
+
+/** Defines the fake .bzl environment. */
+public final class FakeApi {
+
+ private FakeApi() {} // uninstantiable
+
+ /**
+ * Adds the predeclared environment containing the fake build API.
+ *
+ * @param rules the list of {@link RuleInfo} objects, to which 'rule' and 'repository_rule'
+ * invocation information will be added
+ * @param providers the list of {@link ProviderInfo} objects, to which 'provider' invocation
+ * information will be added
+ * @param aspects the list of {@link AspectInfo} objects, to which 'aspect' invocation information
+ * will be added
+ */
+ public static void addPredeclared(
+ ImmutableMap.Builder<String, Object> env,
+ /* out parameters: */
+ List<RuleInfoWrapper> rules,
+ List<ProviderInfoWrapper> providers,
+ List<AspectInfoWrapper> aspects) {
+
+ Starlark.addMethods(env, new FakeBuildApiGlobals()); // e.g. configuration_field func
+ Starlark.addMethods(
+ env, new FakeStarlarkRuleFunctionsApi(rules, providers, aspects)); // e.g. rule func
+ Starlark.addModule(env, new FakeStarlarkAttrModuleApi()); // attr module
+ Starlark.addModule(env, new FakeStarlarkCommandLineApi()); // cmd_helper module
+ Starlark.addModule(env, new FakeStarlarkNativeModuleApi()); // native module
+ env.put("struct", new FakeStructProviderApi());
+ env.put("OutputGroupInfo", new FakeOutputGroupInfoProvider());
+ env.put("Actions", new FakeActionsInfoProvider());
+ env.put("DefaultInfo", new FakeDefaultInfoProvider());
+
+ new AndroidBootstrap(
+ new FakeAndroidStarlarkCommon(),
+ new FakeApkInfoProvider(),
+ new FakeAndroidInstrumentationInfoProvider(),
+ new FakeAndroidDeviceBrokerInfoProvider(),
+ new FakeAndroidResourcesInfoProvider(),
+ new FakeAndroidNativeLibsInfoProvider(),
+ new FakeAndroidApplicationResourceInfoProvider(),
+ new FakeAndroidSdkProvider.FakeProvider(),
+ new FakeAndroidManifestInfo.FakeProvider(),
+ new FakeAndroidAssetsInfo.FakeProvider(),
+ new FakeAndroidLibraryAarInfo.FakeProvider(),
+ new FakeAndroidProguardInfo.FakeProvider(),
+ new FakeAndroidIdlProvider.FakeProvider(),
+ new FakeAndroidIdeInfoProvider.FakeProvider(),
+ new FakeAndroidPreDexJarProvider.FakeProvider(),
+ new FakeAndroidCcLinkParamsProvider.FakeProvider(),
+ new FakeDataBindingV2Provider.FakeProvider(),
+ new FakeAndroidLibraryResourceClassJarProvider.FakeProvider(),
+ new FakeAndroidFeatureFlagSetProvider.FakeProvider(),
+ new FakeProguardMappingProvider.FakeProvider(),
+ new FakeAndroidBinaryDataInfo.FakeProvider())
+ .addBindingsToBuilder(env);
+ new AppleBootstrap(new FakeAppleCommon()).addBindingsToBuilder(env);
+ new ConfigBootstrap(
+ new FakeConfigStarlarkCommon(), //
+ new FakeConfigApi(),
+ new FakeConfigGlobalLibrary())
+ .addBindingsToBuilder(env);
+ new CcBootstrap(
+ new FakeCcModule(),
+ new FakeCcInfo.Provider(),
+ new FakeCcToolchainConfigInfo.Provider(),
+ new FakePyWrapCcHelper(),
+ new FakeGoWrapCcHelper(),
+ new FakePyWrapCcInfo.Provider(),
+ new FakePyCcLinkParamsProvider.Provider())
+ .addBindingsToBuilder(env);
+ new JavaBootstrap(
+ new FakeJavaCommon(),
+ new FakeJavaInfoProvider(),
+ new FakeJavaProtoCommon(),
+ new FakeJavaCcLinkParamsProvider.Provider(),
+ new FakeProguardSpecProvider.FakeProvider())
+ .addBindingsToBuilder(env);
+ new PlatformBootstrap(new FakePlatformCommon()).addBindingsToBuilder(env);
+ new ProtoBootstrap(
+ new FakeProtoInfoProvider(),
+ new FakeProtoCommon(),
+ new StarlarkAspectStub(),
+ new ProviderStub())
+ .addBindingsToBuilder(env);
+ new PyBootstrap(
+ new FakePyInfoProvider(),
+ new FakePyRuntimeInfoProvider(),
+ new FakePyStarlarkTransitions())
+ .addBindingsToBuilder(env);
+ new RepositoryBootstrap(new FakeRepositoryModule(rules)).addBindingsToBuilder(env);
+ new TestingBootstrap(
+ new FakeTestingModule(),
+ new FakeCoverageCommon(),
+ new FakeInstrumentedFilesInfoProvider(),
+ new FakeAnalysisFailureInfoProvider(),
+ new FakeAnalysisTestResultInfoProvider())
+ .addBindingsToBuilder(env);
+ }
+}
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD
deleted file mode 100644
index 1877c02..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/android/BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "android",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/android",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD
deleted file mode 100644
index 4ffa5c3..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "apple",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/apple",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/BUILD
deleted file mode 100644
index 85207b9..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config/BUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "config",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/config",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD
deleted file mode 100644
index 72c92d1..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "cpp",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/go",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD
deleted file mode 100644
index 89b4c3a..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "java",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/cmdline",
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform/BUILD
deleted file mode 100644
index f6539f1..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/platform/BUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "platform",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD
deleted file mode 100644
index fff143f..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/proto/BUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "proto",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/BUILD
deleted file mode 100644
index e0d840c..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/python/BUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "python",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/collect/nestedset",
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi/config",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/BUILD
deleted file mode 100644
index f0b9960..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/repository/BUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "repository",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/events",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/repository",
- "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi",
- "//src/main/java/com/google/devtools/build/skydoc/rendering",
- "//src/main/java/com/google/devtools/build/skydoc/rendering/proto:stardoc_output_java_proto",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- "//third_party:jsr305",
- ],
-)
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD
deleted file mode 100644
index e3b9720..0000000
--- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-load("@rules_java//java:defs.bzl", "java_library")
-
-package(
- default_visibility = ["//src:__subpackages__"],
-)
-
-licenses(["notice"]) # Apache 2.0
-
-filegroup(
- name = "srcs",
- srcs = glob(["**"]),
-)
-
-java_library(
- name = "test",
- srcs = glob(["*.java"]),
- deps = [
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/core",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/platform",
- "//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/test",
- "//src/main/java/net/starlark/java/eval",
- "//src/main/java/net/starlark/java/syntax",
- "//third_party:guava",
- ],
-)
diff --git a/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java b/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
index 5b708e7..485b817 100644
--- a/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
+++ b/src/test/java/com/google/devtools/build/docgen/StarlarkDocumentationTest.java
@@ -55,7 +55,7 @@
@Test
public void testStarlarkRuleClassBuiltInItemsAreDocumented() throws Exception {
ImmutableMap.Builder<String, Object> env = ImmutableMap.builder();
- StarlarkModules.addStarlarkGlobalsToBuilder(env);
+ StarlarkModules.addPredeclared(env);
checkStarlarkTopLevelEnvItemsAreDocumented(env.build());
}
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/util/BazelEvaluationTestCase.java b/src/test/java/com/google/devtools/build/lib/starlark/util/BazelEvaluationTestCase.java
index 25825a4..a49d14b 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/util/BazelEvaluationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/util/BazelEvaluationTestCase.java
@@ -36,7 +36,7 @@
@Override
protected Object newModuleHook(ImmutableMap.Builder<String, Object> predeclared) {
- StarlarkModules.addStarlarkGlobalsToBuilder(predeclared);
+ StarlarkModules.addPredeclared(predeclared);
Starlark.addModule(predeclared, new PlatformCommon());
// Return the module's client data. (This one uses dummy values for tests.)