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/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;