From f7b5e46edc17d3316b7e1df7a3e522039723b35e Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 14 Jun 2016 13:43:07 +0000 Subject: Fix android deps always being exported in skylark aspect. -- MOS_MIGRATED_REVID=124832306 --- .../lib/ideinfo/AndroidStudioInfoAspectTest.java | 26 ++++++++++++++++++++++ .../devtools/build/lib/ideinfo/intellij_info.bzl | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo') 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 d74a44adad..de4392f844 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 @@ -890,6 +890,32 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase "//java/com/google/example:lib"); } + @Test + public void testAndroidLibraryExportsDoNotOverReport() throws Exception { + scratch.file( + "com/google/example/BUILD", + "android_library(", + " name = 'lib',", + " deps = [':middle'],", + ")", + "android_library(", + " name = 'middle',", + " srcs = ['Middle.java'],", + " deps = [':exported'],", + ")", + "android_library(", + " name = 'exported',", + " srcs = ['Exported.java'],", + ")"); + Map ruleIdeInfos = buildRuleIdeInfo("//com/google/example:lib"); + RuleIdeInfo ruleInfo = getRuleInfoAndVerifyLabel("//com/google/example:lib", ruleIdeInfos); + RuleIdeInfo javaToolchain = Iterables.getOnlyElement(findJavaToolchain(ruleIdeInfos)); + assertThat(ruleInfo.getDependenciesList()).containsExactly( + javaToolchain.getLabel(), + "//com/google/example:middle" + ); + } + @Test public void testSourceFilesAreCorrectlyMarkedAsSourceOrGenerated() throws Exception { scratch.file( diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl index 75d6ce564c..45719b8479 100644 --- a/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl +++ b/src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl @@ -412,7 +412,7 @@ def _aspect_impl(target, ctx): export_deps = set([str(l) for l in target.java.transitive_exports]) # Empty android libraries export all their dependencies. if ctx.rule.kind == "android_library": - if not hasattr(rule_attrs, "src") or not ctx.rule.attr.src: + if not hasattr(rule_attrs, "srcs") or not ctx.rule.attr.srcs: export_deps = export_deps | compiletime_deps # runtime_deps -- cgit v1.2.3