Add 'aspect_id' for to identify aspects that has been applied to the target.
Add a concept of aspect_id: an unique string that identifies a
propagating aspect (aspect class + parameters).
This string is designed to be:
- Unique for each aspect
- human-readable for debugging purposes
- not easily parsable.
Skylark API:
- `ctx.aspect_id` returns an identifier of the current aspect inside
aspect implementation function
- `Target.aspect_ids` return a list of aspect ids for aspects applied to
a given Target (https://www.bazel.io/versions/master/docs/skylark/lib/Target.html)
--
PiperOrigin-RevId: 141057865
MOS_MIGRATED_REVID=141057865
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 bda14e9..0878b2c 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
@@ -73,6 +73,7 @@
@Nullable ConfigurationFragmentPolicy configurationFragmentPolicy) {
this.aspectClass = aspectClass;
this.requiredProviderSets = requiredProviderSets;
+
this.attributes = attributes;
this.attributeAspects = attributeAspects;
this.configurationFragmentPolicy = configurationFragmentPolicy;