Add a type variable to SkylarkRuleContext in order to use the correct subtype of ConstraintValueInfoApi. The use of the new constraint will be in a future change. Part of the work on #10368. PiperOrigin-RevId: 285408832
diff --git a/src/main/java/com/google/devtools/build/lib/BUILD b/src/main/java/com/google/devtools/build/lib/BUILD index 9858053..875cf24 100644 --- a/src/main/java/com/google/devtools/build/lib/BUILD +++ b/src/main/java/com/google/devtools/build/lib/BUILD
@@ -734,6 +734,7 @@ ":testing-support-rules", ":util", "//src/main/java/com/google/devtools/build/lib/actions", + "//src/main/java/com/google/devtools/build/lib/analysis/platform", "//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/concurrent",
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java index 0e94497..8d9ba30 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java
@@ -50,6 +50,7 @@ import com.google.devtools.build.lib.analysis.config.HostTransition; import com.google.devtools.build.lib.analysis.config.transitions.NoTransition; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.stringtemplate.ExpansionException; import com.google.devtools.build.lib.analysis.test.InstrumentedFilesCollector; import com.google.devtools.build.lib.analysis.test.InstrumentedFilesInfo; @@ -109,7 +110,7 @@ * object and makes it impossible to accidentally use this object where it's not supposed to be used * (such attempts will result in {@link EvalException}s). */ -public final class SkylarkRuleContext implements SkylarkRuleContextApi { +public final class SkylarkRuleContext implements SkylarkRuleContextApi<ConstraintValueInfo> { public static final Function<Attribute, Object> ATTRIBUTE_VALUE_EXTRACTOR_FOR_ASPECT = new Function<Attribute, Object>() {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java index 41abeca..e80cd5c 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/CoverageCommon.java
@@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.analysis.RuleContext; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; import com.google.devtools.build.lib.analysis.test.InstrumentedFilesCollector.InstrumentationSpec; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; @@ -34,7 +35,7 @@ import javax.annotation.Nullable; /** Helper functions for Starlark to access coverage-related infrastructure. */ -public class CoverageCommon implements CoverageCommonApi<SkylarkRuleContext> { +public class CoverageCommon implements CoverageCommonApi<ConstraintValueInfo, SkylarkRuleContext> { @Override @SuppressWarnings("unchecked") // Casting extensions param is verified by Starlark interpreter.
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java index 8edcef9..7ce69c8 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCcModule.java
@@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkActionFactory; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; import com.google.devtools.build.lib.events.Location; @@ -48,6 +49,7 @@ implements BazelCcModuleApi< SkylarkActionFactory, Artifact, + ConstraintValueInfo, SkylarkRuleContext, CcToolchainProvider, FeatureConfigurationForStarlark,
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 a1a2843..c707012 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
@@ -51,6 +51,7 @@ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//src/main/java/com/google/devtools/build/lib/vfs", "//src/main/java/com/google/devtools/build/skyframe", "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java index 2bd4929..65d8990 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcModule.java
@@ -24,6 +24,7 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.config.BuildOptions; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.platform.ToolchainInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkActionFactory; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; @@ -92,6 +93,7 @@ CcLinkingContext, LibraryToLink, CcToolchainVariables, + ConstraintValueInfo, SkylarkRuleContext, CcToolchainConfigInfo, CcCompilationOutputs> {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java index 0ea3b08..4b563d7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/GoogleLegacyStubs.java
@@ -35,6 +35,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.go.GoConfigurationApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoContextInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoPackageInfoApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Depset; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Printer; @@ -52,7 +53,8 @@ private static class WrapCcHelper implements WrapCcHelperApi< FeatureConfigurationApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcToolchainProviderApi<FeatureConfigurationApi>, CompilationInfoApi, FileApi, @@ -61,20 +63,21 @@ @Override public FeatureConfigurationApi skylarkGetFeatureConfiguration( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain) throws EvalException, InterruptedException { return null; } @Override - public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextApi skylarkRuleContext) { + public Depset skylarkCollectTransitiveSwigIncludes( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @Override public CompilationInfoApi skylarkCreateCompileActions( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FeatureConfigurationApi featureConfiguration, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FileApi ccFile, @@ -86,21 +89,22 @@ } @Override - public String skylarkGetMangledTargetName(SkylarkRuleContextApi skylarkRuleContext) + public String skylarkGetMangledTargetName( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) throws EvalException, InterruptedException { return null; } @Override public WrapCcIncludeProviderApi getWrapCcIncludeProvider( - SkylarkRuleContextApi skylarkRuleContext, Depset swigIncludes) + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Depset swigIncludes) throws EvalException, InterruptedException { return null; } @Override public void registerSwigAction( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FeatureConfigurationApi featureConfiguration, CcCompilationContextApi wrapperCcCompilationContext, @@ -125,7 +129,8 @@ public static class PyWrapCcHelper extends WrapCcHelper implements PyWrapCcHelperApi< FileApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcInfoApi, FeatureConfigurationApi, CcToolchainProviderApi<FeatureConfigurationApi>, @@ -134,25 +139,26 @@ WrapCcIncludeProviderApi> { @Override - public Sequence<String> getPyExtensionLinkopts(SkylarkRuleContextApi skylarkRuleContext) { + public Sequence<String> getPyExtensionLinkopts( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @Override public Depset getTransitivePythonSources( - SkylarkRuleContextApi skylarkRuleContext, FileApi pyFile) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi pyFile) { return null; } @Override public RunfilesApi getPythonRunfiles( - SkylarkRuleContextApi skylarkRuleContext, Depset filesToBuild) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Depset filesToBuild) { return null; } @Override public PyWrapCcInfoApi getPyWrapCcInfo( - SkylarkRuleContextApi skylarkRuleContext, CcInfoApi ccInfo) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcInfoApi ccInfo) { return null; } } @@ -164,7 +170,8 @@ public static class GoWrapCcHelper extends WrapCcHelper implements GoWrapCcHelperApi< FileApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcInfoApi, FeatureConfigurationApi, CcToolchainProviderApi<FeatureConfigurationApi>, @@ -177,7 +184,8 @@ WrapCcIncludeProviderApi> { @Override - public RunfilesApi skylarkGetGoRunfiles(SkylarkRuleContextApi skylarkRuleContext) { + public RunfilesApi skylarkGetGoRunfiles( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @@ -188,7 +196,7 @@ @Override public GoContextInfoApi skylarkCollectTransitiveGoContextGopkg( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi export, FileApi pkg, FileApi gopkg, @@ -199,19 +207,20 @@ @Override public GoWrapCcInfoApi getGoWrapCcInfo( - SkylarkRuleContextApi skylarkRuleContext, CcInfoApi ccInfo) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcInfoApi ccInfo) { return null; } @Override public GoCcLinkParamsInfoApi getGoCcLinkParamsProvider( - SkylarkRuleContextApi ruleContext, CcLinkingContextApi<FileApi> ccLinkingContext) { + SkylarkRuleContextApi<ConstraintValueInfoApi> ruleContext, + CcLinkingContextApi<FileApi> ccLinkingContext) { return null; } @Override public Tuple<FileApi> createGoCompileActions( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchainProvider, Sequence<?> srcs, // <FileApi> Sequence<?> deps /* <TransitiveInfoCollectionApi> */) { @@ -220,7 +229,7 @@ @Override public Tuple<FileApi> createGoCompileActionsGopkg( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchainProvider, Sequence<?> srcs, // <FileApi> Sequence<?> deps /* <TransitiveInfoCollectionApi> */) { @@ -229,7 +238,7 @@ @Override public GoPackageInfoApi createTransitiveGopackageInfo( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi skylarkGopkg, FileApi export, FileApi swigOutGo) { @@ -238,7 +247,7 @@ @Override public Depset /*<FileApi>*/ getGopackageFilesForStarlark( - SkylarkRuleContextApi skylarkRuleContext, FileApi skylarkGopkg) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi skylarkGopkg) { return null; } }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java index ce6c6f9..1fe93ca 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaSkylarkCommon.java
@@ -16,6 +16,7 @@ import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.PlatformOptions; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.platform.ToolchainInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkActionFactory; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; @@ -39,6 +40,7 @@ JavaInfo, JavaToolchainProvider, JavaRuntimeInfo, + ConstraintValueInfo, SkylarkRuleContext, SkylarkActionFactory> { private final JavaSemantics javaSemantics;
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoSkylarkCommon.java index 6d4b5a5..f74dea9 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoSkylarkCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoSkylarkCommon.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.TransitiveInfoCollection; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; import com.google.devtools.build.lib.rules.java.JavaCompilationArgsProvider; import com.google.devtools.build.lib.rules.java.JavaInfo; @@ -33,7 +34,8 @@ /** A class that exposes Java common methods for proto compilation. */ public class JavaProtoSkylarkCommon - implements JavaProtoCommonApi<Artifact, SkylarkRuleContext, ConfiguredTarget> { + implements JavaProtoCommonApi< + Artifact, ConstraintValueInfo, SkylarkRuleContext, ConfiguredTarget> { @Override public void createProtoCompileAction( SkylarkRuleContext skylarkRuleContext,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java index b93aaad..f4d502e 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleSkylarkCommon.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException; import com.google.devtools.build.lib.analysis.RuleContext; +import com.google.devtools.build.lib.analysis.platform.ConstraintValueInfo; import com.google.devtools.build.lib.analysis.skylark.SkylarkRuleContext; import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.events.Location; @@ -39,7 +40,6 @@ import com.google.devtools.build.lib.rules.apple.XcodeVersionProperties; import com.google.devtools.build.lib.rules.objc.AppleBinary.AppleBinaryOutput; import com.google.devtools.build.lib.rules.objc.ObjcProvider.Key; -import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; import com.google.devtools.build.lib.skylarkbuildapi.SplitTransitionProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleCommonApi; import com.google.devtools.build.lib.syntax.Depset; @@ -54,7 +54,13 @@ /** A class that exposes apple rule implementation internals to skylark. */ public class AppleSkylarkCommon - implements AppleCommonApi<Artifact, ObjcProvider, XcodeConfigInfo, ApplePlatform> { + implements AppleCommonApi< + Artifact, + ConstraintValueInfo, + SkylarkRuleContext, + ObjcProvider, + XcodeConfigInfo, + ApplePlatform> { @VisibleForTesting public static final String BAD_KEY_ERROR = "Argument %s not a recognized key, 'providers'," @@ -215,12 +221,11 @@ @Override public StructImpl linkMultiArchBinary( - SkylarkRuleContextApi skylarkRuleContextApi, + SkylarkRuleContext skylarkRuleContext, Sequence<?> extraLinkopts, Sequence<?> extraLinkInputs, StarlarkThread thread) throws EvalException, InterruptedException { - SkylarkRuleContext skylarkRuleContext = (SkylarkRuleContext) skylarkRuleContextApi; try { RuleContext ruleContext = skylarkRuleContext.getRuleContext(); AppleBinaryOutput appleBinaryOutput =
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java index eca673f..4fa981a 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/SkylarkRuleContextApi.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.core.StructApi; import com.google.devtools.build.lib.skylarkbuildapi.core.TransitiveInfoCollectionApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.platform.ToolchainContextApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; @@ -53,7 +54,8 @@ + " associated function. See the <a" + " href='../rules.$DOC_EXT#implementation-function'>Rules page</a> for more " + "information.") -public interface SkylarkRuleContextApi extends StarlarkValue { +public interface SkylarkRuleContextApi<ConstraintValueT extends ConstraintValueInfoApi> + extends StarlarkValue { String DOC_NEW_FILE_TAIL = "Does not actually create a file on the file system, just declares that some action will do"
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBootstrap.java index 139d8dd..c9ed78a 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBootstrap.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleBootstrap.java
@@ -22,9 +22,9 @@ */ public class AppleBootstrap implements Bootstrap { - private final AppleCommonApi<?, ?, ?, ?> appleCommon; + private final AppleCommonApi<?, ?, ?, ?, ?, ?> appleCommon; - public AppleBootstrap(AppleCommonApi<?, ?, ?, ?> appleCommon) { + public AppleBootstrap(AppleCommonApi<?, ?, ?, ?, ?, ?> appleCommon) { this.appleCommon = appleCommon; }
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java index d8b64ce..5bce841 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/AppleCommonApi.java
@@ -22,6 +22,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.apple.AppleStaticLibraryInfoApi.AppleStaticLibraryInfoProvider; import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.core.StructApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -38,6 +39,8 @@ doc = "Functions for Starlark to access internals of the apple rule implementations.") public interface AppleCommonApi< FileApiT extends FileApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, ObjcProviderApiT extends ObjcProviderApi<?>, XcodeConfigInfoApiT extends XcodeConfigInfoApi<?, ?>, ApplePlatformApiT extends ApplePlatformApi> @@ -361,7 +364,7 @@ useStarlarkThread = true) // TODO(b/70937317): Iterate on, improve, and solidify this API. StructApi linkMultiArchBinary( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextT skylarkRuleContext, Sequence<?> extraLinkopts, // <String> expected. Sequence<?> extraLinkInputs, // <? extends FileApi> expected. StarlarkThread thread)
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/BUILD b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/BUILD index eaa26ec..13372c3 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/BUILD +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple/BUILD
@@ -25,6 +25,7 @@ "//src/main/java/com/google/devtools/build/lib:syntax", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//third_party:guava", "//third_party:jsr305", ],
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java index dfb166e..0ec433a 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/BazelCcModuleApi.java
@@ -18,6 +18,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.FileApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkActionFactoryApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -36,7 +37,8 @@ public interface BazelCcModuleApi< SkylarkActionFactoryT extends SkylarkActionFactoryApi, FileT extends FileApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, CcToolchainProviderT extends CcToolchainProviderApi<FeatureConfigurationT>, FeatureConfigurationT extends FeatureConfigurationApi, CompilationContextT extends CcCompilationContextApi, @@ -57,6 +59,7 @@ LinkingContextT, LibraryToLinkT, CcToolchainVariablesT, + ConstraintValueT, SkylarkRuleContextT, CcToolchainConfigInfoT, CompilationOutputsT> {
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcBootstrap.java index 2909131..09c160b 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcBootstrap.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcBootstrap.java
@@ -19,6 +19,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.SkylarkActionFactoryApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; import com.google.devtools.build.lib.skylarkbuildapi.core.Bootstrap; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.FlagGuardedValue; import com.google.devtools.build.lib.syntax.StarlarkSemantics.FlagIdentifier; @@ -37,15 +38,16 @@ ? extends CcLinkingContextApi<? extends FileApi>, ? extends LibraryToLinkApi<? extends FileApi>, ? extends CcToolchainVariablesApi, - ? extends SkylarkRuleContextApi, + ? extends ConstraintValueInfoApi, + ? extends SkylarkRuleContextApi<? extends ConstraintValueInfoApi>, ? extends CcToolchainConfigInfoApi, ? extends CcCompilationOutputsApi<? extends FileApi>> ccModule; private final CcInfoApi.Provider ccInfoProvider; private final CcToolchainConfigInfoApi.Provider ccToolchainConfigInfoProvider; - private final PyWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?> pyWrapCcHelper; - private final GoWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> goWrapCcHelper; + private final PyWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?> pyWrapCcHelper; + private final GoWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> goWrapCcHelper; private final PyWrapCcInfoApi.Provider pyWrapCcInfoProvider; private final PyCcLinkParamsProviderApi.Provider pyCcLinkInfoParamsInfoProvider; @@ -61,14 +63,15 @@ ? extends CcLinkingContextApi<? extends FileApi>, ? extends LibraryToLinkApi<? extends FileApi>, ? extends CcToolchainVariablesApi, - ? extends SkylarkRuleContextApi, + ? extends ConstraintValueInfoApi, + ? extends SkylarkRuleContextApi<? extends ConstraintValueInfoApi>, ? extends CcToolchainConfigInfoApi, ? extends CcCompilationOutputsApi<? extends FileApi>> ccModule, CcInfoApi.Provider ccInfoProvider, CcToolchainConfigInfoApi.Provider ccToolchainConfigInfoProvider, - PyWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?> pyWrapCcHelper, - GoWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> goWrapCcHelper, + PyWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?> pyWrapCcHelper, + GoWrapCcHelperApi<?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?> goWrapCcHelper, PyWrapCcInfoApi.Provider pyWrapCcInfoProvider, PyCcLinkParamsProviderApi.Provider pyCcLinkInfoParamsInfoProvider) { this.ccModule = ccModule;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java index a5bdf32..d21d881 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/CcModuleApi.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.SkylarkActionFactoryApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -48,7 +49,8 @@ LinkingContextT extends CcLinkingContextApi<?>, LibraryToLinkT extends LibraryToLinkApi<FileT>, CcToolchainVariablesT extends CcToolchainVariablesApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, CcToolchainConfigInfoT extends CcToolchainConfigInfoApi, CompilationOutputsT extends CcCompilationOutputsApi<FileT>> extends StarlarkValue {
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java index cded84b..24d1b35 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/GoWrapCcHelperApi.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.go.GoConfigurationApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoContextInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoPackageInfoApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -44,7 +45,8 @@ category = SkylarkModuleCategory.TOP_LEVEL_TYPE) public interface GoWrapCcHelperApi< FileT extends FileApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, CcInfoT extends CcInfoApi, FeatureConfigurationT extends FeatureConfigurationApi, CcToolchainProviderT extends CcToolchainProviderApi<FeatureConfigurationT>, @@ -57,6 +59,7 @@ WrapCcIncludeProviderT extends WrapCcIncludeProviderApi> extends WrapCcHelperApi< FeatureConfigurationT, + ConstraintValueT, SkylarkRuleContextT, CcToolchainProviderT, CompilationInfoT,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java index 73b2157..5800034 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/PyWrapCcHelperApi.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.FileApi; import com.google.devtools.build.lib.skylarkbuildapi.RunfilesApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -39,7 +40,8 @@ category = SkylarkModuleCategory.TOP_LEVEL_TYPE) public interface PyWrapCcHelperApi< FileT extends FileApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, CcInfoT extends CcInfoApi, FeatureConfigurationT extends FeatureConfigurationApi, CcToolchainProviderT extends CcToolchainProviderApi<FeatureConfigurationT>, @@ -48,6 +50,7 @@ WrapCcIncludeProviderT extends WrapCcIncludeProviderApi> extends WrapCcHelperApi< FeatureConfigurationT, + ConstraintValueT, SkylarkRuleContextT, CcToolchainProviderT, CompilationInfoT,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java index d5782c2..9cd2edf 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp/WrapCcHelperApi.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.FileApi; import com.google.devtools.build.lib.skylarkbuildapi.FilesToRunProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -37,7 +38,8 @@ @SkylarkModule(name = "WrapCcHelperDoNotUse", doc = "", documented = false) public interface WrapCcHelperApi< FeatureConfigurationT extends FeatureConfigurationApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, CcToolchainProviderT extends CcToolchainProviderApi<FeatureConfigurationT>, CompilationInfoT extends CompilationInfoApi, FileT extends FileApi,
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaBootstrap.java index f5fdee3..87e8a52 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaBootstrap.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaBootstrap.java
@@ -23,15 +23,15 @@ */ public class JavaBootstrap implements Bootstrap { - private final JavaCommonApi<?, ?, ?, ?, ?, ?> javaCommonApi; + private final JavaCommonApi<?, ?, ?, ?, ?, ?, ?> javaCommonApi; private final JavaInfoProviderApi javaInfoProviderApi; - private final JavaProtoCommonApi<?, ?, ?> javaProtoCommonApi; + private final JavaProtoCommonApi<?, ?, ?, ?> javaProtoCommonApi; private final JavaCcLinkParamsProviderApi.Provider<?> javaCcLinkParamsProviderApiProvider; public JavaBootstrap( - JavaCommonApi<?, ?, ?, ?, ?, ?> javaCommonApi, + JavaCommonApi<?, ?, ?, ?, ?, ?, ?> javaCommonApi, JavaInfoProviderApi javaInfoProviderApi, - JavaProtoCommonApi<?, ?, ?> javaProtoCommonApi, + JavaProtoCommonApi<?, ?, ?, ?> javaProtoCommonApi, JavaCcLinkParamsProviderApi.Provider<?> javaCcLinkParamsProviderApiProvider) { this.javaCommonApi = javaCommonApi; this.javaInfoProviderApi = javaInfoProviderApi;
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java index 5e97471..bbefa1c 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaCommonApi.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.SkylarkActionFactoryApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.ParamType; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; @@ -40,7 +41,8 @@ JavaInfoT extends JavaInfoApi<FileT>, JavaToolchainT extends JavaToolchainSkylarkApiProviderApi, JavaRuntimeT extends JavaRuntimeInfoApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, SkylarkActionFactoryT extends SkylarkActionFactoryApi> extends StarlarkValue {
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java index f4647c2..af86838 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java/JavaProtoCommonApi.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.FileApi; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; import com.google.devtools.build.lib.skylarkbuildapi.core.TransitiveInfoCollectionApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -27,7 +28,8 @@ @SkylarkModule(name = "java_proto_common", doc = "Helper class for Java proto compilation.") public interface JavaProtoCommonApi< FileT extends FileApi, - SkylarkRuleContextT extends SkylarkRuleContextApi, + ConstraintValueT extends ConstraintValueInfoApi, + SkylarkRuleContextT extends SkylarkRuleContextApi<ConstraintValueT>, TransitiveInfoCollectionT extends TransitiveInfoCollectionApi> extends StarlarkValue {
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/BUILD b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/BUILD index 65bd2c2..bdaa681 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/BUILD +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/BUILD
@@ -27,6 +27,7 @@ "//src/main/java/com/google/devtools/build/lib/cmdline", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//third_party:guava", ], )
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java index 9e86357..bd605d6 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/CoverageCommonApi.java
@@ -16,6 +16,7 @@ import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkinterface.Param; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -27,7 +28,9 @@ @SkylarkModule( name = "coverage_common", doc = "Helper functions to access coverage-related infrastructure.") -public interface CoverageCommonApi<RuleContextT extends SkylarkRuleContextApi> +public interface CoverageCommonApi< + ConstraintValueT extends ConstraintValueInfoApi, + RuleContextT extends SkylarkRuleContextApi<ConstraintValueT>> extends StarlarkValue { @SkylarkCallable(
diff --git a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingBootstrap.java b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingBootstrap.java index 00c8356..0b5b736 100644 --- a/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingBootstrap.java +++ b/src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test/TestingBootstrap.java
@@ -25,13 +25,13 @@ public class TestingBootstrap implements Bootstrap { private final TestingModuleApi testingModule; - private final CoverageCommonApi<?> coverageCommon; + private final CoverageCommonApi<?, ?> coverageCommon; private final AnalysisFailureInfoProviderApi analysisFailureInfoProvider; private final AnalysisTestResultInfoProviderApi testResultInfoProvider; public TestingBootstrap( TestingModuleApi testingModule, - CoverageCommonApi<?> coverageCommon, + CoverageCommonApi<?, ?> coverageCommon, AnalysisFailureInfoProviderApi analysisFailureInfoProvider, AnalysisTestResultInfoProviderApi testResultInfoProvider) { this.testingModule = testingModule;
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD index d817e17..0a2d946 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/BUILD
@@ -20,6 +20,7 @@ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/apple", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi", "//third_party:guava", ],
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java index 8beca68..a660494 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/apple/FakeAppleCommon.java
@@ -29,6 +29,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.apple.XcodeConfigInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.core.StructApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Dict; import com.google.devtools.build.lib.syntax.Sequence; import com.google.devtools.build.lib.syntax.StarlarkThread; @@ -41,7 +42,12 @@ /** Fake implementation of {@link AppleCommonApi}. */ public class FakeAppleCommon implements AppleCommonApi< - FileApi, ObjcProviderApi<?>, XcodeConfigInfoApi<?, ?>, ApplePlatformApi> { + FileApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, + ObjcProviderApi<?>, + XcodeConfigInfoApi<?, ?>, + ApplePlatformApi> { @Override public AppleToolchainApi<?> getAppleToolchain() { @@ -115,7 +121,7 @@ @Override public StructApi linkMultiArchBinary( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Sequence<?> extraLinkopts, Sequence<?> extraLinkInputs, StarlarkThread thread) {
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD index 6b02d44..8242371 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/BUILD
@@ -22,6 +22,7 @@ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/go", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi", "//third_party:guava", ],
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java index a0d76c2..7264f4b 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeCcModule.java
@@ -33,6 +33,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.cpp.FeatureConfigurationApi; import com.google.devtools.build.lib.skylarkbuildapi.cpp.LibraryToLinkApi; import com.google.devtools.build.lib.skylarkbuildapi.cpp.LinkerInputApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Dict; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Sequence; @@ -46,7 +47,8 @@ implements BazelCcModuleApi< SkylarkActionFactoryApi, FileApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcToolchainProviderApi<FeatureConfigurationApi>, FeatureConfigurationApi, CcCompilationContextApi, @@ -214,7 +216,8 @@ } @Override - public boolean isCcToolchainResolutionEnabled(SkylarkRuleContextApi ruleContext) { + public boolean isCcToolchainResolutionEnabled( + SkylarkRuleContextApi<ConstraintValueInfoApi> context) { return false; } @@ -287,7 +290,7 @@ @Override public CcToolchainConfigInfoApi ccToolchainConfigInfoFromSkylark( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Sequence<?> features, Sequence<?> actionConfigs, Sequence<?> artifactNamePatterns,
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java index c18acbb..adf110f 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakeGoWrapCcHelper.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.go.GoConfigurationApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoContextInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.go.GoPackageInfoApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Depset; import com.google.devtools.build.lib.syntax.Sequence; import com.google.devtools.build.lib.syntax.Tuple; @@ -39,7 +40,8 @@ public class FakeGoWrapCcHelper implements GoWrapCcHelperApi< FileApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcInfoApi, FeatureConfigurationApi, CcToolchainProviderApi<FeatureConfigurationApi>, @@ -52,7 +54,8 @@ WrapCcIncludeProviderApi> { @Override - public RunfilesApi skylarkGetGoRunfiles(SkylarkRuleContextApi skylarkRuleContext) { + public RunfilesApi skylarkGetGoRunfiles( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @@ -63,7 +66,7 @@ @Override public GoContextInfoApi skylarkCollectTransitiveGoContextGopkg( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi export, FileApi pkg, FileApi gopkg, @@ -74,19 +77,20 @@ @Override public GoWrapCcInfoApi getGoWrapCcInfo( - SkylarkRuleContextApi skylarkRuleContext, CcInfoApi ccInfo) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcInfoApi ccInfo) { return null; } @Override public GoCcLinkParamsInfoApi getGoCcLinkParamsProvider( - SkylarkRuleContextApi ruleContext, CcLinkingContextApi<FileApi> ccLinkingContext) { + SkylarkRuleContextApi<ConstraintValueInfoApi> ruleContext, + CcLinkingContextApi<FileApi> ccLinkingContext) { return null; } @Override public Tuple<FileApi> createGoCompileActions( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchainProvider, Sequence<?> srcs, Sequence<?> deps) { @@ -95,7 +99,7 @@ @Override public Tuple<FileApi> createGoCompileActionsGopkg( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchainProvider, Sequence<?> srcs, Sequence<?> deps) { @@ -104,7 +108,7 @@ @Override public GoPackageInfoApi createTransitiveGopackageInfo( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi skylarkGopkg, FileApi export, FileApi swigOutGo) { @@ -119,7 +123,7 @@ @Override public FeatureConfigurationApi skylarkGetFeatureConfiguration( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain) { return null; } @@ -131,7 +135,7 @@ @Override public CompilationInfoApi skylarkCreateCompileActions( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FeatureConfigurationApi featureConfiguration, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FileApi ccFile, @@ -154,7 +158,7 @@ @Override public void registerSwigAction( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FeatureConfigurationApi featureConfiguration, CcCompilationContextApi wrapperCcCompilationContext,
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java index 2c9ffcb..4a6e082 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/cpp/FakePyWrapCcHelper.java
@@ -25,6 +25,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcHelperApi; import com.google.devtools.build.lib.skylarkbuildapi.cpp.PyWrapCcInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.cpp.WrapCcIncludeProviderApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Depset; import com.google.devtools.build.lib.syntax.Sequence; @@ -32,7 +33,8 @@ public class FakePyWrapCcHelper implements PyWrapCcHelperApi< FileApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, CcInfoApi, FeatureConfigurationApi, CcToolchainProviderApi<FeatureConfigurationApi>, @@ -41,42 +43,45 @@ WrapCcIncludeProviderApi> { @Override - public Sequence<String> getPyExtensionLinkopts(SkylarkRuleContextApi skylarkRuleContext) { + public Sequence<String> getPyExtensionLinkopts( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @Override public Depset getTransitivePythonSources( - SkylarkRuleContextApi skylarkRuleContext, FileApi pyFile) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FileApi pyFile) { return null; } @Override public RunfilesApi getPythonRunfiles( - SkylarkRuleContextApi skylarkRuleContext, Depset filesToBuild) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Depset filesToBuild) { return null; } @Override public PyWrapCcInfoApi getPyWrapCcInfo( - SkylarkRuleContextApi skylarkRuleContext, CcInfoApi ccInfo) { + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcInfoApi ccInfo) { return null; } @Override public FeatureConfigurationApi skylarkGetFeatureConfiguration( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain) { return null; } @Override - public Depset skylarkCollectTransitiveSwigIncludes(SkylarkRuleContextApi skylarkRuleContext) { + public Depset skylarkCollectTransitiveSwigIncludes( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @Override - public String skylarkGetMangledTargetName(SkylarkRuleContextApi skylarkRuleContext) { + public String skylarkGetMangledTargetName( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext) { return null; } @@ -88,7 +93,7 @@ @Override public void registerSwigAction( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FeatureConfigurationApi featureConfiguration, CcCompilationContextApi wrapperCcCompilationContext, @@ -106,7 +111,7 @@ @Override public CompilationInfoApi skylarkCreateCompileActions( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, FeatureConfigurationApi featureConfiguration, CcToolchainProviderApi<FeatureConfigurationApi> ccToolchain, FileApi ccFile,
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD index 3036d96..47a6d3f 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/BUILD
@@ -22,6 +22,7 @@ "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/core", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/cpp", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/java", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//src/main/java/com/google/devtools/build/skydoc/fakebuildapi", "//third_party:guava", "//third_party:jsr305",
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java index 3312f8a..1012b5b 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaCommon.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.skylarkbuildapi.core.ProviderApi; import com.google.devtools.build.lib.skylarkbuildapi.java.JavaCommonApi; import com.google.devtools.build.lib.skylarkbuildapi.java.JavaToolchainSkylarkApiProviderApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.Depset; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Sequence; @@ -37,7 +38,8 @@ FakeJavaInfo, FakeJavaToolchainSkylarkApiProviderApi, FakeJavaRuntimeInfoApi, - SkylarkRuleContextApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, SkylarkActionFactoryApi> { @Override @@ -47,7 +49,7 @@ @Override public FakeJavaInfo createJavaCompileAction( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Sequence<?> sourceJars, Sequence<?> sourceFiles, FileApi outputJar, @@ -136,7 +138,8 @@ } @Override - public boolean isJavaToolchainResolutionEnabled(SkylarkRuleContextApi ruleContext) { + public boolean isJavaToolchainResolutionEnabled( + SkylarkRuleContextApi<ConstraintValueInfoApi> ruleContext) { return false; }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaProtoCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaProtoCommon.java index 5da89f3..f769d41 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaProtoCommon.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/java/FakeJavaProtoCommon.java
@@ -19,18 +19,25 @@ import com.google.devtools.build.lib.skylarkbuildapi.core.TransitiveInfoCollectionApi; import com.google.devtools.build.lib.skylarkbuildapi.java.JavaInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.java.JavaProtoCommonApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.syntax.EvalException; -/** - * Fake implementation of {@link JavaProtoCommonApi}. - */ +/** Fake implementation of {@link JavaProtoCommonApi}. */ public class FakeJavaProtoCommon - implements JavaProtoCommonApi<FileApi, SkylarkRuleContextApi, TransitiveInfoCollectionApi> { + implements JavaProtoCommonApi< + FileApi, + ConstraintValueInfoApi, + SkylarkRuleContextApi<ConstraintValueInfoApi>, + TransitiveInfoCollectionApi> { @Override - public void createProtoCompileAction(SkylarkRuleContextApi skylarkRuleContext, - TransitiveInfoCollectionApi target, FileApi sourceJar, String protoToolchainAttr, - String flavour) throws EvalException {} + public void createProtoCompileAction( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, + TransitiveInfoCollectionApi target, + FileApi sourceJar, + String protoToolchainAttr, + String flavour) + throws EvalException {} @Override public boolean hasProtoSources(TransitiveInfoCollectionApi target) { @@ -38,8 +45,9 @@ } @Override - public JavaInfoApi<FileApi> getRuntimeToolchainProvider(SkylarkRuleContextApi skylarkRuleContext, - String protoToolchainAttr) throws EvalException { + public JavaInfoApi<FileApi> getRuntimeToolchainProvider( + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, String protoToolchainAttr) + throws EvalException { return new FakeJavaInfo(); } }
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD index a1dbdeb..e30ca0c 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/BUILD
@@ -18,6 +18,7 @@ "//src/main/java/com/google/devtools/build/lib:events", "//src/main/java/com/google/devtools/build/lib:syntax", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/test", "//third_party:guava", ],
diff --git a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java index b2d84b8..9d18026 100644 --- a/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java +++ b/src/main/java/com/google/devtools/build/skydoc/fakebuildapi/test/FakeCoverageCommon.java
@@ -16,17 +16,20 @@ import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.skylarkbuildapi.SkylarkRuleContextApi; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.skylarkbuildapi.test.CoverageCommonApi; import com.google.devtools.build.lib.skylarkbuildapi.test.InstrumentedFilesInfoApi; import com.google.devtools.build.lib.syntax.Printer; import com.google.devtools.build.lib.syntax.Sequence; /** Fake implementation of {@link CoverageCommonApi}. */ -public class FakeCoverageCommon implements CoverageCommonApi<SkylarkRuleContextApi> { +public class FakeCoverageCommon + implements CoverageCommonApi< + ConstraintValueInfoApi, SkylarkRuleContextApi<ConstraintValueInfoApi>> { @Override public InstrumentedFilesInfoApi instrumentedFilesInfo( - SkylarkRuleContextApi skylarkRuleContext, + SkylarkRuleContextApi<ConstraintValueInfoApi> skylarkRuleContext, Sequence<?> sourceAttributes, Sequence<?> dependencyAttributes, Object extensions,