diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
10 files changed, 31 insertions, 29 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ActionsProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/ActionsProvider.java index 90441ee26d..ac7ade351c 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/ActionsProvider.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/ActionsProvider.java @@ -16,8 +16,10 @@ package com.google.devtools.build.lib.analysis; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.Info; import com.google.devtools.build.lib.packages.NativeProvider; +import com.google.devtools.build.lib.packages.SkylarkInfo; import java.util.HashMap; import java.util.Map; @@ -44,6 +46,6 @@ public final class ActionsProvider { } } ImmutableMap<String, Object> fields = ImmutableMap.<String, Object>of("by_file", map); - return new Info(SKYLARK_CONSTRUCTOR, fields); + return new SkylarkInfo(SKYLARK_CONSTRUCTOR, fields, Location.BUILTIN); } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java index 7becc71ebc..a9b5461759 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/DefaultInfo.java @@ -19,16 +19,15 @@ import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; -import com.google.devtools.build.lib.packages.Provider; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; /** DefaultInfo is provided by all targets implicitly and contains all standard fields. */ @Immutable -public final class DefaultInfo extends Info { +public final class DefaultInfo extends NativeInfo { // Accessors for Skylark private static final String DATA_RUNFILES_FIELD = "data_runfiles"; @@ -47,23 +46,24 @@ public final class DefaultInfo extends Info { private final AtomicReference<SkylarkNestedSet> files = new AtomicReference<>(); public static final String SKYLARK_NAME = "DefaultInfo"; - public static final Provider PROVIDER = - new NativeProvider<Info>(Info.class, SKYLARK_NAME) { + + // todo(dslomov,vladmos): make this provider return DefaultInfo. + public static final NativeProvider<NativeInfo> PROVIDER = + new NativeProvider<NativeInfo>(NativeInfo.class, SKYLARK_NAME) { @Override - protected Info createInstanceFromSkylark(Object[] args, Location loc) { + protected NativeInfo createInstanceFromSkylark(Object[] args, Location loc) { @SuppressWarnings("unchecked") Map<String, Object> kwargs = (Map<String, Object>) args[0]; - return new Info(this, kwargs, loc); + return new NativeInfo(this, kwargs, loc); } }; private DefaultInfo( - Provider constructor, RunfilesProvider runfilesProvider, FileProvider fileProvider, FilesToRunProvider filesToRunProvider) { // Fields map is not used here to prevent memory regression - super(constructor, ImmutableMap.<String, Object>of()); + super(PROVIDER, ImmutableMap.<String, Object>of()); this.runfilesProvider = runfilesProvider; this.fileProvider = fileProvider; this.filesToRunProvider = filesToRunProvider; @@ -73,8 +73,7 @@ public final class DefaultInfo extends Info { RunfilesProvider runfilesProvider, FileProvider fileProvider, FilesToRunProvider filesToRunProvider) { - return new DefaultInfo( - PROVIDER, runfilesProvider, fileProvider, filesToRunProvider); + return new DefaultInfo(runfilesProvider, fileProvider, filesToRunProvider); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/analysis/MakeVariableInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/MakeVariableInfo.java index d33af68995..d4bb747067 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/MakeVariableInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/MakeVariableInfo.java @@ -16,7 +16,7 @@ package com.google.devtools.build.lib.analysis; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -24,7 +24,7 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; /** Provides access to make variables from the current fragments. */ @SkylarkModule(name = "MakeVariables", doc = "Make variables exposed by the current target.") @Immutable -public final class MakeVariableInfo extends Info { +public final class MakeVariableInfo extends NativeInfo { public static final String SKYLARK_NAME = "MakeVariableInfo"; public static final NativeProvider<MakeVariableInfo> PROVIDER = @@ -33,7 +33,7 @@ public final class MakeVariableInfo extends Info { private final ImmutableMap<String, String> makeVariables; public MakeVariableInfo(ImmutableMap<String, String> makeVariables) { - super(PROVIDER, ImmutableMap.<String, Object>of()); + super(PROVIDER); this.makeVariables = makeVariables; } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java index e367af649e..3ee2c7eaff 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/OutputGroupProvider.java @@ -29,7 +29,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.EvalUtils; @@ -57,7 +57,8 @@ import javax.annotation.Nullable; * not mentioned on the output. */ @Immutable -public final class OutputGroupProvider extends Info implements SkylarkIndexable, Iterable<String> { +public final class OutputGroupProvider extends NativeInfo + implements SkylarkIndexable, Iterable<String> { public static final String SKYLARK_NAME = "output_groups"; public static NativeProvider<OutputGroupProvider> SKYLARK_CONSTRUCTOR = new Constructor(); 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 6ba8b5a4a7..9554692dfc 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 @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -35,7 +35,7 @@ import com.google.devtools.build.lib.syntax.SkylarkType; category = SkylarkModuleCategory.PROVIDER ) @Immutable -public class ConstraintSettingInfo extends Info { +public class ConstraintSettingInfo extends NativeInfo { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ConstraintSettingInfo"; 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 53d8ae1256..d9b167bf1a 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 @@ -19,7 +19,7 @@ import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -35,7 +35,7 @@ import com.google.devtools.build.lib.syntax.SkylarkType; category = SkylarkModuleCategory.PROVIDER ) @Immutable -public class ConstraintValueInfo extends Info { +public class ConstraintValueInfo extends NativeInfo { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ConstraintValueInfo"; 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 8d8b669785..be05d75e80 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 @@ -22,7 +22,7 @@ import com.google.common.collect.Multimap; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; @@ -44,7 +44,7 @@ import javax.annotation.Nullable; category = SkylarkModuleCategory.PROVIDER ) @Immutable -public class PlatformInfo extends Info { +public class PlatformInfo extends NativeInfo { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "PlatformInfo"; 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 bff0be663a..c5af6fd454 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 @@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; @@ -38,7 +38,7 @@ import java.util.Map; category = SkylarkModuleCategory.PROVIDER ) @Immutable -public class ToolchainInfo extends Info { +public class ToolchainInfo extends NativeInfo { /** Name used in Skylark for accessing this provider. */ public static final String SKYLARK_NAME = "ToolchainInfo"; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/ExecutionInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/test/ExecutionInfo.java index 9dfa3d7648..8b60872cea 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/ExecutionInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/ExecutionInfo.java @@ -15,7 +15,7 @@ package com.google.devtools.build.lib.analysis.test; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import java.util.Map; @@ -24,7 +24,7 @@ import java.util.Map; * tests). */ @Immutable -public final class ExecutionInfo extends Info { +public final class ExecutionInfo extends NativeInfo { /** Skylark constructor and identifier for ExecutionInfo. */ public static final NativeProvider<ExecutionInfo> PROVIDER = diff --git a/src/main/java/com/google/devtools/build/lib/analysis/test/TestEnvironmentInfo.java b/src/main/java/com/google/devtools/build/lib/analysis/test/TestEnvironmentInfo.java index ec16185907..013ff33bb6 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/test/TestEnvironmentInfo.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/test/TestEnvironmentInfo.java @@ -17,13 +17,13 @@ package com.google.devtools.build.lib.analysis.test; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.packages.Info; +import com.google.devtools.build.lib.packages.NativeInfo; import com.google.devtools.build.lib.packages.NativeProvider; import java.util.Map; /** Provider containing any additional environment variables for use in the test action. */ @Immutable -public final class TestEnvironmentInfo extends Info { +public final class TestEnvironmentInfo extends NativeInfo { /** Skylark constructor and identifier for TestEnvironmentInfo. */ public static final NativeProvider<TestEnvironmentInfo> PROVIDER = |