Add support for tags in AndroidStudioInfoAspect.
--
MOS_MIGRATED_REVID=104331163
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 c47d969..b6badb5 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
@@ -219,6 +219,8 @@
outputBuilder.addAllTransitiveDependencies(
transform(provider.getTransitiveDependencies(), LABEL_TO_STRING));
+ outputBuilder.addAllTags(base.getTarget().getAssociatedRule().getRuleTags());
+
final RuleIdeInfo ruleIdeInfo = outputBuilder.build();
ruleContext.registerAction(
makeProtoWriteAction(ruleContext.getActionOwner(), ruleIdeInfo, ideBuildFile));
diff --git a/src/main/protobuf/android_studio_ide_info.proto b/src/main/protobuf/android_studio_ide_info.proto
index ee0d327..70f8761 100644
--- a/src/main/protobuf/android_studio_ide_info.proto
+++ b/src/main/protobuf/android_studio_ide_info.proto
@@ -81,4 +81,6 @@
// kind is one of {JAVA,ANDROID}_{LIBRARY,BINARY,TEST} and JAVA_IMPORT
JavaRuleIdeInfo java_rule_ide_info = 7;
AndroidRuleIdeInfo android_rule_ide_info = 8;
+
+ repeated string tags = 9;
}
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
index 7c78707..8f68ead 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
@@ -631,6 +631,21 @@
.isEqualTo("bad.package.google.example");
}
+ public void testTags() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "java_library(",
+ " name = 'lib',",
+ " srcs = ['Test.java'],",
+ " tags = ['d', 'b', 'c', 'a'],",
+ ")");
+ String target = "//com/google/example:lib";
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo(target);
+ RuleIdeInfo ruleIdeInfo = getRuleInfoAndVerifyLabel(target, ruleIdeInfos);
+ assertThat(ruleIdeInfo.getTagsList())
+ .containsExactly("a", "b", "c", "d");
+ }
+
private Map<String, RuleIdeInfo> buildRuleIdeInfo(String target) throws Exception {
AnalysisResult analysisResult =
update(