diff --git a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
index 1a268185153247..4e14889547d3f2 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/starlark/StarlarkRuleClassFunctions.java
@@ -296,16 +296,15 @@ public Object provider(Object doc, Object fields, Object init, StarlarkThread th
Dict.cast(fields, String.class, String.class, "fields"), Starlark::trimDocString));
}
if (init == Starlark.NONE) {
- return builder.build();
+ return builder.buildWithIdentityToken(thread.getNextIdentityToken());
+ }
+ if (init instanceof StarlarkCallable callable) {
+ builder.setInit(callable);
} else {
- if (init instanceof StarlarkCallable) {
- builder.setInit((StarlarkCallable) init);
- } else {
- throw Starlark.errorf("got %s for init, want callable value", Starlark.type(init));
- }
- StarlarkProvider provider = builder.build();
- return Tuple.of(provider, provider.createRawConstructor());
+ throw Starlark.errorf("got %s for init, want callable value", Starlark.type(init));
}
+ StarlarkProvider provider = builder.buildWithIdentityToken(thread.getNextIdentityToken());
+ return Tuple.of(provider, provider.createRawConstructor());
}
@FormatMethod
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD
index 35bf86f6f9dd9b..c64c12a199e09d 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BUILD
@@ -47,16 +47,14 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/actions:artifacts",
"//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
"//src/main/java/com/google/devtools/build/lib/analysis:config/build_configuration",
- "//src/main/java/com/google/devtools/build/lib/analysis:rule_error_consumer",
- "//src/main/java/com/google/devtools/build/lib/analysis:transitive_info_collection",
"//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/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
"//src/main/java/net/starlark/java/eval",
"//third_party:guava",
- "//third_party:jsr305",
],
)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppSemantics.java
index d7ae4305ae0625..9fc0db994eb691 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppSemantics.java
@@ -14,6 +14,9 @@
package com.google.devtools.build.lib.bazel.rules.cpp;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -50,18 +53,22 @@ public class BazelCppSemantics implements AspectLegalCppSemantics {
// the repo name set.
public static final Provider.Key CC_SHARED_INFO_PROVIDER_RULES_CC =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@rules_cc//examples:experimental_cc_shared_library.bzl"),
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "@rules_cc//examples:experimental_cc_shared_library.bzl")),
"CcSharedLibraryInfo");
public static final Provider.Key CC_SHARED_INFO_PROVIDER =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//examples:experimental_cc_shared_library.bzl"),
+ keyForBuild(
+ Label.parseCanonicalUnchecked("//examples:experimental_cc_shared_library.bzl")),
"CcSharedLibraryInfo");
public static final Provider.Key CC_SHARED_INFO_PROVIDER_BUILT_INS =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked(
- "@_builtins//:common/cc/experimental_cc_shared_library.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked(
+ "@_builtins//:common/cc/experimental_cc_shared_library.bzl")),
"CcSharedLibraryInfo");
private final Language language;
diff --git a/src/main/java/com/google/devtools/build/lib/packages/BUILD b/src/main/java/com/google/devtools/build/lib/packages/BUILD
index f98a21b903d533..d98f2163e44270 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/packages/BUILD
@@ -85,7 +85,9 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/io:file_symlink_exception",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/profiler",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:detailed_exceptions",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:starlark_builtins_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
@@ -93,6 +95,7 @@ java_library(
"//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/util",
+ "//src/main/java/com/google/devtools/build/lib/util:TestType",
"//src/main/java/com/google/devtools/build/lib/util:detailed_exit_code",
"//src/main/java/com/google/devtools/build/lib/util:filetype",
"//src/main/java/com/google/devtools/build/lib/util:hash_codes",
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
index a2eb2e639601c0..24b83a04ba1ac9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProvider.java
@@ -14,6 +14,15 @@
package com.google.devtools.build.lib.packages;
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
+import static com.google.devtools.build.lib.bugreport.BugReport.sendNonFatalBugReport;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+import static com.google.devtools.build.lib.skyframe.StarlarkBuiltinsValue.isBuiltinsRepo;
+import static com.google.devtools.build.lib.util.HashCodes.hashObjects;
+import static com.google.devtools.build.lib.util.TestType.isInTest;
+
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -21,6 +30,7 @@
import com.google.devtools.build.lib.collect.nestedset.Depset;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.skyframe.BzlLoadValue;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.util.Collection;
@@ -35,6 +45,7 @@
import net.starlark.java.eval.Starlark;
import net.starlark.java.eval.StarlarkCallable;
import net.starlark.java.eval.StarlarkThread;
+import net.starlark.java.eval.SymbolGenerator;
import net.starlark.java.syntax.Location;
/**
@@ -78,8 +89,14 @@ public final class StarlarkProvider implements StarlarkCallable, StarlarkExporta
// Starlark dict mapping field names (string keys) to their values.
@Nullable private final StarlarkCallable init;
- /** Null iff this provider has not yet been exported. Mutated by {@link export}. */
- @Nullable private Key key;
+ /**
+ * An identifier for this provider.
+ *
+ *
This is a {@link Key} if exported and a {@link SymbolGenerator.Symbol} otherwise.
+ *
+ *
Mutated by {@link #export}.
+ */
+ private Object keyOrIdentityToken;
/**
* For schemaful providers, an array of metadata concerning depset optimization.
@@ -133,8 +150,6 @@ public static final class Builder {
@Nullable private StarlarkCallable init;
- @Nullable private Key key;
-
private Builder(Location location) {
this.location = location;
}
@@ -193,16 +208,14 @@ public Builder setInit(StarlarkCallable init) {
return this;
}
- /** Sets the provider built by this builder to be exported with the given key. */
- @CanIgnoreReturnValue
- public Builder setExported(Key key) {
- this.key = key;
- return this;
+ /** Builds an exported StarlarkProvider. */
+ public StarlarkProvider buildExported(Key key) {
+ return new StarlarkProvider(location, documentation, schema, init, key);
}
- /** Builds a StarlarkProvider. */
- public StarlarkProvider build() {
- return new StarlarkProvider(location, documentation, schema, init, key);
+ /** Builds a unexported StarlarkProvider. */
+ public StarlarkProvider buildWithIdentityToken(SymbolGenerator.Symbol> identityToken) {
+ return new StarlarkProvider(location, documentation, schema, init, identityToken);
}
}
@@ -218,13 +231,13 @@ private StarlarkProvider(
@Nullable String documentation,
@Nullable ImmutableMap> schema,
@Nullable StarlarkCallable init,
- @Nullable Key key) {
+ Object keyOrIdentityToken) {
this.location = location;
this.documentation = documentation;
this.fields = schema != null ? ImmutableList.sortedCopyOf(schema.keySet()) : null;
this.schema = schema;
this.init = init;
- this.key = key;
+ this.keyOrIdentityToken = keyOrIdentityToken;
if (schema != null) {
depsetTypePredictor = new AtomicReferenceArray<>(schema.size());
}
@@ -327,18 +340,21 @@ public Optional getDocumentation() {
@Override
public boolean isExported() {
- return key != null;
+ return keyOrIdentityToken instanceof Key;
}
@Override
public Key getKey() {
Preconditions.checkState(isExported());
- return key;
+ return (Key) keyOrIdentityToken;
}
@Override
public String getName() {
- return key != null ? key.getExportedName() : "";
+ if (keyOrIdentityToken instanceof Key key) {
+ return key.getExportedName();
+ }
+ return "";
}
@Override
@@ -370,36 +386,55 @@ public ImmutableMap> getSchema() {
@Override
public String getErrorMessageForUnknownField(String name) {
return String.format(
- "'%s' value has no field or method '%s'",
- isExported() ? key.getExportedName() : "struct", name);
+ "'%s' value has no field or method '%s'", isExported() ? getName() : "struct", name);
}
@Override
public void export(EventHandler handler, Label extensionLabel, String exportedName) {
Preconditions.checkState(!isExported());
- this.key = new Key(extensionLabel, exportedName);
+ SymbolGenerator.Symbol> identifier = (SymbolGenerator.Symbol>) keyOrIdentityToken;
+ if (identifier.getOwner() instanceof BzlLoadValue.Key bzlKey) {
+ // In production code, StarlarkProviders are created only when loading .bzl files so the owner
+ // of the Symbol should be a BzlLoadValue.Key.
+ checkArgument(
+ extensionLabel.equals(bzlKey.getLabel()),
+ "export extensionLabel=%s, but owner=%s",
+ extensionLabel,
+ bzlKey);
+ this.keyOrIdentityToken = new Key(bzlKey, exportedName);
+ } else {
+ // In tests, the symbol may be arbitrary.
+ if (!isInTest()) {
+ sendNonFatalBugReport(
+ new IllegalStateException(
+ String.format(
+ "exporting StarlarkProvider defined at %s as %s:%s but thread owner=%s was not"
+ + " a BzlLoadValue.Key",
+ location, extensionLabel, exportedName, identifier.getOwner())));
+ }
+ this.keyOrIdentityToken =
+ new Key(
+ isBuiltinsRepo(extensionLabel.getRepository())
+ ? keyForBuiltins(extensionLabel)
+ : keyForBuild(extensionLabel),
+ exportedName);
+ }
}
@Override
public int hashCode() {
- if (isExported()) {
- return getKey().hashCode();
- }
- return System.identityHashCode(this);
+ return keyOrIdentityToken.hashCode();
}
@Override
public boolean equals(@Nullable Object otherObject) {
- if (!(otherObject instanceof StarlarkProvider)) {
- return false;
+ if (this == otherObject) {
+ return true;
}
- StarlarkProvider other = (StarlarkProvider) otherObject;
-
- if (this.isExported() && other.isExported()) {
- return this.getKey().equals(other.getKey());
- } else {
- return this == other;
+ if (otherObject instanceof StarlarkProvider that) {
+ return this.keyOrIdentityToken.equals(that.keyOrIdentityToken);
}
+ return false;
}
@Override
@@ -478,43 +513,36 @@ boolean isOptimised(int index, Object value) {
return value instanceof NestedSet>;
}
+ Object getKeyOrIdentityToken() {
+ return keyOrIdentityToken;
+ }
+
/**
* A serializable representation of Starlark-defined {@link StarlarkProvider} that uniquely
* identifies all {@link StarlarkProvider}s that are exposed to SkyFrame.
*/
- public static final class Key extends Provider.Key {
- private final Label extensionLabel;
+ // TODO: b/335901349 - this is identical to SymbolGenerator.GlobalSymbol and
+ // serves essentially the same purpose. Consider unifying these types.
+ public static class Key extends Provider.Key {
+ private final BzlLoadValue.Key key;
private final String exportedName;
- public Key(Label extensionLabel, String exportedName) {
- this.extensionLabel = Preconditions.checkNotNull(extensionLabel);
- this.exportedName = Preconditions.checkNotNull(exportedName);
+ public Key(BzlLoadValue.Key key, String exportedName) {
+ this.key = checkNotNull(key);
+ this.exportedName = checkNotNull(exportedName);
}
public Label getExtensionLabel() {
- return extensionLabel;
+ return key.getLabel();
}
- public String getExportedName() {
+ public final String getExportedName() {
return exportedName;
}
- @Override
- public String toString() {
- return exportedName;
- }
-
- @Override
- void fingerprint(Fingerprint fp) {
- // False => Not native.
- fp.addBoolean(false);
- fp.addString(extensionLabel.getCanonicalForm());
- fp.addString(exportedName);
- }
-
@Override
public int hashCode() {
- return Objects.hash(extensionLabel, exportedName);
+ return hashObjects(key, exportedName);
}
@Override
@@ -527,8 +555,21 @@ public boolean equals(Object obj) {
return false;
}
Key other = (Key) obj;
- return Objects.equals(this.extensionLabel, other.extensionLabel)
+ return Objects.equals(this.key, other.key)
&& Objects.equals(this.exportedName, other.exportedName);
}
+
+ @Override
+ final void fingerprint(Fingerprint fp) {
+ // False => Not native.
+ fp.addBoolean(false);
+ fp.addString(getExtensionLabel().getCanonicalForm());
+ fp.addString(getExportedName());
+ }
+
+ @Override
+ public String toString() {
+ return exportedName;
+ }
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderWrapper.java b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderWrapper.java
index 1744ab30bbc50e..a29847d4f23747 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderWrapper.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/StarlarkProviderWrapper.java
@@ -13,9 +13,9 @@
// limitations under the License.
package com.google.devtools.build.lib.packages;
-import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
+import com.google.devtools.build.lib.skyframe.BzlLoadValue;
/**
* A helper for wrapping an instance of a Starlark-defined provider with a native class {@code T}.
@@ -36,11 +36,11 @@
public abstract class StarlarkProviderWrapper {
private final StarlarkProvider.Key key;
- protected StarlarkProviderWrapper(Label label, String name) {
- this.key = new StarlarkProvider.Key(label, name);
+ protected StarlarkProviderWrapper(BzlLoadValue.Key loadKey, String name) {
+ this.key = new StarlarkProvider.Key(loadKey, name);
}
- /*
+ /**
* Converts an instance of the Starlark-defined provider to an instance of the wrapping class
* {@code T}.
*
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
index 35c3936eaf7dd9..209f89eec20054 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD
@@ -98,6 +98,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/apple",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/skyframe:action_execution_value",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:tree_artifact_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
index e37f2f53845c1a..f2ec61dd463ba1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcStarlarkInternal.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.cpp;
import static com.google.common.collect.ImmutableList.toImmutableList;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.docgen.annot.DocCategory;
@@ -246,11 +247,10 @@ public CcLauncherInfo createCcLauncherInfo(
private static final StarlarkProvider starlarkCcTestRunnerInfo =
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
+ .buildExported(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//tools/cpp/cc_test:toolchain.bzl"),
- "CcTestRunnerInfo"))
- .build();
+ keyForBuild(Label.parseCanonicalUnchecked("//tools/cpp/cc_test:toolchain.bzl")),
+ "CcTestRunnerInfo"));
@StarlarkMethod(name = "CcTestRunnerInfo", documented = false, structField = true)
public StarlarkProvider ccTestRunnerInfo() throws EvalException {
@@ -358,12 +358,12 @@ public void createModuleMapAction(
private static final StarlarkProvider buildSettingInfo =
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
+ .buildExported(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked(
- "//third_party/bazel_skylib/rules:common_settings.bzl"),
- "BuildSettingInfo"))
- .build();
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "//third_party/bazel_skylib/rules:common_settings.bzl")),
+ "BuildSettingInfo"));
@StarlarkMethod(name = "BuildSettingInfo", documented = false, structField = true)
public StarlarkProvider buildSettingInfo() throws EvalException {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
index 522c3d8470e6d5..39f8d8c240fb0a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProvider.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.cpp;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -55,7 +57,8 @@ public static class CcToolchainInfoProvider extends StarlarkProviderWrapper {
private Provider() {
super(
- Label.parseCanonicalUnchecked("@_builtins//:common/java/boot_class_path_info.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/java/boot_class_path_info.bzl")),
"BootClassPathInfo");
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
index 445ef1d3baa611..b4159ecd6867a2 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaInfo.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.java;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Streams;
@@ -576,7 +578,9 @@ public int hashCode() {
public static class JavaInfoProvider extends StarlarkProviderWrapper
implements com.google.devtools.build.lib.packages.Provider {
private JavaInfoProvider() {
- super(Label.parseCanonicalUnchecked("@_builtins//:common/java/java_info.bzl"), STARLARK_NAME);
+ super(
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/java/java_info.bzl")),
+ STARLARK_NAME);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaPackageConfigurationProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaPackageConfigurationProvider.java
index cd6f81c1b78b83..8bfde1f35618cc 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaPackageConfigurationProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaPackageConfigurationProvider.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.rules.java;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
@@ -96,7 +97,9 @@ private static class Provider extends StarlarkProviderWrapper
implements com.google.devtools.build.lib.packages.Provider {
private Provider() {
- super(Label.parseCanonicalUnchecked("@_builtins//:common/java/java_info.bzl"), PROVIDER_NAME);
+ super(
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/java/java_info.bzl")),
+ PROVIDER_NAME);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
index 8e6e6df1fea39a..3960ad2666cbd0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaRuntimeInfo.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.java;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
@@ -130,7 +131,8 @@ private static class Provider extends StarlarkProviderWrapper {
private Provider() {
super(
- Label.parseCanonicalUnchecked("@_builtins//:common/java/java_runtime.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/java/java_runtime.bzl")),
"JavaRuntimeInfo");
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
index c355f83b768949..f28dcb41f46404 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaToolchainProvider.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.java;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
@@ -378,7 +380,8 @@ private static class Provider extends StarlarkProviderWrapper {
private Provider() {
super(
- Label.parseCanonicalUnchecked("@_builtins//:common/java/message_bundle_info.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/java/message_bundle_info.bzl")),
STARLARK_NAME);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD b/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
index 509c4d80658193..cc6f9f8b0f2c56 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/BUILD
@@ -30,6 +30,7 @@ java_library(
"//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/packages/semantics",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/proto",
"//src/main/java/com/google/devtools/common/options",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
index 2de6d22c629e30..aef695921b5d40 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java
@@ -14,6 +14,8 @@
package com.google.devtools.build.lib.rules.proto;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
@@ -44,7 +46,9 @@ public StarlarkProviderWrapper getProvider() {
/** Provider class for {@link ProtoInfo} objects. */
public static class ProtoInfoProvider extends StarlarkProviderWrapper {
public ProtoInfoProvider() {
- super(Label.parseCanonicalUnchecked("@_builtins//:common/proto/proto_info.bzl"), "ProtoInfo");
+ super(
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/proto/proto_info.bzl")),
+ "ProtoInfo");
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
index e53048206e38f8..5256f698fcc1a8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
@@ -14,6 +14,8 @@
package com.google.devtools.build.lib.rules.proto;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.auto.value.AutoValue;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
@@ -44,7 +46,8 @@ public abstract class ProtoLangToolchainProvider {
public static final String PROVIDER_NAME = "ProtoLangToolchainInfo";
public static final StarlarkProvider.Key starlarkProtoLangToolchainKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/proto/proto_common.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/proto/proto_common.bzl")),
PROVIDER_NAME);
public static final StarlarkProviderIdentifier PROVIDER_ID =
StarlarkProviderIdentifier.forKey(starlarkProtoLangToolchainKey);
@@ -108,8 +111,8 @@ public static StarlarkInfo create(
m.put("runtime", runtime == null ? Starlark.NONE : runtime);
StarlarkProvider.Builder builder = StarlarkProvider.builder(Location.BUILTIN);
- builder.setExported(starlarkProtoLangToolchainKey);
- return StarlarkInfo.create(builder.build(), m, Location.BUILTIN);
+ return StarlarkInfo.create(
+ builder.buildExported(starlarkProtoLangToolchainKey), m, Location.BUILTIN);
}
private static ImmutableList getToolchains(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/BUILD b/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
index 1e580ddfa79731..c495b52c95a57f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/BUILD
@@ -39,6 +39,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/packages/semantics",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:visible-for-serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec:serialization-constant",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/python",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyBuiltins.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyBuiltins.java
index 199295abe3f6f7..5100cbe24196c8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyBuiltins.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyBuiltins.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.python;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -460,12 +462,12 @@ public void addPyExtraActionPseudoAction(
private static final StarlarkProvider starlarkVisibleForTestingInfo =
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
+ .buildExported(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked(
- "//tools/build_defs/python/tests/base_rules:util.bzl"),
- "VisibleForTestingInfo"))
- .build();
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "//tools/build_defs/python/tests/base_rules:util.bzl")),
+ "VisibleForTestingInfo"));
@StarlarkMethod(name = "VisibleForTestingInfo", documented = false, structField = true)
public StarlarkProvider visibleForTestingInfo() throws EvalException {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyCcLinkParamsProvider.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyCcLinkParamsProvider.java
index c1d95681007338..a62fe550659400 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyCcLinkParamsProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyCcLinkParamsProvider.java
@@ -13,6 +13,9 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.python;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.annotations.VisibleForTesting;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.cmdline.Label;
@@ -22,6 +25,7 @@
import com.google.devtools.build.lib.packages.StarlarkInfo;
import com.google.devtools.build.lib.packages.StarlarkProviderWrapper;
import com.google.devtools.build.lib.rules.cpp.CcInfo;
+import com.google.devtools.build.lib.skyframe.BzlLoadValue;
import net.starlark.java.eval.EvalException;
/** A target that provides C++ libraries to be linked into Python targets. */
@@ -56,8 +60,8 @@ public CcInfo getCcInfo() {
}
private static class BaseProvider extends StarlarkProviderWrapper {
- private BaseProvider(String bzlLabel) {
- super(Label.parseCanonicalUnchecked(bzlLabel), "PyCcLinkParamsProvider");
+ private BaseProvider(BzlLoadValue.Key loadKey) {
+ super(loadKey, "PyCcLinkParamsProvider");
}
@Override
@@ -73,14 +77,19 @@ public PyCcLinkParamsProvider wrap(Info value) throws RuleErrorException {
/** Provider class for builtin PyWrapCcLinkParamsProvider. */
public static class BuiltinProvider extends BaseProvider {
private BuiltinProvider() {
- super("@_builtins//:common/python/providers.bzl");
+ super(
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/python/providers.bzl")));
}
}
/** Provider class for rules_python PyWrapCcLinkParamsProvider. */
public static class RulesPythonProvider extends BaseProvider {
private RulesPythonProvider() {
- super("//third_party/bazel_rules/rules_python/python/private/common:providers.bzl");
+ super(
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "//third_party/bazel_rules/rules_python/python/private/common:providers.bzl")));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
index 6b70ff5e94b01e..21ac9459386c58 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyInfo.java
@@ -14,6 +14,9 @@
package com.google.devtools.build.lib.rules.python;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
+
import com.google.common.annotations.VisibleForTesting;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -24,6 +27,7 @@
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.packages.StarlarkInfo;
import com.google.devtools.build.lib.packages.StarlarkProviderWrapper;
+import com.google.devtools.build.lib.skyframe.BzlLoadValue;
import net.starlark.java.eval.EvalException;
/** Instance of the provider type for the Python rules. */
@@ -74,8 +78,8 @@ public boolean getHasPy3OnlySources() throws EvalException {
}
private static class BaseProvider extends StarlarkProviderWrapper {
- private BaseProvider(String bzlLabel) {
- super(Label.parseCanonicalUnchecked(bzlLabel), "PyInfo");
+ private BaseProvider(BzlLoadValue.Key bzlKey) {
+ super(bzlKey, "PyInfo");
}
@Override
@@ -87,14 +91,19 @@ public PyInfo wrap(Info value) {
/** The PyInfo provider type object for the builtin provider. */
public static class BuiltinPyInfoProvider extends BaseProvider {
private BuiltinPyInfoProvider() {
- super("@_builtins//:common/python/providers.bzl");
+ super(
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/python/providers.bzl")));
}
}
/** The PyInfo provider type object for the rules_python provider. */
public static class RulesPythonPyInfoProvider extends BaseProvider {
private RulesPythonPyInfoProvider() {
- super("//third_party/bazel_rules/rules_python/python/private/common:providers.bzl");
+ super(
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "//third_party/bazel_rules/rules_python/python/private/common:providers.bzl")));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
index e7d527d9b33056..1c34c5be260772 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/python/PyRuntimeInfo.java
@@ -14,6 +14,8 @@
package com.google.devtools.build.lib.rules.python;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import static net.starlark.java.eval.Starlark.NONE;
import com.google.common.annotations.VisibleForTesting;
@@ -26,6 +28,7 @@
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.packages.StarlarkInfo;
import com.google.devtools.build.lib.packages.StarlarkProviderWrapper;
+import com.google.devtools.build.lib.skyframe.BzlLoadValue;
import com.google.devtools.build.lib.starlarkbuildapi.python.PyRuntimeInfoApi;
import javax.annotation.Nullable;
import net.starlark.java.eval.EvalException;
@@ -120,8 +123,8 @@ public PythonVersion getPythonVersion() throws EvalException {
}
private static class BaseProvider extends StarlarkProviderWrapper {
- private BaseProvider(String bzlLabel) {
- super(Label.parseCanonicalUnchecked(bzlLabel), "PyRuntimeInfo");
+ private BaseProvider(BzlLoadValue.Key bzlKey) {
+ super(bzlKey, "PyRuntimeInfo");
}
@Override
@@ -134,7 +137,9 @@ public PyRuntimeInfo wrap(Info value) {
private static class BuiltinProvider extends BaseProvider {
private BuiltinProvider() {
- super("@_builtins//:common/python/providers.bzl");
+ super(
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/python/providers.bzl")));
}
}
@@ -142,7 +147,10 @@ private BuiltinProvider() {
private static class RulesPythonProvider extends BaseProvider {
private RulesPythonProvider() {
- super("//third_party/bazel_rules/rules_python/python/private/common:providers.bzl");
+ super(
+ keyForBuild(
+ Label.parseCanonicalUnchecked(
+ "//third_party/bazel_rules/rules_python/python/private/common:providers.bzl")));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
index 7f1dc1a4be2f0e..a262bd63980d79 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
@@ -51,7 +51,7 @@ public final class StarlarkBuiltinsValue implements SkyValue {
RepositoryName.createUnvalidated(BUILTINS_NAME);
/** Reports whether the given repository is the special builtins pseudo-repository. */
- static boolean isBuiltinsRepo(RepositoryName repo) {
+ public static boolean isBuiltinsRepo(RepositoryName repo) {
// Use String.equals(), not RepositoryName.equals(), to force case sensitivity.
return repo.getName().equals(BUILTINS_NAME);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectAutoExecGroupsTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectAutoExecGroupsTest.java
index 75dc5532bbe4c3..969f03b0b96b7e 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectAutoExecGroupsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectAutoExecGroupsTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.analysis;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ObjectArrays;
import com.google.devtools.build.lib.actions.Action;
@@ -329,7 +330,8 @@ def _impl(ctx):
private StarlarkExecGroupCollection getExecGroupsFromAspectProvider(
ConfiguredAspect configuredAspect) throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "OutputFile");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "OutputFile");
StarlarkInfo keyInfo = (StarlarkInfo) configuredAspect.get(key);
return (StarlarkExecGroupCollection) keyInfo.getValue("exec_groups");
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
index 764eb95c8013b0..8acfb85076e25d 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
@@ -15,6 +15,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.packages.Attribute.attr;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
@@ -51,16 +52,20 @@ private static final class P1 implements TransitiveInfoProvider {}
private static final Label FAKE_LABEL = Label.parseCanonicalUnchecked("//fake/label.bzl");
private static final StarlarkProviderIdentifier STARLARK_P1 =
- StarlarkProviderIdentifier.forKey(new StarlarkProvider.Key(FAKE_LABEL, "STARLARK_P1"));
+ StarlarkProviderIdentifier.forKey(
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "STARLARK_P1"));
private static final StarlarkProviderIdentifier STARLARK_P2 =
- StarlarkProviderIdentifier.forKey(new StarlarkProvider.Key(FAKE_LABEL, "STARLARK_P2"));
+ StarlarkProviderIdentifier.forKey(
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "STARLARK_P2"));
private static final StarlarkProviderIdentifier STARLARK_P3 =
- StarlarkProviderIdentifier.forKey(new StarlarkProvider.Key(FAKE_LABEL, "STARLARK_P3"));
+ StarlarkProviderIdentifier.forKey(
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "STARLARK_P3"));
private static final StarlarkProviderIdentifier STARLARK_P4 =
- StarlarkProviderIdentifier.forKey(new StarlarkProvider.Key(FAKE_LABEL, "STARLARK_P4"));
+ StarlarkProviderIdentifier.forKey(
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "STARLARK_P4"));
/**
* A dummy aspect factory. Is there to demonstrate how to define aspects and so that we can test
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 3a5292454d9831..e1d5d23d2c89c7 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -20,6 +20,7 @@
import static com.google.devtools.build.lib.packages.Attribute.attr;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
@@ -1741,7 +1742,7 @@ private static StructImpl getHintsCntInfo(ConfiguredTarget configuredTarget)
throws LabelSyntaxException {
Provider.Key key =
new StarlarkProvider.Key(
- Label.parseCanonical("//aspect_hints:hints_counter.bzl"), "HintsCntInfo");
+ keyForBuild(Label.parseCanonical("//aspect_hints:hints_counter.bzl")), "HintsCntInfo");
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/BUILD
index 9ecdd544d6cc72..cd17bdd9fb5eeb 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/BUILD
@@ -137,6 +137,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
"//src/main/java/com/google/devtools/build/lib/skyframe:aspect_key_creator",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key",
"//src/main/java/com/google/devtools/build/lib/skyframe:package_lookup_function",
@@ -446,6 +447,7 @@ java_test(
"//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/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/cpp",
"//src/main/java/net/starlark/java/eval",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkAttrTransitionProviderTest.java b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkAttrTransitionProviderTest.java
index d0445a5e2af3aa..984f0a61c332c1 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkAttrTransitionProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkAttrTransitionProviderTest.java
@@ -16,6 +16,7 @@
import static com.google.common.collect.Multimaps.toMultimap;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
@@ -75,7 +76,8 @@ public void setupMyInfo() throws Exception {
private static StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget)
throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
index baf78cf9996578..a6e1cf216813e9 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/StarlarkExecGroupTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationValue;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -167,7 +168,8 @@ def _impl2(ctx):
""");
ConfiguredTarget target = getConfiguredTarget("//test:parent");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "MyInfo");
BuildConfigurationValue dep =
getConfiguration((ConfiguredTarget) ((StructImpl) target.get(key)).getValue("dep"));
@@ -241,7 +243,8 @@ def _impl2(ctx):
""");
ConfiguredTarget target = getConfiguredTarget("//test:parent");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "MyInfo");
ConfiguredTarget dep = (ConfiguredTarget) ((StructImpl) target.get(key)).getValue("dep");
BuildConfigurationValue passthruDepConfig =
getConfiguration((ConfiguredTarget) ((StructImpl) dep.get(key)).getValue("dep"));
@@ -301,7 +304,8 @@ def _impl2(ctx):
""");
ConfiguredTarget target = getConfiguredTarget("//test:parent");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "MyInfo");
BuildConfigurationValue dep =
getConfiguration((ConfiguredTarget) ((StructImpl) target.get(key)).getValue("dep"));
BuildConfigurationValue execGroupDep =
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/config/BUILD
index 92c935dcdd6f85..692d94c3d74bd2 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BUILD
@@ -56,6 +56,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
"//src/main/java/com/google/devtools/build/lib/rules/objc",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils",
"//src/main/java/com/google/devtools/build/lib/util",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationFunctionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationFunctionTest.java
index a078f1060aa8c7..664ac283c99875 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationFunctionTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.analysis.config;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -45,7 +46,8 @@ public void setupMyInfo() throws Exception {
private static StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget)
throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationStarlarkTest.java b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationStarlarkTest.java
index 06d88640cda935..c5e43394c2fe81 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationStarlarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/config/BuildConfigurationStarlarkTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.analysis.config;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -63,7 +64,8 @@ def _test_rule_impl(ctx):
ConfiguredTarget starlarkTarget = getConfiguredTarget("//examples/config_starlark:my_target");
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//examples/rule:config_test.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//examples/rule:config_test.bzl")), "MyInfo");
StructImpl myInfo = (StructImpl) starlarkTarget.get(key);
assertThat(((Dict) myInfo.getValue("test_env")).get("TEST_ENV_VAR")).isEqualTo("my_value");
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkSubruleTest.java b/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkSubruleTest.java
index 44e5dc983ce10c..165328f365981a 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkSubruleTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/starlark/StarlarkSubruleTest.java
@@ -17,6 +17,7 @@
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.analysis.starlark.StarlarkSubrule.getRuleAttrName;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
@@ -1778,7 +1779,8 @@ public void testSubrulesParamForAspect_isPrivateAPI() throws Exception {
private StructImpl getProvider(String targetLabel, String providerLabel, String providerName)
throws LabelSyntaxException {
ConfiguredTarget target = getConfiguredTarget(targetLabel);
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical(providerLabel), providerName);
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical(providerLabel)), providerName);
return (StructImpl) target.get(key);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/test/TestActionBuilderTest.java b/src/test/java/com/google/devtools/build/lib/analysis/test/TestActionBuilderTest.java
index e9b6fb25129500..ed83012ad06a4f 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/test/TestActionBuilderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/test/TestActionBuilderTest.java
@@ -16,6 +16,7 @@
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.rules.python.PythonTestUtils.getPyLoad;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
@@ -407,7 +408,8 @@ public void testAspectOverNonExpandingTestSuitesVisitsImplicitTests() throws Exc
ConfiguredAspect aspectValue =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//:aspect.bzl"), "StructImpl");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//:aspect.bzl")), "StructImpl");
StructImpl info = (StructImpl) aspectValue.get(key);
assertThat(((Depset) info.getValue("labels")).getSet(String.class).toList())
.containsExactly("@@//:suite", "@@//:test_a", "@@//:test_b");
@@ -440,7 +442,8 @@ public void testAspectOverNonExpandingTestSuitesVisitsExplicitTests() throws Exc
ConfiguredAspect aspectValue =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//:aspect.bzl"), "StructImpl");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//:aspect.bzl")), "StructImpl");
StructImpl info = (StructImpl) aspectValue.get(key);
assertThat(((Depset) info.getValue("labels")).getSet(String.class).toList())
.containsExactly("@@//:suite", "@@//:test_b");
@@ -469,7 +472,8 @@ public void testAspectOverExpandingTestSuitesDoesNotVisitSuite() throws Exceptio
/* doAnalysis= */ true,
new EventBus());
final StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//:aspect.bzl"), "StructImpl");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//:aspect.bzl")), "StructImpl");
List labels = new ArrayList<>();
for (ConfiguredAspect a : analysisResult.getAspectsMap().values()) {
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index a6c12bafb08092..67f03490530089 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -16,6 +16,7 @@
import static com.google.common.collect.ImmutableMap.toImmutableMap;
import static com.google.common.collect.ImmutableMultiset.toImmutableMultiset;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
@@ -753,7 +754,7 @@ protected StarlarkInfo getStarlarkProvider(ConfiguredTarget target, String provi
protected StarlarkInfo getStarlarkProvider(
ProviderCollection target, String label, String providerSymbol) throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical(label), providerSymbol);
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical(label)), providerSymbol);
return (StarlarkInfo) target.get(key);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
index b701c6e21d7302..de7e7802425dc0 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BUILD
@@ -101,6 +101,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
"//src/main/java/com/google/devtools/build/lib/shell",
"//src/main/java/com/google/devtools/build/lib/skyframe:aspect_key_creator",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:client_environment_function",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key",
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
index 15f22b9e32f457..0d84a3f71abe00 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.getFirstArtifactEndingWith;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
@@ -822,10 +823,11 @@ protected StarlarkInfo getStarlarkProvider(ConfiguredTarget target, String provi
throws Exception {
StarlarkProvider.Key key =
new StarlarkProvider.Key(
- getTarget(target.getLabel())
- .getAssociatedRule()
- .getRuleClassObject()
- .getRuleDefinitionEnvironmentLabel(),
+ keyForBuild(
+ getTarget(target.getLabel())
+ .getAssociatedRule()
+ .getRuleClassObject()
+ .getRuleDefinitionEnvironmentLabel()),
providerSymbol);
return (StarlarkInfo) target.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
index e92389387b7192..36e2d8a7236130 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
@@ -17,6 +17,7 @@
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
import static com.google.devtools.build.lib.packages.Type.STRING;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.base.Function;
import com.google.common.collect.ImmutableCollection;
@@ -126,23 +127,23 @@ public NestedSet getData() {
private static final Label FAKE_LABEL = Label.parseCanonicalUnchecked("//fake/label.bzl");
public static final StarlarkProvider.Key REQUIRED_PROVIDER_KEY =
- new StarlarkProvider.Key(FAKE_LABEL, "RequiredProvider");
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "RequiredProvider");
public static final StarlarkProvider.Key REQUIRED_PROVIDER2_KEY =
- new StarlarkProvider.Key(FAKE_LABEL, "RequiredProvider2");
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "RequiredProvider2");
/**
* A very simple provider used in tests that check whether the logic that attaches aspects
* depending on whether a configured target has a provider works or not.
*/
private static final StarlarkProvider REQUIRED_PROVIDER =
- StarlarkProvider.builder(Location.BUILTIN).setExported(REQUIRED_PROVIDER_KEY).build();
+ StarlarkProvider.builder(Location.BUILTIN).buildExported(REQUIRED_PROVIDER_KEY);
/**
* Another very simple provider used in tests that check whether the logic that attaches aspects
* depending on whether a configured target has a provider works or not.
*/
private static final StarlarkProvider REQUIRED_PROVIDER2 =
- StarlarkProvider.builder(Location.BUILTIN).setExported(REQUIRED_PROVIDER2_KEY).build();
+ StarlarkProvider.builder(Location.BUILTIN).buildExported(REQUIRED_PROVIDER2_KEY);
private static NestedSet collectAspectData(String me, RuleContext ruleContext) {
NestedSetBuilder result = new NestedSetBuilder<>(Order.STABLE_ORDER);
@@ -376,8 +377,7 @@ public static class ExtraAttributeAspect extends BaseAspect {
/** Test provider which includes the {@code dep} label. */
public static final StarlarkProvider PROVIDER =
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(new StarlarkProvider.Key(FAKE_LABEL, "Provider"))
- .build();
+ .buildExported(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "Provider"));
private final Label depLabel;
private final boolean applyToFiles;
diff --git a/src/test/java/com/google/devtools/build/lib/packages/AdvertisedProviderSetTest.java b/src/test/java/com/google/devtools/build/lib/packages/AdvertisedProviderSetTest.java
index ede110ab023b83..c3c67644d0a08b 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/AdvertisedProviderSetTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/AdvertisedProviderSetTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.packages;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.hash.HashCode;
import com.google.devtools.build.lib.cmdline.Label;
@@ -72,7 +73,8 @@ public void fingerprintsMatchExactly() {
.addStarlark(
StarlarkProviderIdentifier.forKey(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//my:label1.bzl"), "exportedName1")))
+ keyForBuild(Label.parseCanonicalUnchecked("//my:label1.bzl")),
+ "exportedName1")))
.build()))
.isEqualTo(
HashCode.fromString(
@@ -83,11 +85,13 @@ public void fingerprintsMatchExactly() {
.addStarlark(
StarlarkProviderIdentifier.forKey(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//my:label1.bzl"), "exportedName1")))
+ keyForBuild(Label.parseCanonicalUnchecked("//my:label1.bzl")),
+ "exportedName1")))
.addStarlark(
StarlarkProviderIdentifier.forKey(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//my:label2.bzl"), "exportedName2")))
+ keyForBuild(Label.parseCanonicalUnchecked("//my:label2.bzl")),
+ "exportedName2")))
.build()))
.isEqualTo(
HashCode.fromString(
@@ -98,7 +102,8 @@ public void fingerprintsMatchExactly() {
.addStarlark(
StarlarkProviderIdentifier.forKey(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//my:label2.bzl"), "exportedName2")))
+ keyForBuild(Label.parseCanonicalUnchecked("//my:label2.bzl")),
+ "exportedName2")))
.build()))
.isEqualTo(
HashCode.fromString(
diff --git a/src/test/java/com/google/devtools/build/lib/packages/BUILD b/src/test/java/com/google/devtools/build/lib/packages/BUILD
index 390be14fa43f4c..843d3f1b3326f0 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/packages/BUILD
@@ -77,6 +77,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/packages:package_specification",
"//src/main/java/com/google/devtools/build/lib/pkgcache",
"//src/main/java/com/google/devtools/build/lib/runtime/commands",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
"//src/main/java/com/google/devtools/build/lib/skyframe:tests_for_target_pattern_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
diff --git a/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java b/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
index a97f6afd220f2b..fc678e620e9cec 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/RequiredProvidersTest.java
@@ -20,6 +20,7 @@
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
+import net.starlark.java.eval.SymbolGenerator;
import net.starlark.java.syntax.Location;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -41,7 +42,8 @@ private static final class P3 implements TransitiveInfoProvider {}
new BuiltinProvider("p_native", StructImpl.class) {};
private static final StarlarkProvider P_STARLARK =
- StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .buildWithIdentityToken(SymbolGenerator.create("test").generate());
static {
try {
diff --git a/src/test/java/com/google/devtools/build/lib/packages/StarlarkInfoTest.java b/src/test/java/com/google/devtools/build/lib/packages/StarlarkInfoTest.java
index e3fb773b35f9bf..5f73c60169944e 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/StarlarkInfoTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/StarlarkInfoTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.packages;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableMap;
@@ -28,6 +29,7 @@
import net.starlark.java.eval.EvalException;
import net.starlark.java.eval.StarlarkInt;
import net.starlark.java.eval.StarlarkValue;
+import net.starlark.java.eval.SymbolGenerator;
import net.starlark.java.syntax.Location;
import net.starlark.java.syntax.TokenKind;
import org.junit.Test;
@@ -132,14 +134,16 @@ public void concatWithDifferentFields() throws Exception {
/** Creates an unexported schemaless provider type with builtin location. */
private static StarlarkProvider makeProvider() {
- return StarlarkProvider.builder(Location.BUILTIN).build();
+ return StarlarkProvider.builder(Location.BUILTIN)
+ .buildWithIdentityToken(SymbolGenerator.createTransient().generate());
}
/** Creates an exported schemaless provider type with builtin location. */
private static StarlarkProvider makeExportedProvider() {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//package:target"), "provider");
- return StarlarkProvider.builder(Location.BUILTIN).setExported(key).build();
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//package:target")), "provider");
+ return StarlarkProvider.builder(Location.BUILTIN).buildExported(key);
}
/**
diff --git a/src/test/java/com/google/devtools/build/lib/packages/StarlarkProviderTest.java b/src/test/java/com/google/devtools/build/lib/packages/StarlarkProviderTest.java
index e2c79eb88289a5..89e07f15482b9b 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/StarlarkProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/StarlarkProviderTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.collect.nestedset.Order.STABLE_ORDER;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verifyNoInteractions;
@@ -36,6 +37,7 @@
import net.starlark.java.eval.StarlarkList;
import net.starlark.java.eval.StarlarkSemantics;
import net.starlark.java.eval.StarlarkThread;
+import net.starlark.java.eval.SymbolGenerator;
import net.starlark.java.eval.Tuple;
import net.starlark.java.syntax.Location;
import org.junit.Test;
@@ -45,10 +47,12 @@
/** Tests for {@link StarlarkProvider}. */
@RunWith(JUnit4.class)
public final class StarlarkProviderTest {
+ private final SymbolGenerator> generator = SymbolGenerator.create("test");
@Test
public void unexportedProvider_accessors() {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
assertThat(provider.isExported()).isFalse();
assertThat(provider.getName()).isEqualTo("");
assertThat(provider.getPrintableName()).isEqualTo("");
@@ -63,8 +67,8 @@ public void unexportedProvider_accessors() {
@Test
public void exportedProvider_accessors() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).setExported(key).build();
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
+ StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).buildExported(key);
assertThat(provider.isExported()).isTrue();
assertThat(provider.getName()).isEqualTo("prov");
assertThat(provider.getPrintableName()).isEqualTo("prov");
@@ -78,7 +82,8 @@ public void exportedProvider_accessors() throws Exception {
@Test
public void basicInstantiation() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromNormalConstructor = instantiateWithA1B2C3(provider);
assertHasExactlyValuesA1B2C3(infoFromNormalConstructor);
assertThat(infoFromNormalConstructor.getProvider()).isEqualTo(provider);
@@ -92,7 +97,10 @@ public void basicInstantiation() throws Exception {
@Test
public void instantiationWithInit() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).setInit(initBC).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setInit(initBC)
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromNormalConstructor = instantiateWithA1(provider);
assertHasExactlyValuesA1B2C3(infoFromNormalConstructor);
assertThat(infoFromNormalConstructor.getProvider()).isEqualTo(provider);
@@ -100,7 +108,10 @@ public void instantiationWithInit() throws Exception {
@Test
public void instantiationWithInitSignatureMismatch_fails() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).setInit(initBC).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setInit(initBC)
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1B2C3(provider));
assertThat(e).hasMessageThat().contains("expected a single `a` argument");
}
@@ -126,7 +137,9 @@ public Location getLocation() {
};
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setInit(initWithInvalidReturnType).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setInit(initWithInvalidReturnType)
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1B2C3(provider));
assertThat(e)
.hasMessageThat()
@@ -155,7 +168,9 @@ public Location getLocation() {
};
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setInit(failingInit).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setInit(failingInit)
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1B2C3(provider));
assertThat(e).hasMessageThat().contains("failingInit fails");
}
@@ -163,7 +178,10 @@ public Location getLocation() {
@Test
public void rawConstructorBypassesInit() throws Exception {
StarlarkCallable init = mock(StarlarkCallable.class, "init");
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).setInit(init).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setInit(init)
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromRawConstructor = instantiateWithA1B2C3(provider.createRawConstructor());
assertHasExactlyValuesA1B2C3(infoFromRawConstructor);
assertThat(infoFromRawConstructor.getProvider()).isEqualTo(provider);
@@ -175,7 +193,7 @@ public void basicInstantiationWithSchemaWithSomeFieldsUnset() throws Exception {
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a", "b", "c"))
- .build();
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromNormalConstructor = instantiateWithA1(provider);
assertHasExactlyValuesA1(infoFromNormalConstructor);
StarlarkInfo infoFromRawConstructor = instantiateWithA1(provider.createRawConstructor());
@@ -187,7 +205,7 @@ public void basicInstantiationWithSchemaWithAllFieldsSet() throws Exception {
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a", "b", "c"))
- .build();
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromNormalConstructor = instantiateWithA1B2C3(provider);
assertHasExactlyValuesA1B2C3(infoFromNormalConstructor);
StarlarkInfo infoFromRawConstructor = instantiateWithA1B2C3(provider.createRawConstructor());
@@ -199,7 +217,7 @@ public void basicInstantiationWithDocumentedSchema() throws Exception {
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableMap.of("a", "Parameter a", "b", "Parameter b", "c", "Parameter c"))
- .build();
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo infoFromNormalConstructor = instantiateWithA1(provider);
assertHasExactlyValuesA1(infoFromNormalConstructor);
StarlarkInfo infoFromRawConstructor = instantiateWithA1B2C3(provider.createRawConstructor());
@@ -209,7 +227,9 @@ public void basicInstantiationWithDocumentedSchema() throws Exception {
@Test
public void schemaDisallowsUnexpectedFields() throws Exception {
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setSchema(ImmutableList.of("a", "b")).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setSchema(ImmutableList.of("a", "b"))
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1B2C3(provider));
assertThat(e)
.hasMessageThat()
@@ -221,7 +241,7 @@ public void documentedSchemaDisallowsUnexpectedFields() throws Exception {
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableMap.of("a", "Parameter a", "b", "Parameter b"))
- .build();
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1B2C3(provider));
assertThat(e)
.hasMessageThat()
@@ -231,7 +251,9 @@ public void documentedSchemaDisallowsUnexpectedFields() throws Exception {
@Test
public void schemaEnforcedOnRawConstructor() throws Exception {
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setSchema(ImmutableList.of("a", "b")).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setSchema(ImmutableList.of("a", "b"))
+ .buildWithIdentityToken(generator.generate());
EvalException e =
assertThrows(
EvalException.class, () -> instantiateWithA1B2C3(provider.createRawConstructor()));
@@ -246,7 +268,7 @@ public void schemaEnforcedOnInit() throws Exception {
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a", "b"))
.setInit(initBC)
- .build();
+ .buildWithIdentityToken(generator.generate());
EvalException e = assertThrows(EvalException.class, () -> instantiateWithA1(provider));
assertThat(e)
.hasMessageThat()
@@ -256,25 +278,30 @@ public void schemaEnforcedOnInit() throws Exception {
@Test
public void documentedProvider_getDocumentation() throws Exception {
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setDocumentation("My doc string").build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setDocumentation("My doc string")
+ .buildWithIdentityToken(generator.generate());
assertThat(provider.getDocumentation()).hasValue("My doc string");
}
@Test
public void undocumentedProvider_getDocumentation() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
assertThat(provider.getDocumentation()).isEmpty();
}
@Test
public void schemalessProvider_getFields() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
assertThat(provider.getFields()).isNull();
}
@Test
public void schemalessProvider_getSchema() throws Exception {
- StarlarkProvider provider = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provider =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
assertThat(provider.getSchema()).isNull();
}
@@ -285,7 +312,7 @@ public void providerWithUndocumentedSchema_getFields() throws Exception {
// Note fields in setSchema() call below are not alphabetized to simulate
// non-alphabetized field order in a provider declaration in Starlark code.
.setSchema(ImmutableList.of("c", "a", "b"))
- .build();
+ .buildWithIdentityToken(generator.generate());
assertThat(provider.getFields()).containsExactly("a", "b", "c").inOrder();
}
@@ -296,7 +323,7 @@ public void providerWithUndocumentedSchema_getSchema() throws Exception {
// Note fields in setSchema() call below are not alphabetized to simulate
// non-alphabetized field order in a provider declaration in Starlark code.
.setSchema(ImmutableList.of("c", "a", "b"))
- .build();
+ .buildWithIdentityToken(generator.generate());
assertThat(provider.getSchema())
.containsExactly("c", Optional.empty(), "a", Optional.empty(), "b", Optional.empty())
.inOrder();
@@ -309,7 +336,7 @@ public void providerWithDocumentedSchema_getFields() throws Exception {
// Note fields in setSchema() call below are not alphabetized to simulate
// non-alphabetized field order in a provider declaration in Starlark code.
.setSchema(ImmutableMap.of("c", "Parameter c", "a", "Parameter a", "b", "Parameter b"))
- .build();
+ .buildWithIdentityToken(generator.generate());
assertThat(provider.getFields()).containsExactly("a", "b", "c").inOrder();
}
@@ -320,7 +347,7 @@ public void providerWithDocumentedSchema_getSchema() throws Exception {
// Note fields in setSchema() call below are not alphabetized to simulate
// non-alphabetized field order in a provider declaration in Starlark code.
.setSchema(ImmutableMap.of("c", "Parameter c", "a", "Parameter a", "b", "Parameter b"))
- .build();
+ .buildWithIdentityToken(generator.generate());
assertThat(provider.getSchema())
.containsExactly(
"c",
@@ -339,7 +366,9 @@ public void providerWithDocumentedSchema_getSchema() throws Exception {
@Test
public void schemafulProvider_withDepset() throws Exception {
StarlarkProvider provider =
- StarlarkProvider.builder(Location.BUILTIN).setSchema(ImmutableList.of("field")).build();
+ StarlarkProvider.builder(Location.BUILTIN)
+ .setSchema(ImmutableList.of("field"))
+ .buildWithIdentityToken(generator.generate());
StarlarkInfo instance1;
StarlarkInfo instance2;
StarlarkInfo instance3;
@@ -423,12 +452,11 @@ public void schemafulProvider_withDepset() throws Exception {
@Test
public void schemafulProvider_mutable() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a"))
- .setExported(key)
- .build();
+ .buildExported(key);
StarlarkInfo instance;
try (Mutability mu = Mutability.create()) {
StarlarkThread thread = StarlarkThread.createTransient(mu, StarlarkSemantics.DEFAULT);
@@ -454,12 +482,11 @@ public void schemafulProvider_mutable() throws Exception {
@Test
public void schemafulProvider_immutable() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a"))
- .setExported(key)
- .build();
+ .buildExported(key);
StarlarkInfo instance;
try (Mutability mu = Mutability.create()) {
StarlarkThread thread = StarlarkThread.createTransient(mu, StarlarkSemantics.DEFAULT);
@@ -484,12 +511,11 @@ public void schemafulProvider_immutable() throws Exception {
@Test
public void schemafulProviderWithDepset_isImmutable() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a"))
- .setExported(key)
- .build();
+ .buildExported(key);
StarlarkInfo instance;
try (Mutability mu = Mutability.create()) {
StarlarkThread thread = StarlarkThread.createTransient(mu, StarlarkSemantics.DEFAULT);
@@ -509,12 +535,11 @@ public void schemafulProviderWithDepset_isImmutable() throws Exception {
@Test
public void schemafulProviderWithDepset_becomesImmutable() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a", "b"))
- .setExported(key)
- .build();
+ .buildExported(key);
StarlarkInfo instance;
try (Mutability mu = Mutability.create()) {
StarlarkThread thread = StarlarkThread.createTransient(mu, StarlarkSemantics.DEFAULT);
@@ -539,12 +564,11 @@ public void schemafulProviderWithDepset_becomesImmutable() throws Exception {
@Test
public void schemafulProvider_optimisedImmutable() throws Exception {
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:bar.bzl"), "prov");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:bar.bzl")), "prov");
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
.setSchema(ImmutableList.of("a"))
- .setExported(key)
- .build();
+ .buildExported(key);
StarlarkInfo instance;
try (Mutability mu = Mutability.create()) {
StarlarkThread thread = StarlarkThread.createTransient(mu, StarlarkSemantics.DEFAULT);
@@ -572,27 +596,25 @@ public void schemafulProvider_optimisedImmutable() throws Exception {
public void providerEquals() throws Exception {
// All permutations of differing label and differing name.
StarlarkProvider.Key keyFooA =
- new StarlarkProvider.Key(Label.parseCanonical("//foo.bzl"), "provA");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo.bzl")), "provA");
StarlarkProvider.Key keyFooB =
- new StarlarkProvider.Key(Label.parseCanonical("//foo.bzl"), "provB");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo.bzl")), "provB");
StarlarkProvider.Key keyBarA =
- new StarlarkProvider.Key(Label.parseCanonical("//bar.bzl"), "provA");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//bar.bzl")), "provA");
StarlarkProvider.Key keyBarB =
- new StarlarkProvider.Key(Label.parseCanonical("//bar.bzl"), "provB");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//bar.bzl")), "provB");
// 1 for each key, plus a duplicate for one of the keys, plus 2 that have no key.
- StarlarkProvider provFooA1 =
- StarlarkProvider.builder(Location.BUILTIN).setExported(keyFooA).build();
- StarlarkProvider provFooA2 =
- StarlarkProvider.builder(Location.BUILTIN).setExported(keyFooA).build();
- StarlarkProvider provFooB =
- StarlarkProvider.builder(Location.BUILTIN).setExported(keyFooB).build();
- StarlarkProvider provBarA =
- StarlarkProvider.builder(Location.BUILTIN).setExported(keyBarA).build();
- StarlarkProvider provBarB =
- StarlarkProvider.builder(Location.BUILTIN).setExported(keyBarB).build();
- StarlarkProvider provUnexported1 = StarlarkProvider.builder(Location.BUILTIN).build();
- StarlarkProvider provUnexported2 = StarlarkProvider.builder(Location.BUILTIN).build();
+ StarlarkProvider provFooA1 = StarlarkProvider.builder(Location.BUILTIN).buildExported(keyFooA);
+ StarlarkProvider provFooA2 = StarlarkProvider.builder(Location.BUILTIN).buildExported(keyFooA);
+ StarlarkProvider provFooB = StarlarkProvider.builder(Location.BUILTIN).buildExported(keyFooB);
+ StarlarkProvider provBarA = StarlarkProvider.builder(Location.BUILTIN).buildExported(keyBarA);
+ StarlarkProvider provBarB = StarlarkProvider.builder(Location.BUILTIN).buildExported(keyBarB);
+ SymbolGenerator> generator = SymbolGenerator.create("test");
+ StarlarkProvider provUnexported1 =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
+ StarlarkProvider provUnexported2 =
+ StarlarkProvider.builder(Location.BUILTIN).buildWithIdentityToken(generator.generate());
// For exported providers, different keys -> unequal, same key -> equal. For unexported
// providers it comes down to object identity.
diff --git a/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java b/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
index 5e3e6f8179fd94..7e6c671cc129ce 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/AliasTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.rules;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -332,7 +333,8 @@ private void writeAllowlistFile() throws Exception {
private static StructImpl getMyInfoFromTarget(ConfiguredAspect configuredAspect)
throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredAspect.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/BUILD b/src/test/java/com/google/devtools/build/lib/rules/BUILD
index efe12a69315a38..4a59c45e993d23 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/BUILD
@@ -44,15 +44,13 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/analysis:file_provider",
"//src/main/java/com/google/devtools/build/lib/analysis:licenses_provider",
- "//src/main/java/com/google/devtools/build/lib/bazel/bzlmod:resolution_impl",
- "//src/main/java/com/google/devtools/build/lib/bazel/repository:repository_options",
"//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/packages",
"//src/main/java/com/google/devtools/build/lib/rules:alias",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/skyframe:aspect_key_creator",
- "//src/main/java/com/google/devtools/build/lib/skyframe:precomputed_value",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/test/java/com/google/devtools/build/lib/actions/util",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/bazel/bzlmod:util",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/LabelBuildSettingTest.java b/src/test/java/com/google/devtools/build/lib/rules/LabelBuildSettingTest.java
index 824d0befbcfbeb..d120bb8207e3e5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/LabelBuildSettingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/LabelBuildSettingTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.bazel.bzlmod.BzlmodTestUtil.createModuleKey;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -118,7 +119,8 @@ public void testLabelFlag_default() throws Exception {
ConfiguredTarget b = getConfiguredTarget("//test:my_rule");
StarlarkProvider.Key myRuleInfo =
- new StarlarkProvider.Key(Label.parseCanonical("//test:rules.bzl"), "MyRuleInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:rules.bzl")), "MyRuleInfo");
assertThat(((StarlarkInfo) b.get(myRuleInfo)).getValue("value")).isEqualTo("default_value");
}
@@ -153,7 +155,8 @@ public void testLabelFlag_set() throws Exception {
ConfiguredTarget b = getConfiguredTarget("//test:my_rule");
StarlarkProvider.Key myRuleInfo =
- new StarlarkProvider.Key(Label.parseCanonical("//test:rules.bzl"), "MyRuleInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:rules.bzl")), "MyRuleInfo");
assertThat(((StarlarkInfo) b.get(myRuleInfo)).getValue("value"))
.isEqualTo("command_line_value");
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidStarlarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidStarlarkTest.java
index 69ce969c535d62..c8e8b81a0016ee 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidStarlarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidStarlarkTest.java
@@ -16,6 +16,7 @@
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
@@ -211,7 +212,8 @@ public void setup() throws Exception {
StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/BUILD b/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
index f9d7269206d1ae..22ef60f086a5b5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/android/BUILD
@@ -44,6 +44,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:platform_options",
"//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/lib/skyframe:bzl_load_value",
"//src/test/java/com/google/devtools/build/lib/packages:testutil",
"//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
"//third_party:guava",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleFragmentTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleFragmentTest.java
index b807f3fce13fb2..832e04682e1ac5 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleFragmentTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleFragmentTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -98,7 +99,8 @@ public void appleFragmentSingleArchCpuOnExtraExecPlatform() throws Exception {
// platform's cpu in a tool's rule context.
useConfiguration("--extra_execution_platforms=//:macos_arm64");
ConfiguredTarget configuredTarget = getConfiguredTarget("//:a");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//:rules.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//:rules.bzl")), "MyInfo");
StructImpl myInfo = (StructImpl) configuredTarget.get(key);
assertThat((String) myInfo.getValue("exec_cpu")).isEqualTo("arm64");
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
index 7ba0b457e4c492..652eaf868d9ac1 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -133,7 +134,7 @@ public void executionRequirementsSetCcLibrary() throws Exception {
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
StructImpl fooProvider = (StructImpl) configuredAspect.get(fooKey);
assertThat(fooProvider.getValue("actions")).isNotNull();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/AvailableXcodesTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/AvailableXcodesTest.java
index 5d69547b43bf53..430159bd92bef4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/AvailableXcodesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/AvailableXcodesTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -32,12 +33,12 @@
public final class AvailableXcodesTest extends BuildViewTestCase {
private static final Provider.Key AVAILABLE_XCODES_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl"),
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl")),
"AvailableXcodesInfo");
private static final Provider.Key XCODE_VERSION_PROPERTIES_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl"),
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl")),
"XcodeVersionPropertiesInfo");
@Test
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/BUILD b/src/test/java/com/google/devtools/build/lib/rules/apple/BUILD
index 76c278fcf99144..79cfab7d6dfe14 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/BUILD
@@ -24,6 +24,7 @@ java_library(
"//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/lib/rules/apple",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/net/starlark/java/eval",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/packages:testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
index 3602e40b4c6357..fa2ac1c2c597a7 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/XcodeVersionTest.java
@@ -15,6 +15,8 @@
package com.google.devtools.build.lib.rules.apple;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget;
@@ -34,7 +36,7 @@
public final class XcodeVersionTest extends BuildViewTestCase {
private static final Provider.Key XCODE_VERSION_PROPERTIES_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl"),
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl")),
"XcodeVersionPropertiesInfo");
@Test
@@ -92,7 +94,8 @@ def my_rule_impl(ctx):
RuleConfiguredTarget starlarkTarget =
(RuleConfiguredTarget) getConfiguredTarget("//examples/apple_starlark:my_target");
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//examples/rule:apple_rules.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//examples/rule:apple_rules.bzl")), "MyInfo");
StructImpl myInfo = (StructImpl) starlarkTarget.get(key);
assertThat((String) myInfo.getValue("xcode_version")).isEqualTo("8");
assertThat((String) myInfo.getValue("ios_version")).isEqualTo("9.0");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
index 15ab99abd366b6..e77290bfeba9a4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/BUILD
@@ -328,12 +328,12 @@ java_test(
name = "CcToolchainProviderTest",
srcs = ["CcToolchainProviderTest.java"],
deps = [
- "//src/main/java/com/google/devtools/build/lib/analysis:analysis_cluster",
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//src/main/java/com/google/devtools/build/lib/analysis:test/instrumented_files_info",
"//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/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/net/starlark/java/eval",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
@@ -672,6 +672,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
index 292304415244bf..edbd830b55df26 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.cpp;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -92,7 +93,8 @@ def _impl(ctx):
""");
ConfiguredTarget ct = getConfiguredTarget("//test:target");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//test:rule.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:rule.bzl")), "MyInfo");
StructImpl info = (StructImpl) ct.get(key);
assertThat((String) info.getValue("ar_executable")).endsWith("/usr/bin/mock-ar");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java
index d2e4b1f3290baa..4d9175b4526c68 100755
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/StarlarkCcCommonTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.baseArtifactNames;
import static com.google.devtools.build.lib.rules.cpp.SolibSymlinkAction.MAX_FILENAME_LENGTH;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.base.Joiner;
@@ -98,7 +99,8 @@ public void setUp() throws Exception {
private static StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget)
throws LabelSyntaxException {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
@@ -188,7 +190,8 @@ public void testRuntimeLib() throws Exception {
ConfiguredTarget r = getConfiguredTarget("//a:r");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(r.getLabel().getPackageIdentifier(), "rule.bzl"), "CruleInfo");
+ keyForBuild(Label.create(r.getLabel().getPackageIdentifier(), "rule.bzl")),
+ "CruleInfo");
StarlarkInfo cruleInfo = (StarlarkInfo) r.get(key);
Depset staticRuntimeLib = (Depset) cruleInfo.getValue("static");
Depset dynamicRuntimeLib = (Depset) cruleInfo.getValue("dynamic");
@@ -6432,7 +6435,8 @@ public void testObjectsApi() throws Exception {
scratchObjectsProvidingRule();
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//foo:foo.bzl"), "FooInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:foo.bzl")), "FooInfo");
LibraryToLink fooLibrary =
Iterables.getOnlyElement(
getConfiguredTarget("//foo:dep")
@@ -6451,7 +6455,8 @@ public void testObjectsApi() throws Exception {
public void testObjectsApiNeverReturningNones() throws Exception {
scratchObjectsProvidingRule();
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//foo:foo.bzl"), "FooInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:foo.bzl")), "FooInfo");
// Default toolchain is without PIC support, so pic_objects should be None
StarlarkInfo fooInfoForPic =
@@ -6491,7 +6496,8 @@ public void testLtoBitcodeFilesApi() throws Exception {
scratchObjectsProvidingRule();
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//foo:foo.bzl"), "FooInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:foo.bzl")), "FooInfo");
LibraryToLink fooLibrary =
Iterables.getOnlyElement(
getConfiguredTarget("//foo:dep")
@@ -6525,7 +6531,8 @@ public void testLtoBitcodeFilesApiNeverReturningNones() throws Exception {
scratchObjectsProvidingRule();
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//foo:foo.bzl"), "FooInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//foo:foo.bzl")), "FooInfo");
StarlarkInfo fooInfo =
(StarlarkInfo) getConfiguredTarget("//foo:foo").get(StarlarkProviderIdentifier.forKey(key));
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/BUILD b/src/test/java/com/google/devtools/build/lib/rules/java/BUILD
index c6a47905e59500..4c4a50b1690fda 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/BUILD
@@ -86,6 +86,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/net/starlark/java/eval",
"//src/test/java/com/google/devtools/build/lib/actions/util",
@@ -174,6 +175,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils:dumper",
"//src/main/java/com/google/devtools/build/lib/starlarkbuildapi/java",
"//src/main/java/com/google/devtools/build/lib/util:filetype",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java
index d693153c6897b5..ded7a15cb9ddb7 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaInfoStarlarkApiTest.java
@@ -16,6 +16,7 @@
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.prettyArtifactNames;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -1243,7 +1244,8 @@ def _impl(ctx):
StarlarkInfo info =
(StarlarkInfo)
target.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "MyInfo"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "MyInfo"));
assertThat(info).isNotNull();
assertThat(info.getValue("source_jars")).isInstanceOf(Depset.class);
}
@@ -1626,7 +1628,8 @@ private JavaInfo fetchJavaInfo() throws Exception {
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
return JavaInfo.PROVIDER.wrap(info.getValue("property", Info.class));
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java
index 60639e119190b0..68a8d78289e1ac 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/JavaStarlarkApiTest.java
@@ -18,6 +18,7 @@
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.prettyArtifactNames;
import static com.google.devtools.build.lib.rules.java.JavaCompileActionTestHelper.getProcessorNames;
import static com.google.devtools.build.lib.rules.java.JavaCompileActionTestHelper.getProcessorPath;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static com.google.devtools.build.lib.skyframe.serialization.testutils.Dumper.dumpStructure;
import static java.util.Arrays.stream;
@@ -105,7 +106,8 @@ protected void useConfiguration(String... args) throws Exception {
private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
@@ -301,7 +303,7 @@ def impl(ctx):
(StructImpl)
configuredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//java/test:extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//java/test:extension.bzl")), "result"));
Depset transitiveRuntimeJars = ((Depset) info.getValue("transitive_runtime_jars"));
Depset transitiveCompileTimeJars = ((Depset) info.getValue("transitive_compile_time_jars"));
@@ -373,7 +375,7 @@ def impl(ctx):
(StructImpl)
configuredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//java/test:extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//java/test:extension.bzl")), "result"));
@SuppressWarnings("unchecked") // deserialization
StarlarkList javaOutputs = ((StarlarkList) info.getValue("outputs"));
@@ -502,7 +504,7 @@ def impl(ctx):
(StructImpl)
configuredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//java/test:extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//java/test:extension.bzl")), "result"));
JavaRuleOutputJarsProvider outputs =
JavaRuleOutputJarsProvider.fromStarlark(info.getValue("outputs"));
@@ -1207,7 +1209,7 @@ def impl(ctx):
(StructImpl)
configuredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//java/test:extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//java/test:extension.bzl")), "result"));
assertThat(info.getValue("enabled")).isEqualTo(Boolean.TRUE);
assertThat(info.getValue("class_jar")).isNotNull();
@@ -1257,7 +1259,7 @@ private JavaPluginData retrieveStarlarkPluginData(
(StructImpl)
configuredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//" + pkg + ":extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//" + pkg + ":extension.bzl")), "result"));
return JavaPluginData.create(
((Depset) info.getValue("processor_classnames")).getSet(String.class),
@@ -1712,7 +1714,7 @@ def impl(ctx):
(StructImpl)
myConfiguredTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//java/test:extension.bzl"), "result"));
+ keyForBuild(Label.parseCanonical("//java/test:extension.bzl")), "result"));
Depset rawMyCompileJars = (Depset) info.getValue("compile_jars");
Depset rawMyTransitiveRuntimeJars = (Depset) info.getValue("transitive_runtime_jars");
@@ -1769,7 +1771,8 @@ def _impl(ctx):
ConfiguredTarget myRuleTarget = getConfiguredTarget("//foo:r");
ConfiguredTarget javaLibraryTarget = getConfiguredTarget("//foo:jl");
StarlarkProvider.Key myProviderKey =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "my_provider");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "my_provider");
StructImpl declaredProvider = (StructImpl) myRuleTarget.get(myProviderKey);
// attempting to wrap will error out if not a JavaInfo
Object javaProvider = JavaInfo.PROVIDER.wrap(declaredProvider.getValue("p", Info.class));
@@ -2207,7 +2210,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
@SuppressWarnings("unchecked")
Sequence sourceJars = (Sequence) info.getValue("source_jars");
assertThat(prettyArtifactNames(sourceJars)).containsExactly("foo/libmy_java_lib_a-src.jar");
@@ -2260,7 +2264,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
Depset sourceJars = (Depset) info.getValue("property");
@@ -2316,7 +2321,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
Depset sourceJars = (Depset) info.getValue("property");
@@ -2372,7 +2378,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
Depset sourceJars = (Depset) info.getValue("property");
@@ -2447,7 +2454,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
Depset nativeLibs = (Depset) info.getValue("property");
@@ -2694,7 +2702,8 @@ def _impl(ctx):
JavaInfo javaInfo = javaLibraryTarget.get(JavaInfo.PROVIDER);
StarlarkProvider.Key myProviderKey =
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "my_provider");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "my_provider");
StructImpl declaredProvider = (StructImpl) myRuleTarget.get(myProviderKey);
Object nativeLibrariesFromStarlark = declaredProvider.getValue("p");
assertThat(nativeLibrariesFromStarlark)
@@ -2837,7 +2846,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
JavaGenJarsProvider javaGenJarsProvider = JavaGenJarsProvider.from(info.getValue("property"));
@@ -2881,7 +2891,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
JavaCompilationInfoProvider javaCompilationInfoProvider =
JavaCompilationInfoProvider.fromStarlarkCompilationInfo(info.getValue("property"));
@@ -2918,7 +2929,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
ImmutableList javacOptionsList =
JavaHelper.tokenizeJavaOptions(
Depset.cast(info.getValue("property"), String.class, "javac_options"));
@@ -3407,7 +3419,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
configuredTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:rule.bzl")), "result"));
assertThat(((String) info.getValue("strict_java_deps"))).isEqualTo("default");
}
@@ -3438,7 +3451,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
configuredTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:rule.bzl")), "result"));
assertThat(((String) info.getValue("strict_java_deps"))).isEqualTo("error");
}
@@ -3518,7 +3532,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
configuredTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:rule.bzl")), "result"));
JavaToolchainProvider javaToolchainProvider =
JavaToolchainProvider.from((ConfiguredTarget) info.getValue("java_toolchain_label"));
Label javaToolchainLabel = javaToolchainProvider.getToolchainLabel();
@@ -3560,7 +3575,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
configuredTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:rule.bzl")), "result"));
JavaToolchainProvider javaToolchainProvider =
JavaToolchainProvider.from((ConfiguredTarget) info.getValue("java_toolchain_label"));
Label javaToolchainLabel = javaToolchainProvider.getToolchainLabel();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD b/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD
index 367522fd250fdf..04a0e42841e5ac 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/BUILD
@@ -25,6 +25,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-rules",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/test/java/com/google/devtools/build/lib/actions/util",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/packages:testutil",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
index 90ccc2afa09a42..dfc34e4c53396d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/java/proto/StarlarkJavaLiteProtoLibraryTest.java
@@ -19,6 +19,7 @@
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.prettyArtifactNames;
import static com.google.devtools.build.lib.rules.java.JavaCompileActionTestHelper.getDirectJars;
import static com.google.devtools.build.lib.rules.java.JavaCompileActionTestHelper.getJavacArguments;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.eventbus.EventBus;
@@ -577,7 +578,8 @@ def _foo_rule_impl(ctx):
)
""");
ConfiguredTarget target = getConfiguredTarget("//x:foo_rule");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//x:aspect.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//x:aspect.bzl")), "MyInfo");
StructImpl myInfo = (StructImpl) target.get(key);
Boolean result = (Boolean) myInfo.getValue("result");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD b/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD
index 1e0eb0fab49b62..1b7af71c2679dd 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BUILD
@@ -34,6 +34,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/packages",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/vfs",
"//src/main/java/com/google/devtools/build/lib/vfs:pathfragment",
"//src/test/java/com/google/devtools/build/lib/actions/util",
@@ -88,6 +89,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/rules/apple",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/objc",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
"//src/main/java/com/google/devtools/build/lib/util",
"//src/main/java/com/google/devtools/build/lib/vfs",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java
index 9a50770f15ae39..b854631bce5dd1 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java
@@ -18,6 +18,7 @@
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.baseArtifactNames;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.getFirstArtifactEndingWith;
import static com.google.devtools.build.lib.rules.python.PythonTestUtils.getPyLoad;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.common.base.Joiner;
import com.google.common.collect.ImmutableList;
@@ -81,7 +82,7 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest {
private static final Provider.Key starlarkJ2objcMappingFileProviderKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/objc/providers.bzl"),
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/objc/providers.bzl")),
"J2ObjcMappingFileInfo");
private StructImpl getJ2ObjcMappingFileInfoFromTarget(ConfiguredTarget configuredTarget)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
index cb08e7669b00b9..26e21f5336ca76 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcLibraryTest.java
@@ -21,6 +21,7 @@
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.baseArtifactNames;
import static com.google.devtools.build.lib.rules.objc.CompilationSupport.ABSOLUTE_INCLUDES_PATH_FORMAT;
import static com.google.devtools.build.lib.rules.objc.CompilationSupport.BOTH_MODULE_NAME_AND_MODULE_MAP_SPECIFIED;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import static org.junit.Assert.assertThrows;
import com.google.common.base.Joiner;
@@ -1517,7 +1518,8 @@ private StructImpl getJ2ObjcInfoFromTarget(ConfiguredTarget configuredTarget, St
throws Exception {
Provider.Key key =
new StarlarkProvider.Key(
- Label.parseCanonical("@_builtins//:common/objc/providers.bzl"), providerName);
+ keyForBuiltins(Label.parseCanonical("@_builtins//:common/objc/providers.bzl")),
+ providerName);
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
index 5353cce62165fb..185bc5a020f950 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcRuleTestCase.java
@@ -17,6 +17,7 @@
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.getFirstArtifactEndingWith;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.common.base.Joiner;
import com.google.common.base.Optional;
@@ -75,7 +76,8 @@ public abstract class ObjcRuleTestCase extends BuildViewTestCase {
private static final Provider.Key APPLE_EXECUTABLE_BINARY_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/objc/linking_support.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/objc/linking_support.bzl")),
"AppleExecutableBinaryInfo");
@Before
@@ -773,7 +775,8 @@ protected static StarlarkInfo getObjcInfo(ConfiguredTarget starlarkTarget)
return (StarlarkInfo)
starlarkTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("@_builtins//:common/objc/objc_info.bzl"), "ObjcInfo"));
+ keyForBuiltins(Label.parseCanonical("@_builtins//:common/objc/objc_info.bzl")),
+ "ObjcInfo"));
}
protected static ImmutableList getDirectSources(StarlarkInfo provider)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcStarlarkTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcStarlarkTest.java
index 46f7875e7e661d..83ee7b3652d1e4 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcStarlarkTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/ObjcStarlarkTest.java
@@ -15,6 +15,8 @@
package com.google.devtools.build.lib.rules.objc;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
@@ -44,7 +46,8 @@
public class ObjcStarlarkTest extends ObjcRuleTestCase {
private static final Provider.Key APPLE_EXECUTABLE_BINARY_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/objc/linking_support.bzl"),
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/objc/linking_support.bzl")),
"AppleExecutableBinaryInfo");
@Before
@@ -56,7 +59,8 @@ public void setupMyInfo() throws Exception {
private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/XcodeConfigTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/XcodeConfigTest.java
index e98602d85dff17..3b3f003a4dc10b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/objc/XcodeConfigTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/objc/XcodeConfigTest.java
@@ -15,6 +15,8 @@
package com.google.devtools.build.lib.rules.objc;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import static org.junit.Assert.assertThrows;
import com.google.common.collect.ImmutableList;
@@ -46,7 +48,7 @@
public class XcodeConfigTest extends BuildViewTestCase {
private static final Provider.Key XCODE_VERSION_INFO_PROVIDER_KEY =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl"),
+ keyForBuiltins(Label.parseCanonicalUnchecked("@_builtins//:common/xcode/providers.bzl")),
"XcodeVersionInfo");
private final BazelEvaluationTestCase ev = new BazelEvaluationTestCase();
@@ -480,7 +482,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
StructImpl actual = info.getValue("xcode_version", StructImpl.class);
assertThat(
callProviderMethod(actual, "sdk_version_for_platform", ApplePlatform.IOS_DEVICE)
@@ -646,7 +649,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//foo:extension.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//foo:extension.bzl")), "result"));
assertThat(info.getValue("xcode_version").toString()).isEqualTo("1.11");
assertThat(info.getValue("min_os").toString()).isEqualTo("1.8");
}
@@ -1278,7 +1282,8 @@ def _impl(ctx):
useConfiguration(
"--xcode_version_config=//x:c", "--tvos_sdk_version=2.5", "--watchos_minimum_os=4.5");
ConfiguredTarget r = getConfiguredTarget("//x:r");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//x:r.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//x:r.bzl")), "MyInfo");
StructImpl info = (StructImpl) r.get(key);
assertThat(info.getValue("xcode").toString()).isEqualTo("0.0");
@@ -1371,7 +1376,8 @@ def _impl(ctx):
useConfiguration("--xcode_version_config=//x:c");
ConfiguredTarget r = getConfiguredTarget("//x:r");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//x:r.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//x:r.bzl")), "MyInfo");
StructImpl info = (StructImpl) r.get(key);
assertThat((Map, ?>) info.getValue("execution_info"))
.containsKey(ExecutionRequirements.REQUIRES_DARWIN);
@@ -1453,7 +1459,8 @@ def _impl(ctx):
useConfiguration("--xcode_version_config=//x:c");
ConfiguredTarget r = getConfiguredTarget("//x:r");
- Provider.Key key = new StarlarkProvider.Key(Label.parseCanonical("//x:r.bzl"), "MyInfo");
+ Provider.Key key =
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//x:r.bzl")), "MyInfo");
StructImpl info = (StructImpl) r.get(key);
assertThat(info.getValue("xcode").toString()).isEqualTo("8.4");
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
index 88cdeeabdcf13b..24c2afc1dbfc8a 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/BUILD
@@ -28,6 +28,7 @@ java_library(
"//src/main/java/com/google/devtools/build/lib/analysis/platform:utils",
"//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/lib/skyframe:bzl_load_value",
"//src/main/java/net/starlark/java/eval",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//third_party:guava",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintCollectionApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintCollectionApiTest.java
index 587ba355109279..79b7a762085b7b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintCollectionApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintCollectionApiTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.platform;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.platform.ConstraintCollection;
@@ -160,16 +161,15 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//verify:verify.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//verify:verify.bzl")), "result"));
- @SuppressWarnings("unchecked")
ConstraintValueInfo constraintValueFromIndex =
(ConstraintValueInfo) info.getValue("value_from_index");
assertThat(constraintValueFromIndex).isNotNull();
assertThat(constraintValueFromIndex.label())
.isEqualTo(Label.parseCanonicalUnchecked("//foo:value1"));
- @SuppressWarnings("unchecked")
ConstraintValueInfo constraintValueFromGet =
(ConstraintValueInfo) info.getValue("value_from_get");
assertThat(constraintValueFromGet).isNotNull();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
index 52240ca9fdf5d2..058a2be5fa806f 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/ConstraintTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.platform;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.platform.ConstraintSettingInfo;
@@ -206,9 +207,9 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//verify:verify.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//verify:verify.bzl")), "result"));
- @SuppressWarnings("unchecked")
ConstraintValueInfo defaultConstraintValue =
(ConstraintValueInfo) info.getValue("default_value");
assertThat(defaultConstraintValue).isNotNull();
@@ -264,7 +265,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//verify:verify.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//verify:verify.bzl")), "result"));
assertThat(info.getValue("default_value")).isEqualTo(Starlark.NONE);
diff --git a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformConfigurationApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformConfigurationApiTest.java
index 7b010ccb34a8c4..d4f48a7a95fffa 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformConfigurationApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/platform/PlatformConfigurationApiTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.rules.platform;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -63,7 +64,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//verify:verify.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//verify:verify.bzl")), "result"));
Label hostPlatform = (Label) info.getValue("host_platform");
assertThat(hostPlatform).isEqualTo(Label.parseCanonicalUnchecked("//platforms:test_platform"));
@@ -104,7 +106,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//verify:verify.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//verify:verify.bzl")), "result"));
Label targetPlatform = (Label) info.getValue("target_platform");
assertThat(targetPlatform)
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/BUILD b/src/test/java/com/google/devtools/build/lib/rules/proto/BUILD
index f984cc4929e824..f71819947e3486 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/BUILD
@@ -23,6 +23,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:file_provider",
"//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/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/util:os",
"//src/test/java/com/google/devtools/build/lib/actions/util",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
@@ -43,6 +44,7 @@ java_test(
"//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/lib/rules/proto",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/net/starlark/java/syntax",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/packages:testutil",
@@ -82,12 +84,11 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/analysis:configured_target",
"//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/lib/starlarkbuildapi/proto",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/test/java/com/google/devtools/build/lib/actions/util",
"//src/test/java/com/google/devtools/build/lib/analysis/util",
"//src/test/java/com/google/devtools/build/lib/packages:testutil",
"//src/test/java/com/google/devtools/build/lib/testutil:TestConstants",
- "//third_party:guava",
"//third_party:junit4",
"//third_party:truth",
],
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java
index 6fadea5e6c46a8..aa6a6a873e782d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/BazelProtoCommonTest.java
@@ -16,6 +16,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.prettyArtifactNames;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.truth.Correspondence;
import com.google.devtools.build.lib.actions.ResourceSet;
@@ -47,7 +48,8 @@ public class BazelProtoCommonTest extends BuildViewTestCase {
private static final StarlarkProviderIdentifier boolProviderId =
StarlarkProviderIdentifier.forKey(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//foo:should_generate.bzl"), "BoolProvider"));
+ keyForBuild(Label.parseCanonicalUnchecked("//foo:should_generate.bzl")),
+ "BoolProvider"));
@Before
public final void setup() throws Exception {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java
index 9bb79f29b42a1c..3155b862d61e4d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoInfoStarlarkApiTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.proto;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
@@ -53,7 +54,8 @@ public void setUp() throws Exception {
private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java
index 836a2d336698aa..41fb12d737bf54 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainTest.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.rules.proto;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuiltins;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -294,11 +295,11 @@ public void protoLangToolchainProvider_deserialization() throws Exception {
.getProvider(FilesToRunProvider.class);
StarlarkProvider provider =
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
+ .buildExported(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("@_builtins//:common/proto/protoinfo.bzl"),
- "ProtoSourceInfo"))
- .build();
+ keyForBuiltins(
+ Label.parseCanonicalUnchecked("@_builtins//:common/proto/protoinfo.bzl")),
+ "ProtoSourceInfo"));
ImmutableList providedProtoSources =
ImmutableList.of(
StarlarkInfo.create(
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/BUILD b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
index 6c12b78434b6dc..1880a369a218e5 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/BUILD
@@ -153,6 +153,7 @@ java_test(
deps = [
"//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/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils",
"//src/main/java/net/starlark/java/eval",
"//src/main/java/net/starlark/java/syntax",
@@ -355,6 +356,7 @@ java_test(
deps = [
"//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/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils",
"//src/main/java/net/starlark/java/syntax",
"//third_party:junit4",
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/ProviderCodecTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/ProviderCodecTest.java
index d6e07c69a7dbd2..ec2fb051b02f44 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/ProviderCodecTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/ProviderCodecTest.java
@@ -13,6 +13,8 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe.serialization;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
+
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.packages.BuiltinProvider;
import com.google.devtools.build.lib.packages.StarlarkProvider;
@@ -38,9 +40,9 @@ public void objectCodecTests() throws Exception {
new SerializationTester(
dummyProvider,
StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//foo:bar.bzl"), "foo"))
- .build())
+ .buildExported(
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//foo:bar.bzl")), "foo")))
.addDependency(DummyProvider.class, dummyProvider)
.runTests();
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/StarlarkInfoCodecTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/StarlarkInfoCodecTest.java
index 4893a8c1c15452..684eb76dcab5f6 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/serialization/StarlarkInfoCodecTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/serialization/StarlarkInfoCodecTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.skyframe.serialization;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.cmdline.Label;
@@ -56,13 +57,12 @@ private static void verificationFunction(StarlarkInfo original, StarlarkInfo des
.containsExactlyElementsIn(original.getFieldNames())
.inOrder();
}
- ;
/** Returns an exported, schemaless provider. */
private static StarlarkProvider makeProvider() {
return StarlarkProvider.builder(Location.BUILTIN)
- .setExported(
- new StarlarkProvider.Key(Label.parseCanonicalUnchecked("//foo:bar.bzl"), "foo"))
- .build();
+ .buildExported(
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonicalUnchecked("//foo:bar.bzl")), "foo"));
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/BUILD b/src/test/java/com/google/devtools/build/lib/starlark/BUILD
index 6152cfab5ac5e3..c8ee36c3be4813 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/starlark/BUILD
@@ -64,8 +64,8 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/pkgcache",
"//src/main/java/com/google/devtools/build/lib/rules/cpp",
"//src/main/java/com/google/devtools/build/lib/rules/java:java-compilation",
- "//src/main/java/com/google/devtools/build/lib/rules/objc",
"//src/main/java/com/google/devtools/build/lib/skyframe:aspect_key_creator",
+ "//src/main/java/com/google/devtools/build/lib/skyframe:bzl_load_value",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_and_data",
"//src/main/java/com/google/devtools/build/lib/skyframe:configured_target_key",
"//src/main/java/com/google/devtools/build/lib/util",
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
index b6c1758b5c0e73..742bae3e282929 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.starlark;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
@@ -67,7 +68,7 @@ def _impl(target, ctx):
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
StructImpl fooProvider = (StructImpl) configuredAspect.get(fooKey);
assertThat(fooProvider.getValue("actions")).isNotNull();
@@ -150,7 +151,7 @@ def impl(ctx):
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
StructImpl fooProvider = (StructImpl) configuredAspect.get(fooKey);
assertThat(fooProvider.getValue("actions")).isNotNull();
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkDefinedAspectsTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkDefinedAspectsTest.java
index d81878406b9eb9..066f0d1a83d96e 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkDefinedAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkDefinedAspectsTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.devtools.build.lib.analysis.OutputGroupInfo.INTERNAL_SUFFIX;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static java.util.stream.Collectors.toList;
import static org.junit.Assert.assertThrows;
@@ -115,7 +116,7 @@ def _impl(target, ctx):
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
assertThat(configuredAspect.get(fooKey).getProvider().getKey()).isEqualTo(fooKey);
}
@@ -142,9 +143,9 @@ def _impl(target, ctx):
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
StarlarkProvider.Key barKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "bar");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "bar");
assertThat(configuredAspect.get(fooKey).getProvider().getKey()).isEqualTo(fooKey);
assertThat(configuredAspect.get(barKey).getProvider().getKey()).isEqualTo(barKey);
@@ -173,9 +174,9 @@ def _impl(target, ctx):
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key fooKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "foo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "foo");
StarlarkProvider.Key barKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "bar");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "bar");
assertThat(configuredAspect.get(fooKey).getProvider().getKey()).isEqualTo(fooKey);
assertThat(configuredAspect.get(barKey).getProvider().getKey()).isEqualTo(barKey);
@@ -364,7 +365,7 @@ def _rule_impl(ctx):
ConfiguredAspect configuredAspect = analysisResult.getAspectsMap().values().iterator().next();
assertThat(configuredAspect).isNotNull();
StarlarkProvider.Key infoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "Info");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "Info");
Object nameSet = ((StarlarkInfo) configuredAspect.get(infoKey)).getValue("target_labels");
ImmutableList names =
ImmutableList.copyOf(
@@ -2724,7 +2725,7 @@ def _r2_impl(ctx):
ConfiguredAspect configuredAspect =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key p3 =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "p3");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "p3");
StructImpl p3Provider = (StructImpl) configuredAspect.get(p3);
assertThat((Sequence>) p3Provider.getValue("value"))
.containsExactly(
@@ -2791,7 +2792,8 @@ def _rcollect_impl(ctx):
ConfiguredTarget configuredTarget =
Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
StarlarkProvider.Key pCollector =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "PCollector");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "PCollector");
StructImpl pCollectorProvider = (StructImpl) configuredTarget.get(pCollector);
assertThat((Sequence>) pCollectorProvider.getValue("result"))
.containsExactly("@//test:r1", "@//test:r0", "@//test:r0+PAspect");
@@ -2834,7 +2836,8 @@ def _rimpl(ctx):
ConfiguredAspect configuredAspect =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key pCollector =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "PCollector");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "PCollector");
StructImpl collector = (StructImpl) configuredAspect.get(pCollector);
assertThat(collector.getValue("aspect_attr")).isEqualTo(Label.parseCanonical("//test:foo"));
}
@@ -2880,7 +2883,8 @@ def _rimpl(ctx):
ConfiguredAspect configuredAspect =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key pCollector =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "PCollector");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "PCollector");
StructImpl collector = (StructImpl) configuredAspect.get(pCollector);
assertThat(collector.getValue("attr_value")).isEqualTo(StarlarkInt.of(30));
}
@@ -2938,7 +2942,8 @@ def _rimpl(ctx):
ConfiguredAspect configuredAspect =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key pCollector =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "PCollector");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "PCollector");
StructImpl collector = (StructImpl) configuredAspect.get(pCollector);
assertThat(collector.getValue("attr_value")).isEqualTo(StarlarkInt.of(30));
}
@@ -2982,7 +2987,8 @@ def _rimpl(ctx):
ConfiguredAspect configuredAspect =
Iterables.getOnlyElement(analysisResult.getAspectsMap().values());
StarlarkProvider.Key pCollector =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "PCollector");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "PCollector");
StructImpl collector = (StructImpl) configuredAspect.get(pCollector);
assertThat(((Depset) collector.getValue("visited")).toList())
.containsExactly(
@@ -3087,7 +3093,7 @@ def _rule_impl(ctx):
assertThat(configuredAspect).isNotNull();
StarlarkProvider.Key myInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:aspect.bzl"), "MyInfo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:aspect.bzl")), "MyInfo");
StructImpl myInfo = (StructImpl) configuredAspect.get(myInfoKey);
assertThat(myInfo.getValue("hidden_attr_label")).isEqualTo("@//test:zzz");
}
@@ -3249,7 +3255,7 @@ def _dep_rule_impl(ctx):
""");
StarlarkProvider.Key rootInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "RootInfo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:lib.bzl")), "RootInfo");
AnalysisResult analysisResultWithFiles = update("//test:test_with_files");
ConfiguredTarget targetWithFiles =
@@ -3362,9 +3368,11 @@ public void testAspectOnAspectApplyToGeneratingRules_bothPropagate() throws Exce
/* applyRootToGeneratingRules= */ true, /* applyDepToGeneratingRules= */ true);
StarlarkProvider.Key rootInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "RootAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "RootAspectInfo");
StarlarkProvider.Key depInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "DepAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "DepAspectInfo");
AnalysisResult analysisResult = update("//test:test");
ConfiguredTarget target = Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
@@ -3390,9 +3398,11 @@ public void testAspectOnAspectApplyToGeneratingRules_neitherPropagate() throws E
/* applyRootToGeneratingRules= */ false, /* applyDepToGeneratingRules= */ false);
StarlarkProvider.Key rootInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "RootAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "RootAspectInfo");
StarlarkProvider.Key depInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "DepAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "DepAspectInfo");
AnalysisResult analysisResult = update("//test:test");
ConfiguredTarget target = Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
@@ -3412,9 +3422,11 @@ public void testAspectOnAspectApplyToGeneratingRules_rootOnly() throws Exception
/* applyRootToGeneratingRules= */ true, /* applyDepToGeneratingRules= */ false);
StarlarkProvider.Key rootInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "RootAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "RootAspectInfo");
StarlarkProvider.Key depInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "DepAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "DepAspectInfo");
AnalysisResult analysisResult = update("//test:test");
ConfiguredTarget target = Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
@@ -3436,9 +3448,11 @@ public void testAspectOnAspectApplyToGeneratingRules_depOnly() throws Exception
/* applyRootToGeneratingRules= */ false, /* applyDepToGeneratingRules= */ true);
StarlarkProvider.Key rootInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "RootAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "RootAspectInfo");
StarlarkProvider.Key depInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:lib.bzl"), "DepAspectInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:lib.bzl")), "DepAspectInfo");
AnalysisResult analysisResult = update("//test:test");
ConfiguredTarget target = Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
@@ -3931,7 +3945,7 @@ def _my_rule_impl(ctx):
ConfiguredAspect aspectA = getConfiguredAspect(configuredAspects, "aspect_a");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key aResult =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "prov_a");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "prov_a");
StructImpl aResultProvider = (StructImpl) aspectA.get(aResult);
assertThat((Sequence>) aResultProvider.getValue("val"))
.containsExactly(
@@ -3945,7 +3959,7 @@ def _my_rule_impl(ctx):
ConfiguredAspect aspectB = getConfiguredAspect(configuredAspects, "aspect_b");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key bResult =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "prov_b");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "prov_b");
StructImpl bResultProvider = (StructImpl) aspectB.get(bResult);
assertThat((Sequence>) bResultProvider.getValue("val"))
.containsExactly(
@@ -4085,7 +4099,8 @@ def _rule_with_prov_c_impl(ctx):
ConfiguredAspect aspectA = getConfiguredAspect(configuredAspects, "aspect_a");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key aResult =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "aspect_prov_a");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "aspect_prov_a");
StructImpl aResultProvider = (StructImpl) aspectA.get(aResult);
assertThat((Sequence>) aResultProvider.getValue("val"))
.containsExactly(
@@ -4099,7 +4114,8 @@ def _rule_with_prov_c_impl(ctx):
ConfiguredAspect aspectB = getConfiguredAspect(configuredAspects, "aspect_b");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key bResult =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "aspect_prov_b");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "aspect_prov_b");
StructImpl bResultProvider = (StructImpl) aspectB.get(bResult);
assertThat((Sequence>) bResultProvider.getValue("val"))
.containsExactly(
@@ -4220,7 +4236,7 @@ def _rule_3_impl(ctx):
// aspect_c here should get its parameter value from rule_2
ConfiguredTarget target1 = it.next();
StarlarkProvider.Key provAkey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "prov_a");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "prov_a");
StructImpl provA = (StructImpl) target1.get(provAkey);
assertThat((Sequence>) provA.getValue("val"))
.containsExactly(
@@ -4233,7 +4249,7 @@ def _rule_3_impl(ctx):
// aspect_c here should get its parameter value from rule_2
ConfiguredTarget target2 = it.next();
StarlarkProvider.Key provBkey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "prov_b");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "prov_b");
StructImpl provB = (StructImpl) target2.get(provBkey);
assertThat((Sequence>) provB.getValue("val"))
.containsExactly(
@@ -4295,7 +4311,7 @@ def _my_rule_impl(ctx):
ConfiguredAspect aspectA = getConfiguredAspect(configuredAspects, "aspect_a");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key aResult =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "prov_a");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "prov_a");
StructImpl aResultProvider = (StructImpl) aspectA.get(aResult);
assertThat((Sequence>) aResultProvider.getValue("val"))
.containsExactly(
@@ -4376,7 +4392,8 @@ def _dep_rule_impl(ctx):
ConfiguredTarget configuredTarget =
Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
StarlarkProvider.Key requiredAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "RequiredAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "RequiredAspectProv");
StructImpl requiredAspectProvider = (StructImpl) configuredTarget.get(requiredAspectProv);
assertThat(requiredAspectProvider.getValue("p1_val"))
.isEqualTo("In required_aspect, p1 = p1_v1 on target @//test:dep_target");
@@ -4384,7 +4401,8 @@ def _dep_rule_impl(ctx):
.isEqualTo("In required_aspect, p2 not found on target @//test:dep_target");
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProv");
StructImpl baseAspectProvider = (StructImpl) configuredTarget.get(baseAspectProv);
assertThat(baseAspectProvider.getValue("p1_val"))
.isEqualTo("In base_aspect, p1 not found on target @//test:dep_target");
@@ -4455,13 +4473,15 @@ def _dep_rule_impl(ctx):
ConfiguredTarget configuredTarget =
Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
StarlarkProvider.Key requiredAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "RequiredAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "RequiredAspectProv");
StructImpl requiredAspectProvider = (StructImpl) configuredTarget.get(requiredAspectProv);
assertThat(requiredAspectProvider.getValue("p_val"))
.isEqualTo("In required_aspect, p = p_v2 on target @//test:dep_target");
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProv");
StructImpl baseAspectProvider = (StructImpl) configuredTarget.get(baseAspectProv);
assertThat(baseAspectProvider.getValue("p_val"))
.isEqualTo("In base_aspect, p = p_v2 on target @//test:dep_target");
@@ -4570,7 +4590,8 @@ def _dep_rule_impl(ctx):
ConfiguredTarget configuredTarget =
Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProv");
StructImpl baseAspectProvider = (StructImpl) configuredTarget.get(baseAspectProv);
assertThat((Sequence>) baseAspectProvider.getValue("result"))
.containsExactly(
@@ -4697,7 +4718,8 @@ public void testAspectRequiresAspect_inheritRequiredProviders() throws Exception
ConfiguredTarget configuredTarget =
Iterables.getOnlyElement(analysisResult.getTargetsToBuild());
StarlarkProvider.Key collectorProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "CollectorProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "CollectorProv");
StructImpl collectorProvider = (StructImpl) configuredTarget.get(collectorProv);
assertThat((Sequence>) collectorProvider.getValue("result"))
.containsExactly(
@@ -5137,7 +5159,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a3 = getConfiguredAspect(configuredAspects, "a3");
assertThat(a3).isNotNull();
StarlarkProvider.Key a3Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a3_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a3_result");
StructImpl a3ResultProvider = (StructImpl) a3.get(a3Result);
assertThat((Sequence>) a3ResultProvider.getValue("value"))
.containsExactly(
@@ -5147,7 +5169,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a2 = getConfiguredAspect(configuredAspects, "a2");
assertThat(a2).isNotNull();
StarlarkProvider.Key a2Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a2_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a2_result");
StructImpl a2ResultProvider = (StructImpl) a2.get(a2Result);
assertThat((Sequence>) a2ResultProvider.getValue("value"))
.containsExactly(
@@ -5157,7 +5179,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5330,7 +5352,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5402,7 +5424,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5477,7 +5499,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5558,7 +5580,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5656,7 +5678,7 @@ def _rule_with_prov_b_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5753,7 +5775,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a2 = getConfiguredAspect(configuredAspects, "a2");
assertThat(a2).isNotNull();
StarlarkProvider.Key a2Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a2_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a2_result");
StructImpl a2ResultProvider = (StructImpl) a2.get(a2Result);
assertThat((Sequence>) a2ResultProvider.getValue("value"))
.containsExactly(
@@ -5763,7 +5785,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -5888,7 +5910,7 @@ def _r2_impl(ctx):
ConfiguredAspect a3 = getConfiguredAspect(configuredAspects, "a3");
assertThat(a3).isNotNull();
StarlarkProvider.Key a3Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a3_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a3_result");
StructImpl a3ResultProvider = (StructImpl) a3.get(a3Result);
assertThat((Sequence>) a3ResultProvider.getValue("value"))
.containsExactly(
@@ -6043,7 +6065,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -6113,7 +6135,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1Ont1 = getConfiguredAspect(configuredAspects, "a1", "t1");
assertThat(a1Ont1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1Ont1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly("aspect a1 on target @//test:t1 sees a2p = a2p_val");
@@ -6203,7 +6225,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -6301,7 +6323,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a1 = getConfiguredAspect(configuredAspects, "a1");
assertThat(a1).isNotNull();
StarlarkProvider.Key a1Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a1_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a1_result");
StructImpl a1ResultProvider = (StructImpl) a1.get(a1Result);
assertThat((Sequence>) a1ResultProvider.getValue("value"))
.containsExactly(
@@ -6311,7 +6333,7 @@ def _simple_rule_impl(ctx):
ConfiguredAspect a2 = getConfiguredAspect(configuredAspects, "a2");
assertThat(a2).isNotNull();
StarlarkProvider.Key a2Result =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "a2_result");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "a2_result");
StructImpl a2ResultProvider = (StructImpl) a2.get(a2Result);
assertThat((Sequence>) a2ResultProvider.getValue("value"))
.containsExactly(
@@ -6578,7 +6600,8 @@ def _rule_impl(ctx):
ConfiguredAspect requiredAspect = getConfiguredAspect(configuredAspects, "required_aspect");
assertThat(requiredAspect).isNotNull();
StarlarkProvider.Key requiredAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "RequiredAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "RequiredAspectProv");
StructImpl requiredAspectProvider = (StructImpl) requiredAspect.get(requiredAspectProv);
assertThat((Sequence>) requiredAspectProvider.getValue("p_val"))
.containsExactly("In required_aspect, p = main_val on target @//test:main_target");
@@ -6588,7 +6611,8 @@ def _rule_impl(ctx):
ConfiguredAspect baseAspect = getConfiguredAspect(configuredAspects, "base_aspect");
assertThat(baseAspect).isNotNull();
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProv");
StructImpl baseAspectProvider = (StructImpl) baseAspect.get(baseAspectProv);
assertThat((Sequence>) baseAspectProvider.getValue("p_val"))
.containsExactly(
@@ -6690,7 +6714,8 @@ def _my_rule_impl(ctx):
ConfiguredAspect baseAspect = getConfiguredAspect(configuredAspects, "base_aspect");
assertThat(baseAspect).isNotNull();
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProv");
StructImpl baseAspectProvider = (StructImpl) baseAspect.get(baseAspectProv);
assertThat((Sequence>) baseAspectProvider.getValue("result"))
.containsExactly(
@@ -6822,7 +6847,8 @@ def _rule_with_prov_c_impl(ctx):
ConfiguredAspect aspectA = getConfiguredAspect(configuredAspects, "aspect_a");
assertThat(aspectA).isNotNull();
StarlarkProvider.Key collectorProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "CollectorProv");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "CollectorProv");
StructImpl collectorProvider = (StructImpl) aspectA.get(collectorProv);
assertThat((Sequence>) collectorProvider.getValue("result"))
.containsExactly(
@@ -6885,7 +6911,8 @@ def _my_rule_impl(ctx):
ConfiguredAspect baseAspect = getConfiguredAspect(configuredAspects, "base_aspect");
assertThat(baseAspect).isNotNull();
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProvider");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProvider");
StructImpl baseAspectProvider = (StructImpl) baseAspect.get(baseAspectProv);
assertThat(baseAspectProvider.getValue("result"))
.isEqualTo("base_aspect can see required_aspect action");
@@ -6938,7 +6965,8 @@ def _my_rule_impl(ctx):
ConfiguredAspect baseAspect = getConfiguredAspect(configuredAspects, "base_aspect");
assertThat(baseAspect).isNotNull();
StarlarkProvider.Key baseAspectProv =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BaseAspectProvider");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BaseAspectProvider");
StructImpl baseAspectProvider = (StructImpl) baseAspect.get(baseAspectProv);
assertThat((Sequence>) baseAspectProvider.getValue("my_files"))
.containsExactly("base_aspect can see file required_aspect_file");
@@ -7156,7 +7184,7 @@ public void testDependentAspectWithNonExecutableTool_doesNotCrash() throws Excep
assertThat(aspectB).isNotNull();
StarlarkProvider.Key provB =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "BInfo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "BInfo");
assertThat(((StructImpl) aspectB.get(provB)).getValue("value")).isEqualTo("bin");
ConfiguredAspect aspectA =
@@ -7168,7 +7196,7 @@ public void testDependentAspectWithNonExecutableTool_doesNotCrash() throws Excep
assertThat(aspectA).isNotNull();
StarlarkProvider.Key provA =
- new StarlarkProvider.Key(Label.parseCanonical("//test:defs.bzl"), "AInfo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:defs.bzl")), "AInfo");
assertThat(((StructImpl) aspectA.get(provA)).getValue("value")).isEqualTo("@//test:lib");
}
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkIntegrationTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkIntegrationTest.java
index 331bc1e7d9c67c..b048c182e54428 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkIntegrationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkIntegrationTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.devtools.build.lib.analysis.OutputGroupInfo.INTERNAL_SUFFIX;
import static com.google.devtools.build.lib.rules.python.PythonTestUtils.getPyLoad;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.base.Joiner;
@@ -97,7 +98,8 @@ public void setupMyInfo() throws IOException {
private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
@@ -1913,7 +1915,8 @@ def _impl(ctx):
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
+ keyForBuild(
+ Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl")),
"my_provider");
StructImpl declaredProvider = (StructImpl) configuredTarget.get(key);
assertThat(declaredProvider).isNotNull();
@@ -1941,7 +1944,8 @@ def _impl(ctx):
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
+ keyForBuild(
+ Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl")),
"my_provider");
StructImpl declaredProvider = (StructImpl) configuredTarget.get(key);
assertThat(declaredProvider).isNotNull();
@@ -1969,7 +1973,8 @@ def _impl(ctx):
ConfiguredTarget configuredTarget = getConfiguredTarget("//test:r");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl"),
+ keyForBuild(
+ Label.create(configuredTarget.getLabel().getPackageIdentifier(), "extension.bzl")),
"my_provider");
StructImpl declaredProvider = (StructImpl) configuredTarget.get(key);
assertThat(declaredProvider).isNotNull();
@@ -2481,7 +2486,7 @@ def _dep_impl(ctx):
""");
StarlarkProvider.Key pInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:rule.bzl"), "PInfo");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//test:rule.bzl")), "PInfo");
ConfiguredTarget targetXXX = getConfiguredTarget("//test:xxx");
StructImpl structXXX = (StructImpl) targetXXX.get(pInfoKey);
@@ -2754,9 +2759,11 @@ def inner_rule_impl(ctx):
""");
StarlarkProvider.Key myInfoKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:extension.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:extension.bzl")), "MyInfo");
StarlarkProvider.Key myDepKey =
- new StarlarkProvider.Key(Label.parseCanonical("//test:extension.bzl"), "MyDep");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:extension.bzl")), "MyDep");
ConfiguredTarget outerTarget = getConfiguredTarget("//test:r");
StructImpl outerInfo = (StructImpl) outerTarget.get(myInfoKey);
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java
index 187cd6d0815293..0963364cee8850 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleClassFunctionsTest.java
@@ -18,6 +18,7 @@
import static com.google.devtools.build.lib.analysis.testing.ExecGroupSubject.assertThat;
import static com.google.devtools.build.lib.analysis.testing.RuleClassSubject.assertThat;
import static com.google.devtools.build.lib.analysis.testing.StarlarkDefinedAspectSubject.assertThat;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.base.Joiner;
@@ -839,7 +840,8 @@ private static StarlarkProviderIdentifier legacy(String legacyId) {
}
private static StarlarkProviderIdentifier declared(String exportedName) {
- return StarlarkProviderIdentifier.forKey(new StarlarkProvider.Key(FAKE_LABEL, exportedName));
+ return StarlarkProviderIdentifier.forKey(
+ new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), exportedName));
}
@Test
@@ -2212,7 +2214,8 @@ public void declaredProviders() throws Exception {
assertThat(data.getProvider()).isEqualTo(dataConstructor);
assertThat(dataConstructor.isExported()).isTrue();
assertThat(dataConstructor.getPrintableName()).isEqualTo("data");
- assertThat(dataConstructor.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "data"));
+ assertThat(dataConstructor.getKey())
+ .isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "data"));
}
@Test
@@ -2278,7 +2281,8 @@ public void declaredProvidersWithInit() throws Exception {
assertThat(data3.getProvider()).isEqualTo(dataConstructor);
assertThat(dataConstructor.isExported()).isTrue();
assertThat(dataConstructor.getPrintableName()).isEqualTo("data");
- assertThat(dataConstructor.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "data"));
+ assertThat(dataConstructor.getKey())
+ .isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "data"));
}
@Test
@@ -2743,9 +2747,9 @@ public void fancyExports() throws Exception {
StarlarkDefinedAspect a = (StarlarkDefinedAspect) ev.lookup("a");
StarlarkProvider p1 = (StarlarkProvider) ev.lookup("p1");
assertThat(p.getPrintableName()).isEqualTo("p");
- assertThat(p.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "p"));
+ assertThat(p.getKey()).isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "p"));
assertThat(p1.getPrintableName()).isEqualTo("p1");
- assertThat(p1.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "p1"));
+ assertThat(p1.getKey()).isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "p1"));
assertThat(a.getAspectClass()).isEqualTo(new StarlarkAspectClass(FAKE_LABEL, "a"));
}
@@ -2758,8 +2762,8 @@ public void multipleTopLevels() throws Exception {
StarlarkProvider p = (StarlarkProvider) ev.lookup("p");
StarlarkProvider p1 = (StarlarkProvider) ev.lookup("p1");
assertThat(p).isEqualTo(p1);
- assertThat(p.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "p"));
- assertThat(p1.getKey()).isEqualTo(new StarlarkProvider.Key(FAKE_LABEL, "p"));
+ assertThat(p.getKey()).isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "p"));
+ assertThat(p1.getKey()).isEqualTo(new StarlarkProvider.Key(keyForBuild(FAKE_LABEL), "p"));
}
@Test
@@ -3395,7 +3399,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat((List) info.getValue("srcs")).containsExactly("initializer_testing/a.ml");
assertThat((List) info.getValue("deps")).containsExactly("@@//:initial", "@@//:added");
@@ -3497,7 +3501,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat(((Map>) info.getValue("dict")).keySet()).containsExactly("k");
assertThat(((Map>) info.getValue("dict")).get("k")).containsExactly("val");
@@ -3545,7 +3549,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat(((Map) info.getValue("dict")).keySet())
.containsExactly(key);
@@ -3590,7 +3594,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat((StarlarkInt) info.getValue("tristate")).isEqualTo(StarlarkInt.of(1));
}
@@ -3679,7 +3683,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat((List) info.getValue("srcs"))
.containsExactly("initializer_testing/a.ml", "initializer_testing/b.ml");
@@ -3762,7 +3766,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat((List) info.getValue("deps")).containsExactly("@@//:initializer_default");
}
@@ -3808,7 +3812,7 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing:b.bzl")), "MyInfo"));
assertThat((List) info.getValue("deps")).containsExactly("@@//:attr_default");
}
@@ -4085,7 +4089,8 @@ def impl(ctx):
(StructImpl)
myTarget.get(
new StarlarkProvider.Key(
- Label.parseCanonical("//initializer_testing/builtins:b.bzl"), "MyInfo"));
+ keyForBuild(Label.parseCanonical("//initializer_testing/builtins:b.bzl")),
+ "MyInfo"));
assertThat(info.getValue("_tool").toString())
.isEqualTo("@@//initializer_testing/builtins:my_tool");
@@ -4344,7 +4349,8 @@ def _impl(ctx):
Rule rule = getRuleContext(myTarget).getRule();
StarlarkProvider.Key myInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing:child.bzl"), "MyInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing:child.bzl")),
+ "MyInfo");
StarlarkInfo myInfo = (StarlarkInfo) myTarget.get(myInfoKey);
assertNoEvents();
@@ -4367,7 +4373,8 @@ def _impl(ctx):
.containsExactly("dep");
StarlarkProvider.Key parentInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl"), "ParentInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl")),
+ "ParentInfo");
assertThat(myTarget.get(parentInfoKey)).isNotNull();
}
@@ -4446,7 +4453,8 @@ def _impl(ctx):
Rule rule = getRuleContext(myTarget).getRule();
StarlarkProvider.Key myInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing:child.bzl"), "ChildInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing:child.bzl")),
+ "ChildInfo");
StarlarkInfo myInfo = (StarlarkInfo) myTarget.get(myInfoKey);
assertNoEvents();
@@ -4470,7 +4478,8 @@ def _impl(ctx):
.containsExactly("runtime_dep");
StarlarkProvider.Key parentInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl"), "ParentInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl")),
+ "ParentInfo");
assertThat(myTarget.get(parentInfoKey)).isNotNull();
}
@@ -4619,13 +4628,17 @@ def _impl(ctx):
ConfiguredTarget myTarget = getConfiguredTarget("//extend_rule_testing:my_target");
StarlarkProvider.Key myInfo1Key =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing:first_extension.bzl"), "MyInfo1");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing:first_extension.bzl")),
+ "MyInfo1");
StarlarkProvider.Key myInfo2Key =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing:second_extension.bzl"), "MyInfo2");
+ keyForBuild(
+ Label.parseCanonicalUnchecked("//extend_rule_testing:second_extension.bzl")),
+ "MyInfo2");
StarlarkProvider.Key parentInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl"), "ParentInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl")),
+ "ParentInfo");
assertThat(myTarget.get(myInfo1Key)).isNotNull();
assertThat(myTarget.get(myInfo2Key)).isNotNull();
@@ -4903,7 +4916,8 @@ def _impl(ctx):
ConfiguredTarget myTarget = getConfiguredTarget("//extend_rule_testing:my_target");
StarlarkProvider.Key parentInfoKey =
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl"), "ParentInfo");
+ keyForBuild(Label.parseCanonicalUnchecked("//extend_rule_testing/parent:parent.bzl")),
+ "ParentInfo");
StarlarkInfo parentInfo = (StarlarkInfo) myTarget.get(parentInfoKey);
assertNoEvents();
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
index 6d0e74db92070f..27d6d0556b2486 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleContextTest.java
@@ -19,6 +19,7 @@
import static com.google.devtools.build.lib.packages.BuildType.LABEL_LIST;
import static com.google.devtools.build.lib.packages.ExecGroup.DEFAULT_EXEC_GROUP_NAME;
import static com.google.devtools.build.lib.rules.python.PythonTestUtils.getPyLoad;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import com.google.common.base.Joiner;
@@ -3195,7 +3196,7 @@ def _impl(ctx):
ConfiguredTarget a = getConfiguredTarget("//a");
StarlarkProvider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//a:a.bzl"), "key_provider");
+ new StarlarkProvider.Key(keyForBuild(Label.parseCanonical("//a:a.bzl")), "key_provider");
StarlarkInfo keyInfo = (StarlarkInfo) a.get(key);
Sequence> keys = (Sequence) keyInfo.getValue("keys");
@@ -3231,7 +3232,8 @@ public void testBuildSettingValue_explicitlySet() throws Exception {
ConfiguredTarget buildSetting = getConfiguredTarget("//test:int_flag");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
StructImpl buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3245,7 +3247,8 @@ public void testBuildSettingValue_defaultFallback() throws Exception {
ConfiguredTarget buildSetting = getConfiguredTarget("//test:int_flag");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
StructImpl buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3278,7 +3281,8 @@ def _impl(ctx):
ConfiguredTarget buildSetting = getConfiguredTarget("//test:string_flag");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
StructImpl buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3291,7 +3295,8 @@ def _impl(ctx):
buildSetting = getConfiguredTarget("//test:string_flag");
key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3326,7 +3331,8 @@ def _impl(ctx):
ConfiguredTarget buildSetting = getConfiguredTarget("//test:string_list_flag");
Provider.Key key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
StructImpl buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3340,7 +3346,8 @@ def _impl(ctx):
buildSetting = getConfiguredTarget("//test:string_list_flag");
key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3356,7 +3363,8 @@ def _impl(ctx):
buildSetting = getConfiguredTarget("//test:string_list_flag");
key =
new StarlarkProvider.Key(
- Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl"),
+ keyForBuild(
+ Label.create(buildSetting.getLabel().getPackageIdentifier(), "build_setting.bzl")),
"BuildSettingInfo");
buildSettingInfo = (StructImpl) buildSetting.get(key);
@@ -3478,7 +3486,8 @@ private String getToolchainResult(String targetName) throws Exception {
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//rule:test_rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//rule:test_rule.bzl")), "result"));
assertThat(info).isNotNull();
return (String) info.getValue("value_from_toolchain");
@@ -3547,7 +3556,8 @@ def _impl(ctx):
StructImpl info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//demo:test_rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//demo:test_rule.bzl")), "result"));
assertThat(info).isNotNull();
boolean hasConstraint = (boolean) info.getValue("has_constraint");
@@ -3559,7 +3569,8 @@ def _impl(ctx):
info =
(StructImpl)
myRuleTarget.get(
- new StarlarkProvider.Key(Label.parseCanonical("//demo:test_rule.bzl"), "result"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//demo:test_rule.bzl")), "result"));
assertThat(info).isNotNull();
hasConstraint = (boolean) info.getValue("has_constraint");
@@ -3607,7 +3618,7 @@ public void testExecGroup_toolchain() throws Exception {
(StructImpl)
target.get(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//something:defs.bzl"), "result"));
+ keyForBuild(Label.parseCanonicalUnchecked("//something:defs.bzl")), "result"));
assertThat(info).isNotNull();
assertThat(info.getValue("toolchain_value")).isEqualTo("foo");
assertThat(info.getValue("exec_groups")).isInstanceOf(StarlarkExecGroupCollection.class);
@@ -3666,7 +3677,7 @@ def _impl(ctx):
(StructImpl)
target.get(
new StarlarkProvider.Key(
- Label.parseCanonicalUnchecked("//something:defs.bzl"), "result"));
+ keyForBuild(Label.parseCanonicalUnchecked("//something:defs.bzl")), "result"));
assertThat(info).isNotNull();
assertThat(info.getValue("toolchain_value")).isEqualTo("foo");
assertThat(info.getValue("exec_groups")).isInstanceOf(StarlarkExecGroupCollection.class);
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleImplementationFunctionsTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleImplementationFunctionsTest.java
index 49859884f4fdaf..83d649231a8b64 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleImplementationFunctionsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkRuleImplementationFunctionsTest.java
@@ -18,6 +18,7 @@
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.devtools.build.lib.bazel.bzlmod.BzlmodTestUtil.createModuleKey;
+import static com.google.devtools.build.lib.skyframe.BzlLoadValue.keyForBuild;
import static org.junit.Assert.assertThrows;
import static org.junit.Assert.fail;
@@ -192,7 +193,8 @@ private static void assertArtifactFilenames(Iterable artifacts, String
private StructImpl getMyInfoFromTarget(ConfiguredTarget configuredTarget) throws Exception {
Provider.Key key =
- new StarlarkProvider.Key(Label.parseCanonical("//myinfo:myinfo.bzl"), "MyInfo");
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//myinfo:myinfo.bzl")), "MyInfo");
return (StructImpl) configuredTarget.get(key);
}
@@ -1473,7 +1475,8 @@ def _impl(ctx):
assertThat(provider).isInstanceOf(StructImpl.class);
assertThat(((StructImpl) provider).getProvider().getKey())
.isEqualTo(
- new StarlarkProvider.Key(Label.parseCanonical("//test:foo.bzl"), "foo_provider"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:foo.bzl")), "foo_provider"));
}
@Test
@@ -1520,7 +1523,9 @@ def _impl(ctx):
Object provider = getMyInfoFromTarget(configuredTarget).getValue("proxy");
assertThat(provider).isInstanceOf(StructImpl.class);
assertThat(((StructImpl) provider).getProvider().getKey())
- .isEqualTo(new StarlarkProvider.Key(Label.parseCanonical("//test:foo.bzl"), "FooInfo"));
+ .isEqualTo(
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:foo.bzl")), "FooInfo"));
}
@Test
@@ -1659,7 +1664,8 @@ def _impl(ctx):
assertThat(provider).isInstanceOf(StructImpl.class);
assertThat(((StructImpl) provider).getProvider().getKey())
.isEqualTo(
- new StarlarkProvider.Key(Label.parseCanonical("//test:foo.bzl"), "foo_provider"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:foo.bzl")), "foo_provider"));
assertThat(((StructImpl) provider).getValue("a")).isEqualTo(StarlarkInt.of(123));
}
@@ -1712,7 +1718,8 @@ def _impl(ctx):
assertThat(provider).isInstanceOf(StructImpl.class);
assertThat(((StructImpl) provider).getProvider().getKey())
.isEqualTo(
- new StarlarkProvider.Key(Label.parseCanonical("//test:foo.bzl"), "foo_provider"));
+ new StarlarkProvider.Key(
+ keyForBuild(Label.parseCanonical("//test:foo.bzl")), "foo_provider"));
}
@Test