aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2015-11-09 13:09:12 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-11-10 10:19:28 +0000
commitb487ac69185fd0080461a3c8795589fe4532f4bb (patch)
tree4b36b926124ac8dfee576ee05385a51e4b7b41e7 /src
parentc7d277f25f4ebcaed4c08e110f549fc5eef44bec (diff)
Aspect terminology update.
Aspect => ConfiguredAspect AspectWithParameters => Aspect -- MOS_MIGRATED_REVID=107375211
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java (renamed from src/main/java/com/google/devtools/build/lib/analysis/Aspect.java)10
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java31
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java53
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java30
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Aspect.java (renamed from src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java)12
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Attribute.java20
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Rule.java2
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java28
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java46
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java40
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java20
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java11
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java3
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/DependencyResolverTest.java34
-rw-r--r--src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java20
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java13
-rw-r--r--src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java5
31 files changed, 240 insertions, 253 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
index 835fb5e7de..d5ef9e846b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/Aspect.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspect.java
@@ -42,12 +42,12 @@ import javax.annotation.Nullable;
* <p>Aspects are created alongside configured targets on request from dependents.
*/
@Immutable
-public final class Aspect implements Iterable<TransitiveInfoProvider> {
+public final class ConfiguredAspect implements Iterable<TransitiveInfoProvider> {
private final String name;
private final ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider>
providers;
- private Aspect(
+ private ConfiguredAspect(
String name,
ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> providers) {
this.name = name;
@@ -84,7 +84,7 @@ public final class Aspect implements Iterable<TransitiveInfoProvider> {
}
/**
- * Builder for {@link Aspect}.
+ * Builder for {@link ConfiguredAspect}.
*/
public static class Builder {
private final Map<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider>
@@ -140,7 +140,7 @@ public final class Aspect implements Iterable<TransitiveInfoProvider> {
return this;
}
- public Aspect build() {
+ public ConfiguredAspect build() {
if (!outputGroupBuilders.isEmpty()) {
ImmutableMap.Builder<String, NestedSet<Artifact>> outputGroups = ImmutableMap.builder();
for (Map.Entry<String, NestedSetBuilder<Artifact>> entry : outputGroupBuilders.entrySet()) {
@@ -159,7 +159,7 @@ public final class Aspect implements Iterable<TransitiveInfoProvider> {
providers.put(SkylarkProviders.class, new SkylarkProviders(skylarkProvidersMap));
}
- return new Aspect(name, ImmutableMap.copyOf(providers));
+ return new ConfiguredAspect(name, ImmutableMap.copyOf(providers));
}
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
index 667164001b..c983764d65 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredAspectFactory.java
@@ -28,6 +28,6 @@ public interface ConfiguredAspectFactory {
* @param parameters information from attributes of the rule that have requested this
* aspect
*/
- Aspect create(ConfiguredTarget base, RuleContext context, AspectParameters parameters)
+ ConfiguredAspect create(ConfiguredTarget base, RuleContext context, AspectParameters parameters)
throws InterruptedException;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
index b52f5a65e3..e90971403a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/ConfiguredTargetFactory.java
@@ -14,7 +14,6 @@
package com.google.devtools.build.lib.analysis;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.ListMultimap;
@@ -33,7 +32,7 @@ import com.google.devtools.build.lib.collect.nestedset.Order;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy;
import com.google.devtools.build.lib.packages.ConfigurationFragmentPolicy.MissingFragmentPolicy;
@@ -56,7 +55,6 @@ import com.google.devtools.build.lib.vfs.PathFragment;
import java.util.ArrayList;
import java.util.LinkedHashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
import javax.annotation.Nullable;
@@ -284,36 +282,37 @@ public final class ConfiguredTargetFactory {
}
/**
- * Constructs an {@link Aspect}. Returns null if an error occurs; in that case,
+ * Constructs an {@link ConfiguredAspect}. Returns null if an error occurs; in that case,
* {@code aspectFactory} should call one of the error reporting methods of {@link RuleContext}.
*/
- public Aspect createAspect(
+ public ConfiguredAspect createAspect(
AnalysisEnvironment env,
RuleConfiguredTarget associatedTarget,
ConfiguredAspectFactory aspectFactory,
- AspectWithParameters aspectWithParameters,
+ Aspect aspect,
ListMultimap<Attribute, ConfiguredTarget> prerequisiteMap,
Set<ConfigMatchingProvider> configConditions,
BuildConfiguration hostConfiguration)
- throws InterruptedException {
+ throws InterruptedException {
RuleContext.Builder builder = new RuleContext.Builder(env,
associatedTarget.getTarget(),
associatedTarget.getConfiguration(),
hostConfiguration,
ruleClassProvider.getPrerequisiteValidator());
- RuleContext ruleContext = builder
- .setVisibility(convertVisibility(
- prerequisiteMap, env.getEventHandler(), associatedTarget.getTarget(), null))
- .setPrerequisites(prerequisiteMap)
- .setAspectAttributes(aspectWithParameters.getDefinition().getAttributes())
- .setConfigConditions(configConditions)
- .build();
+ RuleContext ruleContext =
+ builder
+ .setVisibility(
+ convertVisibility(
+ prerequisiteMap, env.getEventHandler(), associatedTarget.getTarget(), null))
+ .setPrerequisites(prerequisiteMap)
+ .setAspectAttributes(aspect.getDefinition().getAttributes())
+ .setConfigConditions(configConditions)
+ .build();
if (ruleContext.hasErrors()) {
return null;
}
- return aspectFactory.create(associatedTarget, ruleContext,
- aspectWithParameters.getParameters());
+ return aspectFactory.create(associatedTarget, ruleContext, aspect.getParameters());
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index fcea1537c2..57a1d92364 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -25,9 +25,9 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.ImmutableSortedKeyListMultimap;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.AspectClass;
import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Attribute.LateBoundDefault;
import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
@@ -102,15 +102,14 @@ public abstract class DependencyResolver {
private final Attribute.Transition transition;
private final boolean hasStaticConfiguration;
- private final ImmutableSet<AspectWithParameters> aspects;
+ private final ImmutableSet<Aspect> aspects;
/**
* Constructs a Dependency with a given configuration (suitable for static configuration
* builds).
*/
- public Dependency(Label label,
- @Nullable BuildConfiguration configuration,
- ImmutableSet<AspectWithParameters> aspects) {
+ public Dependency(
+ Label label, @Nullable BuildConfiguration configuration, ImmutableSet<Aspect> aspects) {
this.label = Preconditions.checkNotNull(label);
this.configuration = configuration;
this.transition = null;
@@ -123,14 +122,13 @@ public abstract class DependencyResolver {
* builds).
*/
public Dependency(Label label, @Nullable BuildConfiguration configuration) {
- this(label, configuration, ImmutableSet.<AspectWithParameters>of());
+ this(label, configuration, ImmutableSet.<Aspect>of());
}
/**
* Constructs a Dependency with a given transition (suitable for dynamic configuration builds).
*/
- public Dependency(Label label, Attribute.Transition transition,
- ImmutableSet<AspectWithParameters> aspects) {
+ public Dependency(Label label, Attribute.Transition transition, ImmutableSet<Aspect> aspects) {
this.label = Preconditions.checkNotNull(label);
this.configuration = null;
this.transition = Preconditions.checkNotNull(transition);
@@ -167,7 +165,7 @@ public abstract class DependencyResolver {
return transition;
}
- public ImmutableSet<AspectWithParameters> getAspects() {
+ public ImmutableSet<Aspect> getAspects() {
return aspects;
}
@@ -204,7 +202,7 @@ public abstract class DependencyResolver {
* represent those edges. Visibility attributes are only visited if {@code visitVisibility} is
* {@code true}.
*
- * <p>If {@code aspectWithParameters} is null, returns the dependent nodes of the configured
+ * <p>If {@code aspect} is null, returns the dependent nodes of the configured
* target node representing the given target and configuration, otherwise that of the aspect
* node accompanying the aforementioned configured target node for the specified aspect.
*
@@ -220,7 +218,7 @@ public abstract class DependencyResolver {
public final ListMultimap<Attribute, Dependency> dependentNodeMap(
TargetAndConfiguration node,
BuildConfiguration hostConfig,
- AspectWithParameters aspectWithParameters,
+ Aspect aspect,
Set<ConfigMatchingProvider> configConditions)
throws EvalException, InterruptedException {
Target target = node.getTarget();
@@ -242,11 +240,11 @@ public abstract class DependencyResolver {
ListMultimap<Attribute, LabelAndConfiguration> labelMap =
resolveAttributes(
rule,
- aspectWithParameters != null ? aspectWithParameters.getDefinition() : null,
+ aspect != null ? aspect.getDefinition() : null,
config,
hostConfig,
configConditions);
- visitRule(rule, aspectWithParameters, labelMap, outgoingEdges);
+ visitRule(rule, aspect, labelMap, outgoingEdges);
} else if (target instanceof PackageGroup) {
visitPackageGroup(node, (PackageGroup) target, outgoingEdges.get(null));
} else {
@@ -555,20 +553,16 @@ public abstract class DependencyResolver {
}
}
- private ImmutableSet<AspectWithParameters> requiredAspects(
- AspectWithParameters aspectWithParameters,
- Attribute attribute,
- Target target,
- Rule originalRule) {
+ private ImmutableSet<Aspect> requiredAspects(
+ Aspect aspect, Attribute attribute, Target target, Rule originalRule) {
if (!(target instanceof Rule)) {
return ImmutableSet.of();
}
- Set<AspectWithParameters> aspectCandidates =
- extractAspectCandidates(aspectWithParameters, attribute, originalRule);
+ Set<Aspect> aspectCandidates = extractAspectCandidates(aspect, attribute, originalRule);
RuleClass ruleClass = ((Rule) target).getRuleClassObject();
- ImmutableSet.Builder<AspectWithParameters> result = ImmutableSet.builder();
- for (AspectWithParameters candidateClass : aspectCandidates) {
+ ImmutableSet.Builder<Aspect> result = ImmutableSet.builder();
+ for (Aspect candidateClass : aspectCandidates) {
if (Sets.difference(
candidateClass.getDefinition().getRequiredProviders(),
ruleClass.getAdvertisedProviders())
@@ -579,19 +573,18 @@ public abstract class DependencyResolver {
return result.build();
}
- private static Set<AspectWithParameters> extractAspectCandidates(
- AspectWithParameters aspectWithParameters, Attribute attribute, Rule originalRule) {
+ private static Set<Aspect> extractAspectCandidates(
+ Aspect aspectWithParameters, Attribute attribute, Rule originalRule) {
// The order of this set will be deterministic. This is necessary because this order eventually
// influences the order in which aspects are merged into the main configured target, which in
// turn influences which aspect takes precedence if two emit the same provider (maybe this
// should be an error)
- Set<AspectWithParameters> aspectCandidates = new LinkedHashSet<>();
- aspectCandidates.addAll(attribute.getAspectsWithParameters(originalRule));
+ Set<Aspect> aspectCandidates = new LinkedHashSet<>();
+ aspectCandidates.addAll(attribute.getAspects(originalRule));
if (aspectWithParameters != null) {
for (AspectClass aspect :
aspectWithParameters.getDefinition().getAttributeAspects().get(attribute.getName())) {
- aspectCandidates.add(
- new AspectWithParameters(aspect, aspectWithParameters.getParameters()));
+ aspectCandidates.add(new Aspect(aspect, aspectWithParameters.getParameters()));
}
}
return aspectCandidates;
@@ -604,7 +597,7 @@ public abstract class DependencyResolver {
private void visitRule(
Rule rule,
- AspectWithParameters aspectWithParameters,
+ Aspect aspect,
ListMultimap<Attribute, LabelAndConfiguration> labelMap,
ListMultimap<Attribute, Dependency> outgoingEdges) {
Preconditions.checkNotNull(labelMap);
@@ -647,7 +640,7 @@ public abstract class DependencyResolver {
}
for (Dependency dependency :
transitionApplier.getDependencies(
- label, requiredAspects(aspectWithParameters, attribute, toTarget, rule))) {
+ label, requiredAspects(aspect, attribute, toTarget, rule))) {
outgoingEdges.put(
entry.getKey(),
dependency);
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
index 14ef1550af..3ef5414323 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleConfiguredTarget.java
@@ -53,7 +53,7 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
private final ImmutableMap<Class<? extends TransitiveInfoProvider>, Object> providers;
private final ImmutableList<Artifact> mandatoryStampFiles;
private final Set<ConfigMatchingProvider> configConditions;
- private final ImmutableList<Aspect> aspects;
+ private final ImmutableList<ConfiguredAspect> configuredAspects;
RuleConfiguredTarget(RuleContext ruleContext,
ImmutableList<Artifact> mandatoryStampFiles,
@@ -80,7 +80,7 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
this.providers = ImmutableMap.copyOf(providerBuilder);
this.mandatoryStampFiles = mandatoryStampFiles;
this.configConditions = ruleContext.getConfigConditions();
- this.aspects = ImmutableList.of();
+ this.configuredAspects = ImmutableList.of();
// If this rule is the run_under target, then check that we have an executable; note that
// run_under is only set in the target configuration, and the target must also be analyzed for
@@ -108,7 +108,7 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
* an input or an output file).
*/
public static ConfiguredTarget mergeAspects(
- ConfiguredTarget base, Iterable<Aspect> aspects) {
+ ConfiguredTarget base, Iterable<ConfiguredAspect> aspects) {
if (Iterables.isEmpty(aspects)) {
// If there are no aspects, don't bother with creating a proxy object
return base;
@@ -122,7 +122,7 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
/**
* Creates an instance based on a configured target and a set of aspects.
*/
- private RuleConfiguredTarget(RuleConfiguredTarget base, Iterable<Aspect> aspects) {
+ private RuleConfiguredTarget(RuleConfiguredTarget base, Iterable<ConfiguredAspect> aspects) {
super(base.getTarget(), base.getConfiguration());
Set<Class<? extends TransitiveInfoProvider>> providers = new HashSet<>();
@@ -138,8 +138,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
SkylarkProviders.merge(getAllProviders(base, aspects, SkylarkProviders.class));
// Validate that all other providers are only provided once.
- for (Aspect aspect : aspects) {
- for (TransitiveInfoProvider aspectProvider : aspect) {
+ for (ConfiguredAspect configuredAspect : aspects) {
+ for (TransitiveInfoProvider aspectProvider : configuredAspect) {
Class<? extends TransitiveInfoProvider> aClass = aspectProvider.getClass();
if (OutputGroupProvider.class.equals(aClass)) {
continue;
@@ -178,21 +178,19 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
}
this.mandatoryStampFiles = base.mandatoryStampFiles;
this.configConditions = base.configConditions;
- this.aspects = ImmutableList.copyOf(aspects);
+ this.configuredAspects = ImmutableList.copyOf(aspects);
}
private static <T extends TransitiveInfoProvider> List<T> getAllProviders(
- RuleConfiguredTarget base,
- Iterable<Aspect> aspects,
- Class<T> providerClass) {
+ RuleConfiguredTarget base, Iterable<ConfiguredAspect> aspects, Class<T> providerClass) {
T baseProvider = base.getProvider(providerClass);
List<T> providers = new ArrayList<>();
if (baseProvider != null) {
providers.add(baseProvider);
}
- for (Aspect aspect : aspects) {
- final T aspectProvider = aspect.getProvider(providerClass);
+ for (ConfiguredAspect configuredAspect : aspects) {
+ final T aspectProvider = configuredAspect.getProvider(providerClass);
if (aspectProvider == null) {
continue;
}
@@ -215,8 +213,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
// class?
Object provider = providers.get(providerClass);
if (provider == null) {
- for (Aspect aspect : aspects) {
- provider = aspect.getProviders().get(providerClass);
+ for (ConfiguredAspect configuredAspect : configuredAspects) {
+ provider = configuredAspect.getProviders().get(providerClass);
if (provider != null) {
break;
}
@@ -247,8 +245,8 @@ public final class RuleConfiguredTarget extends AbstractConfiguredTarget {
public UnmodifiableIterator<TransitiveInfoProvider> iterator() {
Map<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> allProviders =
new LinkedHashMap<>();
- for (int i = aspects.size() - 1; i >= 0; i++) {
- for (TransitiveInfoProvider tip : aspects.get(i)) {
+ for (int i = configuredAspects.size() - 1; i >= 0; i++) {
+ for (TransitiveInfoProvider tip : configuredAspects.get(i)) {
allProviders.put(tip.getClass(), tip);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
index d7c9a8a807..bb0922b368 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TopLevelArtifactHelper.java
@@ -134,12 +134,11 @@ public final class TopLevelArtifactHelper {
public static ArtifactsToBuild getAllArtifactsToBuild(
AspectValue aspectValue, TopLevelArtifactContext context) {
- Aspect aspect = aspectValue.getAspect();
+ ConfiguredAspect configuredAspect = aspectValue.getConfiguredAspect();
return getAllArtifactsToBuild(
- aspect.getProvider(OutputGroupProvider.class),
- aspect.getProvider(FileProvider.class),
- context
- );
+ configuredAspect.getProvider(OutputGroupProvider.class),
+ configuredAspect.getProvider(FileProvider.class),
+ context);
}
public static ArtifactsToBuild getAllArtifactsToBuild(
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
index a5f2c6bfbd..49f71b605b 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/config/BuildConfiguration.java
@@ -43,7 +43,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Attribute.Configurator;
import com.google.devtools.build.lib.packages.Attribute.SplitTransition;
@@ -1466,8 +1466,8 @@ public final class BuildConfiguration {
* for each configuration represented by this instance.
* TODO(bazel-team): this is a really ugly reverse dependency: factor this away.
*/
- Iterable<DependencyResolver.Dependency> getDependencies(Label label,
- ImmutableSet<AspectWithParameters> aspects);
+ Iterable<DependencyResolver.Dependency> getDependencies(
+ Label label, ImmutableSet<Aspect> aspects);
}
/**
@@ -1540,8 +1540,8 @@ public final class BuildConfiguration {
}
@Override
- public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
- ImmutableSet<AspectWithParameters> aspects) {
+ public Iterable<DependencyResolver.Dependency> getDependencies(
+ Label label, ImmutableSet<Aspect> aspects) {
return ImmutableList.of(
new DependencyResolver.Dependency(label, currentConfiguration, aspects));
}
@@ -1641,8 +1641,8 @@ public final class BuildConfiguration {
}
@Override
- public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
- ImmutableSet<AspectWithParameters> aspects) {
+ public Iterable<DependencyResolver.Dependency> getDependencies(
+ Label label, ImmutableSet<Aspect> aspects) {
return ImmutableList.of(new DependencyResolver.Dependency(label, transition, aspects));
}
}
@@ -1708,8 +1708,8 @@ public final class BuildConfiguration {
@Override
- public Iterable<DependencyResolver.Dependency> getDependencies(Label label,
- ImmutableSet<AspectWithParameters> aspects) {
+ public Iterable<DependencyResolver.Dependency> getDependencies(
+ Label label, ImmutableSet<Aspect> aspects) {
ImmutableList.Builder<DependencyResolver.Dependency> builder = ImmutableList.builder();
for (TransitionApplier applier : appliers) {
builder.addAll(applier.getDependencies(label, aspects));
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
index c12fed248d..aaeb7cddac 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/BuildResultPrinter.java
@@ -107,7 +107,7 @@ class BuildResultPrinter {
for (AspectValue aspect : aspectsToPrint) {
Label label = aspect.getLabel();
- String aspectName = aspect.getAspect().getName();
+ String aspectName = aspect.getConfiguredAspect().getName();
boolean headerFlag = true;
NestedSet<Artifact> importantArtifacts =
TopLevelArtifactHelper.getAllArtifactsToBuild(aspect, context).getImportantArtifacts();
diff --git a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
index 197c550c20..5512a1993b 100644
--- a/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspect.java
@@ -23,8 +23,8 @@ import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.analysis.AnalysisUtils;
-import com.google.devtools.build.lib.analysis.Aspect;
-import com.google.devtools.build.lib.analysis.Aspect.Builder;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect.Builder;
import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -119,9 +119,9 @@ public class AndroidStudioInfoAspect implements ConfiguredNativeAspectFactory {
}
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
- Aspect.Builder builder = new Builder(NAME);
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
+ ConfiguredAspect.Builder builder = new Builder(NAME);
AndroidStudioInfoFilesProvider.Builder providerBuilder =
new AndroidStudioInfoFilesProvider.Builder();
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
index 6f47f9a18c..017a5f3232 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectWithParameters.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Aspect.java
@@ -22,21 +22,21 @@ import java.util.Objects;
* created with help of aspect factory instances and parameters are used to configure them, so we
* have to keep them together.
*/
-public final class AspectWithParameters {
+public final class Aspect {
// TODO(bazel-team): class objects are not really hashable or comparable for equality other than
// by reference. We should identify the aspect here in a way that does not rely on comparison
// by reference so that keys can be serialized and deserialized properly.
private final AspectClass aspectClass;
private final AspectParameters parameters;
- public AspectWithParameters(AspectClass aspect, AspectParameters parameters) {
+ public Aspect(AspectClass aspect, AspectParameters parameters) {
Preconditions.checkNotNull(aspect);
Preconditions.checkNotNull(parameters);
this.aspectClass = aspect;
this.parameters = parameters;
}
- public AspectWithParameters(AspectClass aspect) {
+ public Aspect(AspectClass aspect) {
this(aspect, AspectParameters.EMPTY);
}
@@ -59,10 +59,10 @@ public final class AspectWithParameters {
if (this == other) {
return true;
}
- if (!(other instanceof AspectWithParameters)) {
+ if (!(other instanceof Aspect)) {
return false;
}
- AspectWithParameters that = (AspectWithParameters) other;
+ Aspect that = (Aspect) other;
return Objects.equals(this.aspectClass, that.aspectClass)
&& Objects.equals(this.parameters, that.parameters);
}
@@ -74,7 +74,7 @@ public final class AspectWithParameters {
@Override
public String toString() {
- return String.format("AspectWithParameters %s(%s)", aspectClass, parameters);
+ return String.format("Aspect %s(%s)", aspectClass, parameters);
}
public AspectDefinition getDefinition() {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
index 9b5b5b98f7..de9c5c3e81 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/AspectDefinition.java
@@ -32,8 +32,7 @@ import java.util.Map;
import java.util.Set;
/**
- * The definition of an aspect (see {@link com.google.devtools.build.lib.analysis.Aspect} for more
- * information.)
+ * The definition of an aspect (see {@link Aspect} for moreinformation.)
*
* <p>Contains enough information to build up the configured target graph except for the actual way
* to build the Skyframe node (that is the territory of
@@ -145,7 +144,7 @@ public final class AspectDefinition {
}
LinkedHashMultimap<Attribute, Label> result = LinkedHashMultimap.create();
- for (AspectWithParameters candidateClass : attribute.getAspectsWithParameters(from)) {
+ for (Aspect candidateClass : attribute.getAspects(from)) {
// Check if target satisfies condition for this aspect (has to provide all required
// TransitiveInfoProviders)
if (!advertisedProviders.containsAll(
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
index d11efff42b..9e19e68c66 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Attribute.java
@@ -1332,25 +1332,13 @@ public final class Attribute implements Comparable<Attribute> {
}
/**
- * Returns the set of aspects required for dependencies through this attribute.
+ * Returns the list of aspects required for dependencies through this attribute.
*/
- public ImmutableSet<AspectClass> getAspects() {
- ImmutableSet.Builder<AspectClass> builder = ImmutableSet.builder();
- for (RuleAspect aspect : aspects) {
- builder.add(aspect.getAspectFactory());
- }
- return builder.build();
- }
-
- /**
- * Returns set of pairs of aspect factories and corresponding aspect parameters.
- */
- public ImmutableList<AspectWithParameters> getAspectsWithParameters(Rule rule) {
- ImmutableList.Builder<AspectWithParameters> builder = ImmutableList.builder();
+ public ImmutableList<Aspect> getAspects(Rule rule) {
+ ImmutableList.Builder<Aspect> builder = ImmutableList.builder();
for (RuleAspect aspect : aspects) {
builder.add(
- new AspectWithParameters(
- aspect.getAspectFactory(), aspect.getParametersExtractor().apply(rule)));
+ new Aspect(aspect.getAspectFactory(), aspect.getParametersExtractor().apply(rule)));
}
return builder.build();
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Rule.java b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
index 07f16509aa..027a943e90 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Rule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Rule.java
@@ -737,7 +737,7 @@ public final class Rule implements Target {
BinaryPredicate<Rule, Attribute> predicate) {
LinkedHashMultimap<Attribute, Label> labels = LinkedHashMultimap.create();
for (Attribute attribute : this.getAttributes()) {
- for (AspectWithParameters candidateClass : attribute.getAspectsWithParameters(this)) {
+ for (Aspect candidateClass : attribute.getAspects(this)) {
AspectDefinition.addAllAttributesOfAspect(
Rule.this, labels, candidateClass.getDefinition(), predicate);
}
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
index 3f210f114e..c71e372c9e 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/ConservativeAspectResolver.java
@@ -18,8 +18,8 @@ import com.google.common.collect.ImmutableSet;
import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.Multimap;
import com.google.devtools.build.lib.cmdline.Label;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.Target;
@@ -42,9 +42,9 @@ public class ConservativeAspectResolver implements AspectResolver {
Multimap<Attribute, Label> result = LinkedHashMultimap.create();
for (Attribute attribute : rule.getAttributes()) {
- for (AspectWithParameters aspectWithParameters : attribute.getAspectsWithParameters(rule)) {
+ for (Aspect aspect : attribute.getAspects(rule)) {
AspectDefinition.addAllAttributesOfAspect(
- rule, result, aspectWithParameters.getDefinition(), Rule.ALL_DEPS);
+ rule, result, aspect.getDefinition(), Rule.ALL_DEPS);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
index 3067006d21..4da4f3a260 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/output/PreciseAspectResolver.java
@@ -20,8 +20,8 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.LabelSyntaxException;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.NoSuchThingException;
@@ -95,8 +95,7 @@ public class PreciseAspectResolver implements AspectResolver {
new BinaryPredicate<Rule, Attribute>() {
@Override
public boolean apply(@Nullable Rule rule, Attribute attribute) {
- for (AspectWithParameters aspectWithParameters :
- attribute.getAspectsWithParameters(rule)) {
+ for (Aspect aspectWithParameters : attribute.getAspects(rule)) {
if (!aspectWithParameters.getDefinition().getAttributes().isEmpty()) {
return true;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
index b2a865b88a..eb856708d9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidNeverlinkAspect.java
@@ -14,7 +14,7 @@
package com.google.devtools.build.lib.rules.android;
import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -45,11 +45,11 @@ public class AndroidNeverlinkAspect implements ConfiguredNativeAspectFactory {
"deps", "exports", "runtime_deps", "binary_under_test", "$instrumentation_test_runner");
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
if (!JavaCommon.getConstraints(ruleContext).contains("android")
&& !ruleContext.getRule().getRuleClass().startsWith("android_")) {
- return new Aspect.Builder(NAME).build();
+ return new ConfiguredAspect.Builder(NAME).build();
}
List<TransitiveInfoCollection> deps = new ArrayList<>();
@@ -65,7 +65,7 @@ public class AndroidNeverlinkAspect implements ConfiguredNativeAspectFactory {
deps.addAll(ruleContext.getPrerequisites(attribute, Mode.TARGET));
}
- return new Aspect.Builder(NAME)
+ return new ConfiguredAspect.Builder(NAME)
.addProvider(
AndroidNeverLinkLibrariesProvider.class,
new AndroidNeverLinkLibrariesProvider(
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
index b792bc2b97..59a54702e9 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AbstractJ2ObjcProtoAspect.java
@@ -18,7 +18,7 @@ import static com.google.devtools.build.lib.rules.objc.J2ObjcSource.SourceType;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -75,10 +75,10 @@ public abstract class AbstractJ2ObjcProtoAspect implements ConfiguredNativeAspec
protected abstract boolean checkShouldCreateAspect(RuleContext ruleContext);
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
if (!checkShouldCreateAspect(ruleContext)) {
- return new Aspect.Builder(NAME).build();
+ return new ConfiguredAspect.Builder(NAME).build();
}
ProtoSourcesProvider protoSourcesProvider = base.getProvider(ProtoSourcesProvider.class);
@@ -110,7 +110,7 @@ public abstract class AbstractJ2ObjcProtoAspect implements ConfiguredNativeAspec
NestedSet<Artifact> j2ObjcTransitiveClassMappingFiles = j2ObjcTransitiveClassMappingFiles(
ruleContext, classMappingFiles);
- return new Aspect.Builder(NAME)
+ return new ConfiguredAspect.Builder(NAME)
.addProvider(J2ObjcSrcsProvider.class, j2objcSrcsProvider)
.addProvider(
J2ObjcMappingFileProvider.class,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index 410d6d4bf5..5d28156446 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -24,7 +24,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.Constants;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ParameterFile;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -90,9 +90,9 @@ public class J2ObjcAspect implements ConfiguredNativeAspectFactory {
}
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
- Aspect.Builder builder = new Aspect.Builder(NAME);
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
+ ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(NAME);
JavaCompilationArgsProvider compilationArgsProvider =
base.getProvider(JavaCompilationArgsProvider.class);
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index 1206ccee1d..1e301f5e6c 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -17,8 +17,8 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ListMultimap;
-import com.google.devtools.build.lib.analysis.Aspect;
import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget;
@@ -28,7 +28,6 @@ import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.StoredEventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.NativeAspectClass;
@@ -98,11 +97,11 @@ public final class AspectFunction implements SkyFunction {
NestedSetBuilder<Package> transitivePackages = NestedSetBuilder.stableOrder();
AspectKey key = (AspectKey) skyKey.argument();
ConfiguredAspectFactory aspectFactory;
- if (key.getAspect() instanceof NativeAspectClass<?>) {
+ if (key.getAspectClass() instanceof NativeAspectClass<?>) {
aspectFactory =
- (ConfiguredAspectFactory) ((NativeAspectClass<?>) key.getAspect()).newInstance();
- } else if (key.getAspect() instanceof SkylarkAspectClass) {
- SkylarkAspectClass skylarkAspectClass = (SkylarkAspectClass) key.getAspect();
+ (ConfiguredAspectFactory) ((NativeAspectClass<?>) key.getAspectClass()).newInstance();
+ } else if (key.getAspectClass() instanceof SkylarkAspectClass) {
+ SkylarkAspectClass skylarkAspectClass = (SkylarkAspectClass) key.getAspectClass();
SkylarkAspect skylarkAspect;
try {
skylarkAspect =
@@ -182,7 +181,7 @@ public final class AspectFunction implements SkyFunction {
env,
resolver,
ctgValue,
- key.getAspectWithParameters(),
+ key.getAspect(),
configConditions,
ruleClassProvider,
view.getHostConfiguration(ctgValue.getConfiguration()),
@@ -224,9 +223,14 @@ public final class AspectFunction implements SkyFunction {
return null;
}
- Aspect aspect = view.createAspect(
- analysisEnvironment, associatedTarget, aspectFactory, directDeps, configConditions,
- key.getAspectWithParameters());
+ ConfiguredAspect configuredAspect =
+ view.createAspect(
+ analysisEnvironment,
+ associatedTarget,
+ aspectFactory,
+ directDeps,
+ configConditions,
+ key.getAspect());
events.replayOn(env.getListener());
if (events.hasErrors()) {
@@ -242,13 +246,13 @@ public final class AspectFunction implements SkyFunction {
}
analysisEnvironment.disable(associatedTarget.getTarget());
- Preconditions.checkNotNull(aspect);
+ Preconditions.checkNotNull(configuredAspect);
return new AspectValue(
key,
associatedTarget.getLabel(),
associatedTarget.getTarget().getLocation(),
- aspect,
+ configuredAspect,
ImmutableList.copyOf(analysisEnvironment.getRegisteredActions()),
transitivePackages.build());
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
index 4b0d6785a5..4d5e6c2c2b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java
@@ -16,15 +16,15 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.base.Objects;
import com.google.devtools.build.lib.actions.Action;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.PackageIdentifier;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.events.Location;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.AspectClass;
import com.google.devtools.build.lib.packages.AspectParameters;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -32,7 +32,7 @@ import com.google.devtools.build.skyframe.SkyKey;
import javax.annotation.Nullable;
/**
- * An aspectWithParameters in the context of the Skyframe graph.
+ * An aspect in the context of the Skyframe graph.
*/
public final class AspectValue extends ActionLookupValue {
@@ -50,7 +50,7 @@ public final class AspectValue extends ActionLookupValue {
public static final class AspectKey extends AspectValueKey {
private final Label label;
private final BuildConfiguration configuration;
- private final AspectWithParameters aspectWithParameters;
+ private final Aspect aspect;
protected AspectKey(
Label label,
@@ -59,7 +59,7 @@ public final class AspectValue extends ActionLookupValue {
AspectParameters parameters) {
this.label = label;
this.configuration = configuration;
- this.aspectWithParameters = new AspectWithParameters(aspectClass, parameters);
+ this.aspect = new Aspect(aspectClass, parameters);
}
@Override
@@ -73,21 +73,21 @@ public final class AspectValue extends ActionLookupValue {
return label;
}
- public AspectClass getAspect() {
- return aspectWithParameters.getAspectClass();
+ public AspectClass getAspectClass() {
+ return aspect.getAspectClass();
}
@Nullable
public AspectParameters getParameters() {
- return aspectWithParameters.getParameters();
+ return aspect.getParameters();
}
- public AspectWithParameters getAspectWithParameters() {
- return aspectWithParameters;
+ public Aspect getAspect() {
+ return aspect;
}
public String getDescription() {
- return String.format("%s of %s", aspectWithParameters.getAspectClass().getName(), getLabel());
+ return String.format("%s of %s", aspect.getAspectClass().getName(), getLabel());
}
public BuildConfiguration getConfiguration() {
@@ -96,7 +96,7 @@ public final class AspectValue extends ActionLookupValue {
@Override
public int hashCode() {
- return Objects.hashCode(label, configuration, aspectWithParameters);
+ return Objects.hashCode(label, configuration, aspect);
}
@Override
@@ -112,23 +112,23 @@ public final class AspectValue extends ActionLookupValue {
AspectKey that = (AspectKey) other;
return Objects.equal(label, that.label)
&& Objects.equal(configuration, that.configuration)
- && Objects.equal(aspectWithParameters, that.aspectWithParameters);
+ && Objects.equal(aspect, that.aspect);
}
@Override
public String toString() {
return label
+ "#"
- + aspectWithParameters.getAspectClass().getName()
+ + aspect.getAspectClass().getName()
+ " "
+ (configuration == null ? "null" : configuration.checksum())
+ " "
- + aspectWithParameters.getParameters();
+ + aspect.getParameters();
}
}
/**
- * The key for a skylark aspectWithParameters.
+ * The key for a skylark aspect.
*/
public static class SkylarkAspectLoadingKey extends AspectValueKey {
@@ -180,22 +180,26 @@ public final class AspectValue extends ActionLookupValue {
private final Label label;
private final Location location;
private final AspectKey key;
- private final Aspect aspect;
+ private final ConfiguredAspect configuredAspect;
private final NestedSet<Package> transitivePackages;
public AspectValue(
- AspectKey key, Label label, Location location, Aspect aspect, Iterable<Action> actions,
+ AspectKey key,
+ Label label,
+ Location location,
+ ConfiguredAspect configuredAspect,
+ Iterable<Action> actions,
NestedSet<Package> transitivePackages) {
super(actions);
this.location = location;
this.label = label;
this.key = key;
- this.aspect = aspect;
+ this.configuredAspect = configuredAspect;
this.transitivePackages = transitivePackages;
}
- public Aspect getAspect() {
- return aspect;
+ public ConfiguredAspect getConfiguredAspect() {
+ return configuredAspect;
}
public Label getLabel() {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
index 96dd2cfe21..f19a572f98 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java
@@ -148,7 +148,7 @@ public final class CompletionFunction<TValue extends SkyValue, TResult extends S
String.format(
"%s, aspect %s: missing input file '%s'",
value.getLabel(),
- value.getAspect().getName(),
+ value.getConfiguredAspect().getName(),
rootCause));
}
@@ -157,7 +157,7 @@ public final class CompletionFunction<TValue extends SkyValue, TResult extends S
return new MissingInputFileException(
value.getLabel()
+ ", aspect "
- + value.getAspect().getName()
+ + value.getConfiguredAspect().getName()
+ missingCount
+ " input file(s) do not exist",
value.getLocation());
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index d139ea6215..76ac0f8665 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -26,8 +26,8 @@ import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.Actions;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
-import com.google.devtools.build.lib.analysis.Aspect;
import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.DependencyResolver.Dependency;
import com.google.devtools.build.lib.analysis.LabelAndConfiguration;
@@ -44,8 +44,8 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.StoredEventHandler;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.AspectDefinition;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.BuildType;
@@ -214,7 +214,7 @@ final class ConfiguredTargetFunction implements SkyFunction {
* @param env the Skyframe environment
* @param resolver The dependency resolver
* @param ctgValue The label and the configuration of the node
- * @param aspectWithParameters
+ * @param aspect
* @param configConditions the configuration conditions for evaluating the attributes of the node
* @param ruleClassProvider rule class provider for determining the right configuration fragments
* to apply to deps
@@ -227,7 +227,7 @@ final class ConfiguredTargetFunction implements SkyFunction {
Environment env,
SkyframeDependencyResolver resolver,
TargetAndConfiguration ctgValue,
- AspectWithParameters aspectWithParameters,
+ Aspect aspect,
Set<ConfigMatchingProvider> configConditions,
RuleClassProvider ruleClassProvider,
BuildConfiguration hostConfiguration,
@@ -237,8 +237,7 @@ final class ConfiguredTargetFunction implements SkyFunction {
ListMultimap<Attribute, Dependency> depValueNames;
try {
depValueNames =
- resolver.dependentNodeMap(
- ctgValue, hostConfiguration, aspectWithParameters, configConditions);
+ resolver.dependentNodeMap(ctgValue, hostConfiguration, aspect, configConditions);
} catch (EvalException e) {
env.getListener().handle(Event.error(e.getLocation(), e.getMessage()));
throw new DependencyEvaluationException(new ConfiguredValueCreationException(e.print()));
@@ -263,8 +262,8 @@ final class ConfiguredTargetFunction implements SkyFunction {
}
// Resolve required aspects.
- ListMultimap<SkyKey, Aspect> depAspects = resolveAspectDependencies(
- env, depValues, depValueNames.values(), transitivePackages);
+ ListMultimap<SkyKey, ConfiguredAspect> depAspects =
+ resolveAspectDependencies(env, depValues, depValueNames.values(), transitivePackages);
if (depAspects == null) {
return null;
}
@@ -467,7 +466,7 @@ final class ConfiguredTargetFunction implements SkyFunction {
private static ListMultimap<Attribute, ConfiguredTarget> mergeAspects(
ListMultimap<Attribute, Dependency> depValueNames,
Map<SkyKey, ConfiguredTarget> depConfiguredTargetMap,
- ListMultimap<SkyKey, Aspect> depAspectMap) {
+ ListMultimap<SkyKey, ConfiguredAspect> depAspectMap) {
ListMultimap<Attribute, ConfiguredTarget> result = ArrayListMultimap.create();
for (Map.Entry<Attribute, Dependency> entry : depValueNames.entries()) {
@@ -483,19 +482,21 @@ final class ConfiguredTargetFunction implements SkyFunction {
/**
* Given a list of {@link Dependency} objects, returns a multimap from the {@link SkyKey} of the
- * dependency to the {@link Aspect} instances that should be merged into it.
+ * dependency to the {@link ConfiguredAspect} instances that should be merged into it.
*
* <p>Returns null if the required aspects are not computed yet.
*/
@Nullable
- private static ListMultimap<SkyKey, Aspect> resolveAspectDependencies(Environment env,
- Map<SkyKey, ConfiguredTarget> configuredTargetMap, Iterable<Dependency> deps,
+ private static ListMultimap<SkyKey, ConfiguredAspect> resolveAspectDependencies(
+ Environment env,
+ Map<SkyKey, ConfiguredTarget> configuredTargetMap,
+ Iterable<Dependency> deps,
NestedSetBuilder<Package> transitivePackages)
throws AspectCreationException {
- ListMultimap<SkyKey, Aspect> result = ArrayListMultimap.create();
+ ListMultimap<SkyKey, ConfiguredAspect> result = ArrayListMultimap.create();
Set<SkyKey> aspectKeys = new HashSet<>();
for (Dependency dep : deps) {
- for (AspectWithParameters depAspect : dep.getAspects()) {
+ for (Aspect depAspect : dep.getAspects()) {
aspectKeys.add(createAspectKey(dep.getLabel(), dep.getConfiguration(), depAspect));
}
}
@@ -513,7 +514,7 @@ final class ConfiguredTargetFunction implements SkyFunction {
continue;
}
ConfiguredTarget depConfiguredTarget = configuredTargetMap.get(depKey);
- for (AspectWithParameters depAspect : dep.getAspects()) {
+ for (Aspect depAspect : dep.getAspects()) {
if (!aspectMatchesConfiguredTarget(depConfiguredTarget, depAspect)) {
continue;
}
@@ -538,23 +539,22 @@ final class ConfiguredTargetFunction implements SkyFunction {
// Dependent aspect has either not been computed yet or is in error.
return null;
}
- result.put(depKey, aspectValue.getAspect());
+ result.put(depKey, aspectValue.getConfiguredAspect());
transitivePackages.addTransitive(aspectValue.getTransitivePackages());
}
}
return result;
}
- public static SkyKey createAspectKey(Label label, BuildConfiguration buildConfiguration,
- AspectWithParameters depAspect) {
+ public static SkyKey createAspectKey(
+ Label label, BuildConfiguration buildConfiguration, Aspect depAspect) {
return AspectValue.key(label,
buildConfiguration,
depAspect.getAspectClass(),
depAspect.getParameters());
}
- private static boolean aspectMatchesConfiguredTarget(
- ConfiguredTarget dep, AspectWithParameters aspectClass) {
+ private static boolean aspectMatchesConfiguredTarget(ConfiguredTarget dep, Aspect aspectClass) {
AspectDefinition aspectDefinition = aspectClass.getDefinition();
for (Class<?> provider : aspectDefinition.getRequiredProviders()) {
if (dep.getProvider(provider.asSubclass(TransitiveInfoProvider.class)) == null) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
index 1b90dcec83..b1d0faec8f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
@@ -34,11 +34,10 @@ import com.google.devtools.build.lib.actions.MutableActionGraph;
import com.google.devtools.build.lib.actions.MutableActionGraph.ActionConflictException;
import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
import com.google.devtools.build.lib.analysis.AnalysisFailureEvent;
-import com.google.devtools.build.lib.analysis.Aspect;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.BuildView;
import com.google.devtools.build.lib.analysis.CachingAnalysisEnvironment;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -56,7 +55,7 @@ import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
-import com.google.devtools.build.lib.packages.AspectParameters;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.RuleClassProvider;
@@ -537,16 +536,21 @@ public final class SkyframeBuildView {
}
@Nullable
- public Aspect createAspect(
+ public ConfiguredAspect createAspect(
AnalysisEnvironment env,
RuleConfiguredTarget associatedTarget,
ConfiguredAspectFactory aspectFactory,
ListMultimap<Attribute, ConfiguredTarget> prerequisiteMap,
Set<ConfigMatchingProvider> configConditions,
- AspectWithParameters aspectWithParameters)
- throws InterruptedException {
- return factory.createAspect(env, associatedTarget, aspectFactory, aspectWithParameters,
- prerequisiteMap, configConditions,
+ Aspect aspect)
+ throws InterruptedException {
+ return factory.createAspect(
+ env,
+ associatedTarget,
+ aspectFactory,
+ aspect,
+ prerequisiteMap,
+ configConditions,
getHostConfiguration(associatedTarget.getConfiguration()));
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index a660ba59c9..631fc2f599 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -50,9 +50,9 @@ import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.PackageRootResolutionException;
import com.google.devtools.build.lib.actions.ResourceManager;
import com.google.devtools.build.lib.actions.Root;
-import com.google.devtools.build.lib.analysis.Aspect;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.BuildView.Options;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.DependencyResolver.Dependency;
@@ -77,7 +77,7 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.Reporter;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
@@ -1134,7 +1134,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
final List<SkyKey> skyKeys = new ArrayList<>();
for (Dependency key : keys) {
skyKeys.add(ConfiguredTargetValue.key(key.getLabel(), configs.get(key)));
- for (AspectWithParameters aspect : key.getAspects()) {
+ for (Aspect aspect : key.getAspects()) {
skyKeys.add(
ConfiguredTargetFunction.createAspectKey(key.getLabel(), configs.get(key), aspect));
}
@@ -1153,19 +1153,19 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
ConfiguredTarget configuredTarget =
((ConfiguredTargetValue) result.get(configuredTargetKey)).getConfiguredTarget();
- List<Aspect> aspects = new ArrayList<>();
+ List<ConfiguredAspect> configuredAspects = new ArrayList<>();
- for (AspectWithParameters aspect : key.getAspects()) {
+ for (Aspect aspect : key.getAspects()) {
SkyKey aspectKey =
ConfiguredTargetFunction.createAspectKey(key.getLabel(), configs.get(key), aspect);
if (result.get(aspectKey) == null) {
continue DependentNodeLoop;
}
- aspects.add(((AspectValue) result.get(aspectKey)).getAspect());
+ configuredAspects.add(((AspectValue) result.get(aspectKey)).getConfiguredAspect());
}
- cts.put(key, RuleConfiguredTarget.mergeAspects(configuredTarget, aspects));
+ cts.put(key, RuleConfiguredTarget.mergeAspects(configuredTarget, configuredAspects));
}
return cts.build();
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
index c8775c97c3..707a8963f8 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java
@@ -15,7 +15,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -44,7 +44,8 @@ public class SkylarkAspectFactory implements ConfiguredAspectFactory {
}
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
try (Mutability mutability = Mutability.create("aspect")) {
SkylarkRuleContext skylarkRuleContext;
@@ -79,16 +80,16 @@ public class SkylarkAspectFactory implements ConfiguredAspectFactory {
return null;
}
- Aspect.Builder builder = new Aspect.Builder(name);
+ ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(name);
SkylarkClassObject struct = (SkylarkClassObject) aspectSkylarkObject;
Location loc = struct.getCreationLoc();
for (String key : struct.getKeys()) {
builder.addSkylarkTransitiveInfo(key, struct.getValue(key), loc);
}
- Aspect aspect = builder.build();
+ ConfiguredAspect configuredAspect = builder.build();
SkylarkProviderValidationUtil.checkOrphanArtifacts(ruleContext);
- return aspect;
+ return configuredAspect;
} catch (EvalException e) {
addAspectToStackTrace(base, e);
ruleContext.ruleError("\n" + e.print());
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
index 973a4697ef..c413271186 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectDefinitionTest.java
@@ -47,7 +47,8 @@ public class AspectDefinitionTest {
}
@Override
- public Aspect create(ConfiguredTarget base, RuleContext context, AspectParameters parameters) {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext context, AspectParameters parameters) {
throw new IllegalStateException();
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
index 7341ba1643..9616dffa7c 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/AspectTest.java
@@ -237,13 +237,15 @@ public class AspectTest extends AnalysisTestCase {
}
@Override
- public Aspect create(ConfiguredTarget base,
- RuleContext ruleContext, AspectParameters parameters) throws InterruptedException {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
+ throws InterruptedException {
Object lateBoundPrereq = ruleContext.getPrerequisite(":late", TARGET);
- return new Aspect.Builder("testaspect")
+ return new ConfiguredAspect.Builder("testaspect")
.addProvider(
- new AspectInfo(NestedSetBuilder.create(
- Order.STABLE_ORDER, lateBoundPrereq != null ? "non-empty" : "empty")))
+ new AspectInfo(
+ NestedSetBuilder.create(
+ Order.STABLE_ORDER, lateBoundPrereq != null ? "non-empty" : "empty")))
.build();
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/DependencyResolverTest.java b/src/test/java/com/google/devtools/build/lib/analysis/DependencyResolverTest.java
index 5a190d5915..3bf70e8447 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/DependencyResolverTest.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/DependencyResolverTest.java
@@ -26,7 +26,7 @@ import com.google.devtools.build.lib.analysis.util.AnalysisTestCase;
import com.google.devtools.build.lib.analysis.util.TestAspects;
import com.google.devtools.build.lib.analysis.util.TestAspects.AspectRequiringRule;
import com.google.devtools.build.lib.cmdline.Label;
-import com.google.devtools.build.lib.packages.AspectWithParameters;
+import com.google.devtools.build.lib.packages.Aspect;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.NativeAspectClass;
import com.google.devtools.build.lib.packages.NoSuchThingException;
@@ -113,7 +113,7 @@ public class DependencyResolverTest extends AnalysisTestCase {
return dependencyResolver.dependentNodeMap(
new TargetAndConfiguration(target, getTargetConfiguration()),
getHostConfiguration(),
- aspect != null ? new AspectWithParameters(new NativeAspectClass<T>(aspect)) : null,
+ aspect != null ? new Aspect(new NativeAspectClass<T>(aspect)) : null,
ImmutableSet.<ConfigMatchingProvider>of());
}
@@ -122,7 +122,7 @@ public class DependencyResolverTest extends AnalysisTestCase {
ListMultimap<Attribute, Dependency> dependentNodeMap,
String attrName,
String dep,
- AspectWithParameters... aspects) {
+ Aspect... aspects) {
Attribute attr = null;
for (Attribute candidate : dependentNodeMap.keySet()) {
if (candidate.getName().equals(attrName)) {
@@ -152,10 +152,7 @@ public class DependencyResolverTest extends AnalysisTestCase {
"aspect(name='b', foo=[])");
ListMultimap<Attribute, Dependency> map = dependentNodeMap("//a:a", null);
assertDep(
- map,
- "foo",
- "//a:b",
- new AspectWithParameters(new NativeAspectClass(TestAspects.SimpleAspect.class)));
+ map, "foo", "//a:b", new Aspect(new NativeAspectClass(TestAspects.SimpleAspect.class)));
}
@Test
@@ -167,10 +164,7 @@ public class DependencyResolverTest extends AnalysisTestCase {
ListMultimap<Attribute, Dependency> map =
dependentNodeMap("//a:a", TestAspects.AttributeAspect.class);
assertDep(
- map,
- "foo",
- "//a:b",
- new AspectWithParameters(new NativeAspectClass(TestAspects.AttributeAspect.class)));
+ map, "foo", "//a:b", new Aspect(new NativeAspectClass(TestAspects.AttributeAspect.class)));
}
@Test
@@ -205,18 +199,18 @@ public class DependencyResolverTest extends AnalysisTestCase {
BuildConfiguration host = getHostConfiguration();
BuildConfiguration target = getTargetConfiguration();
- ImmutableSet<AspectWithParameters> twoAspects =
+ ImmutableSet<Aspect> twoAspects =
ImmutableSet.of(
- new AspectWithParameters(new NativeAspectClass(TestAspects.SimpleAspect.class)),
- new AspectWithParameters(new NativeAspectClass(TestAspects.AttributeAspect.class)));
- ImmutableSet<AspectWithParameters> inverseAspects =
+ new Aspect(new NativeAspectClass(TestAspects.SimpleAspect.class)),
+ new Aspect(new NativeAspectClass(TestAspects.AttributeAspect.class)));
+ ImmutableSet<Aspect> inverseAspects =
ImmutableSet.of(
- new AspectWithParameters(new NativeAspectClass(TestAspects.AttributeAspect.class)),
- new AspectWithParameters(new NativeAspectClass(TestAspects.SimpleAspect.class)));
- ImmutableSet<AspectWithParameters> differentAspects =
+ new Aspect(new NativeAspectClass(TestAspects.AttributeAspect.class)),
+ new Aspect(new NativeAspectClass(TestAspects.SimpleAspect.class)));
+ ImmutableSet<Aspect> differentAspects =
ImmutableSet.of(
- new AspectWithParameters(new NativeAspectClass(TestAspects.AttributeAspect.class)),
- new AspectWithParameters(new NativeAspectClass(TestAspects.ErrorAspect.class)));
+ new Aspect(new NativeAspectClass(TestAspects.AttributeAspect.class)),
+ new Aspect(new NativeAspectClass(TestAspects.ErrorAspect.class)));
new EqualsTester()
.addEqualityGroup(
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
index 0a67c921b1..f6d650dc33 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/TestAspects.java
@@ -26,7 +26,7 @@ import com.google.common.base.Function;
import com.google.common.collect.ImmutableCollection;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.analysis.Aspect;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredNativeAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
@@ -149,16 +149,16 @@ public class TestAspects {
*/
public abstract static class BaseAspect implements ConfiguredNativeAspectFactory {
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
String information = parameters.isEmpty()
? ""
: " data " + Iterables.getFirst(parameters.getAttribute("baz"), null);
- return new Aspect.Builder(getClass().getName())
+ return new ConfiguredAspect.Builder(getClass().getName())
.addProvider(
AspectInfo.class,
- new AspectInfo(collectAspectData("aspect " + ruleContext.getLabel() + information,
- ruleContext)))
+ new AspectInfo(
+ collectAspectData("aspect " + ruleContext.getLabel() + information, ruleContext)))
.build();
}
}
@@ -249,7 +249,7 @@ public class TestAspects {
return builder.build();
}
- public Aspect create(
+ public ConfiguredAspect create(
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
StringBuilder information = new StringBuilder("aspect " + ruleContext.getLabel());
if (!parameters.isEmpty()) {
@@ -264,7 +264,7 @@ public class TestAspects {
information.append(dep.getLabel());
}
information.append("]");
- return new Aspect.Builder(getClass().getName())
+ return new ConfiguredAspect.Builder(getClass().getName())
.addProvider(
AspectInfo.class,
new AspectInfo(collectAspectData(information.toString(), ruleContext)))
@@ -283,8 +283,8 @@ public class TestAspects {
*/
public static class ErrorAspect implements ConfiguredNativeAspectFactory {
@Override
- public Aspect create(ConfiguredTarget base, RuleContext ruleContext,
- AspectParameters parameters) {
+ public ConfiguredAspect create(
+ ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
ruleContext.ruleError("Aspect error");
return null;
}
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
index 84b95533a0..2dd238ef6b 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
@@ -22,8 +22,8 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Lists;
import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.Artifact;
-import com.google.devtools.build.lib.analysis.Aspect;
import com.google.devtools.build.lib.analysis.BuildView.AnalysisResult;
+import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.OutputGroupProvider;
import com.google.devtools.build.lib.analysis.actions.BinaryFileWriteAction;
import com.google.devtools.build.lib.analysis.util.BuildViewTestCase;
@@ -78,7 +78,7 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
};
private AnalysisResult analysisResult;
- private Aspect aspect;
+ private ConfiguredAspect configuredAspect;
protected static String jarString(String base, String jar, String iJar, String sourceJar) {
StringBuilder sb = new StringBuilder();
@@ -118,14 +118,14 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
Collection<AspectValue> aspects = analysisResult.getAspects();
assertThat(aspects.size()).isEqualTo(1);
AspectValue value = aspects.iterator().next();
- this.aspect = value.getAspect();
- assertThat(aspect.getName()).isEqualTo(AndroidStudioInfoAspect.NAME);
+ this.configuredAspect = value.getConfiguredAspect();
+ assertThat(configuredAspect.getName()).isEqualTo(AndroidStudioInfoAspect.NAME);
}
protected Map<String, RuleIdeInfo> buildRuleIdeInfo(String target) throws Exception {
buildTarget(target);
AndroidStudioInfoFilesProvider provider =
- aspect.getProvider(AndroidStudioInfoFilesProvider.class);
+ configuredAspect.getProvider(AndroidStudioInfoFilesProvider.class);
Iterable<Artifact> artifacts = provider.getIdeInfoFiles();
ImmutableMap.Builder<String, RuleIdeInfo> builder = ImmutableMap.builder();
for (Artifact artifact : artifacts) {
@@ -138,7 +138,8 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
}
protected List<String> getOutputGroupResult(String outputGroup) {
- OutputGroupProvider outputGroupProvider = this.aspect.getProvider(OutputGroupProvider.class);
+ OutputGroupProvider outputGroupProvider =
+ this.configuredAspect.getProvider(OutputGroupProvider.class);
assert outputGroupProvider != null;
NestedSet<Artifact> artifacts = outputGroupProvider.getOutputGroup(outputGroup);
diff --git a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
index 7633d4fde5..2b02bc1dfb 100644
--- a/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skylark/SkylarkAspectsTest.java
@@ -71,7 +71,7 @@ public class SkylarkAspectsTest extends BuildViewTestCase {
public String apply(AspectValue aspectValue) {
return String.format(
"%s(%s)",
- aspectValue.getAspect().getName(),
+ aspectValue.getConfiguredAspect().getName(),
aspectValue.getLabel().toString());
}
}))
@@ -122,7 +122,8 @@ public class SkylarkAspectsTest extends BuildViewTestCase {
}))
.containsExactly("//test:xxx");
AspectValue aspectValue = analysisResult.getAspects().iterator().next();
- SkylarkProviders skylarkProviders = aspectValue.getAspect().getProvider(SkylarkProviders.class);
+ SkylarkProviders skylarkProviders =
+ aspectValue.getConfiguredAspect().getProvider(SkylarkProviders.class);
assertThat(skylarkProviders).isNotNull();
Object names = skylarkProviders.getValue("target_labels");
assertThat(names).isInstanceOf(SkylarkNestedSet.class);