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