Provide AspectDescriptor to ConfiguredAspect.
Also clean up the setting of aspect name in ConfiguredAspect and
AspectDefintion - it is now obtained from the AspectClass.
--
MOS_MIGRATED_REVID=140357052
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
index 1c6eebd..a6363b7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
@@ -117,9 +117,9 @@
@Override
public Object getValue(String name) {
- if (name.equals("label")) {
+ if (name.equals(LABEL_FIELD)) {
return getLabel();
- } else if (name.equals("files")) {
+ } else if (name.equals(FILES_FIELD)) {
// A shortcut for files to build in Skylark. FileConfiguredTarget and RuleConfiguredTarget
// always has FileProvider and Error- and PackageGroupConfiguredTarget-s shouldn't be
// accessible in Skylark.
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 4d31393..e743a92 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
@@ -49,7 +49,7 @@
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters) {
if (!JavaCommon.getConstraints(ruleContext).contains("android")
&& !ruleContext.getRule().getRuleClass().startsWith("android_")) {
- return new ConfiguredAspect.Builder(NAME, ruleContext).build();
+ return new ConfiguredAspect.Builder(this, parameters, ruleContext).build();
}
List<TransitiveInfoCollection> deps = new ArrayList<>();
@@ -65,7 +65,7 @@
deps.addAll(ruleContext.getPrerequisites(attribute, Mode.TARGET));
}
- return new ConfiguredAspect.Builder(NAME, ruleContext)
+ return new ConfiguredAspect.Builder(this, parameters, ruleContext)
.addProvider(
AndroidNeverLinkLibrariesProvider.create(
AndroidCommon.collectTransitiveNeverlinkLibraries(
@@ -77,7 +77,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
- AspectDefinition.Builder builder = new AspectDefinition.Builder("AndroidNeverlinkAspect");
+ AspectDefinition.Builder builder = new AspectDefinition.Builder(this);
for (String attribute : ATTRIBUTES) {
builder.attributeAspect(attribute, this);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
index de29a01..eec142c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/DexArchiveAspect.java
@@ -110,7 +110,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters params) {
- AspectDefinition.Builder result = new AspectDefinition.Builder(NAME)
+ AspectDefinition.Builder result = new AspectDefinition.Builder(this)
// Actually we care about JavaRuntimeJarProvider, but rules don't advertise that provider.
.requireProvider(JavaCompilationArgsProvider.class)
// Parse labels since we don't have RuleDefinitionEnvironment.getLabel like in a rule
@@ -136,7 +136,7 @@
@Override
public ConfiguredAspect create(ConfiguredTarget base, RuleContext ruleContext,
AspectParameters params) throws InterruptedException {
- ConfiguredAspect.Builder result = new ConfiguredAspect.Builder(NAME, ruleContext);
+ ConfiguredAspect.Builder result = new ConfiguredAspect.Builder(this, params, ruleContext);
Function<Artifact, Artifact> desugaredJars =
desugarJarsIfRequested(base, ruleContext, result);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java b/src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java
index 0a39076..4df83e7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/JackAspect.java
@@ -60,7 +60,7 @@
throw new IllegalStateException(e);
}
- return new AspectDefinition.Builder("JackAspect")
+ return new AspectDefinition.Builder(this)
.requireProvider(JavaSourceInfoProvider.class)
.add(attr(":android_sdk", LABEL)
.allowedRuleClasses("android_sdk")
@@ -76,7 +76,7 @@
public ConfiguredAspect create(
ConfiguredTarget base, RuleContext ruleContext, AspectParameters params) {
if (base.getProvider(JackLibraryProvider.class) != null) {
- return new ConfiguredAspect.Builder(NAME, ruleContext).build();
+ return new ConfiguredAspect.Builder(this, params, ruleContext).build();
}
JavaSourceInfoProvider sourceProvider = base.getProvider(JavaSourceInfoProvider.class);
PathFragment rulePath = ruleContext.getLabel().toPathFragment();
@@ -116,7 +116,7 @@
JavaCommon.isNeverLink(ruleContext)
? jackHelper.compileAsNeverlinkLibrary()
: jackHelper.compileAsLibrary();
- return new ConfiguredAspect.Builder(NAME, ruleContext).addProvider(result).build();
+ return new ConfiguredAspect.Builder(this, params, ruleContext).addProvider(result).build();
}
/** Gets a list of targets on the given LABEL_LIST attribute if it exists, else an empty list. */
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
index 5760cbd..7ae7cad 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
@@ -89,7 +89,7 @@
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
ConfiguredAspect.Builder aspect =
- new ConfiguredAspect.Builder(getClass().getSimpleName(), ruleContext);
+ new ConfiguredAspect.Builder(this, parameters, ruleContext);
// Get SupportData, which is provided by the proto_library rule we attach to.
SupportData supportData =
@@ -103,7 +103,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
AspectDefinition.Builder result =
- new AspectDefinition.Builder(getClass().getSimpleName())
+ new AspectDefinition.Builder(this)
.attributeAspect("deps", this)
.requiresConfigurationFragments(JavaConfiguration.class, ProtoConfiguration.class)
.requireProvider(ProtoSourcesProvider.class)
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
index 721648f..9de5625 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
@@ -125,7 +125,7 @@
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
ConfiguredAspect.Builder aspect =
- new ConfiguredAspect.Builder(getClass().getSimpleName(), ruleContext);
+ new ConfiguredAspect.Builder(this, parameters, ruleContext);
if (!rpcSupport.checkAttributes(ruleContext, parameters)) {
return aspect.build();
@@ -153,7 +153,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
AspectDefinition.Builder result =
- new AspectDefinition.Builder(getClass().getSimpleName())
+ new AspectDefinition.Builder(this)
.attributeAspect("deps", this)
.requiresConfigurationFragments(JavaConfiguration.class, ProtoConfiguration.class)
.requireProvider(ProtoSourcesProvider.class)
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 c4dabc6..a6a8a1e 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
@@ -82,7 +82,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
- AspectDefinition.Builder builder = new AspectDefinition.Builder("J2ObjcProtoAspect")
+ AspectDefinition.Builder builder = new AspectDefinition.Builder(this)
.requireProvider(ProtoSourcesProvider.class)
.requiresConfigurationFragments(
AppleConfiguration.class,
@@ -125,7 +125,7 @@
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
if (!checkShouldCreateAspect(ruleContext)) {
- return new ConfiguredAspect.Builder(getName(), ruleContext).build();
+ return new ConfiguredAspect.Builder(this, parameters, ruleContext).build();
}
ProtoSourcesProvider protoSourcesProvider = base.getProvider(ProtoSourcesProvider.class);
@@ -195,7 +195,7 @@
NestedSet<Artifact> j2ObjcTransitiveClassMappingFiles = j2ObjcTransitiveClassMappingFiles(
ruleContext, classMappingFiles);
- return new ConfiguredAspect.Builder(getName(), ruleContext)
+ return new ConfiguredAspect.Builder(this, parameters, ruleContext)
.addProviders(
new J2ObjcMappingFileProvider(
j2ObjcTransitiveHeaderMappingFiles,
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 4653d1f..8679970 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
@@ -106,7 +106,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
- return addAdditionalAttributes(new AspectDefinition.Builder("J2ObjCAspect"))
+ return addAdditionalAttributes(new AspectDefinition.Builder(this))
.attributeAspect("deps", this, j2ObjcProtoAspect)
.attributeAspect("exports", this, j2ObjcProtoAspect)
.attributeAspect("runtime_deps", this, j2ObjcProtoAspect)
@@ -167,7 +167,7 @@
public ConfiguredAspect create(
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
- ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(NAME, ruleContext);
+ ConfiguredAspect.Builder builder = new ConfiguredAspect.Builder(this, parameters, ruleContext);
JavaCompilationArgsProvider compilationArgsProvider =
base.getProvider(JavaCompilationArgsProvider.class);
JavaSourceInfoProvider sourceInfoProvider =
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
index 4184f70..fa959e1 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoAspect.java
@@ -35,7 +35,7 @@
@Override
public AspectDefinition getDefinition(AspectParameters aspectParameters) {
- return new AspectDefinition.Builder(NAME)
+ return new AspectDefinition.Builder(this)
.attributeAspect("deps", this)
.build();
}
@@ -44,7 +44,8 @@
public ConfiguredAspect create(
ConfiguredTarget base, RuleContext ruleContext, AspectParameters parameters)
throws InterruptedException {
- ConfiguredAspect.Builder aspectBuilder = new ConfiguredAspect.Builder(NAME, ruleContext);
+ ConfiguredAspect.Builder aspectBuilder = new ConfiguredAspect.Builder(
+ this, parameters, ruleContext);
ObjcProtoProvider.Builder aspectObjcProtoProvider = new ObjcProtoProvider.Builder();