From c6cf1b94ea0753bb1cc7d0df8c5a8a2762a53eab Mon Sep 17 00:00:00 2001 From: cparsons Date: Fri, 25 May 2018 12:27:10 -0700 Subject: Migrate platform-related skylark objects to skylarkbuildapi RELNOTES: None. PiperOrigin-RevId: 198086078 --- .../devtools/build/lib/analysis/platform/BUILD | 1 + .../analysis/platform/ConstraintSettingInfo.java | 17 +++--------- .../lib/analysis/platform/ConstraintValueInfo.java | 25 +++-------------- .../build/lib/analysis/platform/PlatformInfo.java | 31 ++++------------------ .../build/lib/analysis/platform/ToolchainInfo.java | 10 ++----- 5 files changed, 15 insertions(+), 69 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/analysis') diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/BUILD b/src/main/java/com/google/devtools/build/lib/analysis/platform/BUILD index 01ecda876d..5c7362fd22 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/BUILD +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/BUILD @@ -25,6 +25,7 @@ java_library( "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/skyframe/serialization", "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", + "//src/main/java/com/google/devtools/build/lib/skylarkbuildapi/platform", "//third_party:auto_value", "//third_party:guava", ], diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java index d2b5e1e83b..f048133440 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintSettingInfo.java @@ -21,20 +21,13 @@ import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; -import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintSettingInfoApi; import com.google.devtools.build.lib.util.Fingerprint; /** Provider for a platform constraint setting that is available to be fulfilled. */ -@SkylarkModule( - name = "ConstraintSettingInfo", - doc = "A specific constraint setting that may be used to define a platform.", - category = SkylarkModuleCategory.PROVIDER -) @Immutable @AutoCodec -public class ConstraintSettingInfo extends NativeInfo { +public class ConstraintSettingInfo extends NativeInfo implements ConstraintSettingInfoApi { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ConstraintSettingInfo"; @@ -51,11 +44,7 @@ public class ConstraintSettingInfo extends NativeInfo { this.label = label; } - @SkylarkCallable( - name = "label", - doc = "The label of the target that created this constraint.", - structField = true - ) + @Override public Label label() { return label; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java index 345edb9dee..839acacfe0 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ConstraintValueInfo.java @@ -21,20 +21,13 @@ import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; -import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ConstraintValueInfoApi; import com.google.devtools.build.lib.util.Fingerprint; /** Provider for a platform constraint value that fulfills a {@link ConstraintSettingInfo}. */ -@SkylarkModule( - name = "ConstraintValueInfo", - doc = "A value for a constraint setting that can be used to define a platform.", - category = SkylarkModuleCategory.PROVIDER -) @Immutable @AutoCodec -public class ConstraintValueInfo extends NativeInfo { +public class ConstraintValueInfo extends NativeInfo implements ConstraintValueInfoApi { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ConstraintValueInfo"; @@ -55,22 +48,12 @@ public class ConstraintValueInfo extends NativeInfo { this.label = label; } - @SkylarkCallable( - name = "constraint", - doc = - "The ConstraintSettingInfo this value can be " - + "applied to.", - structField = true - ) + @Override public ConstraintSettingInfo constraint() { return constraint; } - @SkylarkCallable( - name = "label", - doc = "The label of the target that created this constraint value.", - structField = true - ) + @Override public Label label() { return label; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java index b5e232883d..3e9cf4976b 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/PlatformInfo.java @@ -31,9 +31,7 @@ import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; -import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; +import com.google.devtools.build.lib.skylarkbuildapi.platform.PlatformInfoApi; import com.google.devtools.build.lib.util.Fingerprint; import java.util.ArrayList; import java.util.Collection; @@ -42,14 +40,9 @@ import java.util.Map; import javax.annotation.Nullable; /** Provider for a platform, which is a group of constraints and values. */ -@SkylarkModule( - name = "PlatformInfo", - doc = "Provides access to data about a specific platform.", - category = SkylarkModuleCategory.PROVIDER -) @Immutable @AutoCodec -public class PlatformInfo extends NativeInfo { +public class PlatformInfo extends NativeInfo implements PlatformInfoApi { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "PlatformInfo"; @@ -90,22 +83,12 @@ public class PlatformInfo extends NativeInfo { return new PlatformInfo(label, constraintsBuilder.build(), remoteExecutionProperties, location); } - @SkylarkCallable( - name = "label", - doc = "The label of the target that created this platform.", - structField = true - ) + @Override public Label label() { return label; } - @SkylarkCallable( - name = "constraints", - doc = - "The ConstraintValueInfo instances that define " - + "this platform.", - structField = true - ) + @Override public Iterable constraints() { return constraints.values().asList(); } @@ -119,11 +102,7 @@ public class PlatformInfo extends NativeInfo { return constraints.get(constraint); } - @SkylarkCallable( - name = "remoteExecutionProperties", - doc = "Properties that are available for the use of remote execution.", - structField = true - ) + @Override public String remoteExecutionProperties() { return remoteExecutionProperties; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java index 7cd3739967..549290a145 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/platform/ToolchainInfo.java @@ -21,8 +21,7 @@ import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; -import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; +import com.google.devtools.build.lib.skylarkbuildapi.platform.ToolchainInfoApi; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.FunctionSignature; @@ -34,14 +33,9 @@ import java.util.Map; * A provider that supplied information about a specific language toolchain, including what platform * constraints are required for execution and for the target platform. */ -@SkylarkModule( - name = "ToolchainInfo", - doc = "Provides access to data about a specific toolchain.", - category = SkylarkModuleCategory.PROVIDER -) @AutoCodec @Immutable -public class ToolchainInfo extends NativeInfo { +public class ToolchainInfo extends NativeInfo implements ToolchainInfoApi { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ToolchainInfo"; -- cgit v1.2.3