aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-09-02 23:01:04 +0000
committerGravatar Kristina Chodorow <kchodorow@google.com>2016-09-06 15:38:13 +0000
commit6b4b269adf1ae367a7df006d6c86b4ff6a592678 (patch)
tree5ba2216a451fd332d9ce5073be200ed8954419fe /src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java
parent7382c11818cff73851ae484dfc201126db06a1b5 (diff)
Adds a jar filter to the IntelliJ IDE aspect.
Any java rule that mixes generated and non-generated sources will produce a filtered jar containing only the generated output. For a java rule with only "normal" sources or only generated source files, no filtered jar is produced. This will allow the IDE to resolve those generated sources. RELNOTES:None -- MOS_MIGRATED_REVID=132113568
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java53
1 files changed, 53 insertions, 0 deletions
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 d06352e17b..0a375a2666 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
@@ -118,6 +118,59 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
}
@Test
+ public void testFilteredGenJarNotCreatedForSourceOnlyRule() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "java_library(",
+ " name = 'simple',",
+ " srcs = ['Test.java']",
+ ")");
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo("//com/google/example:simple");
+ RuleIdeInfo ruleIdeInfo = getRuleInfoAndVerifyLabel(
+ "//com/google/example:simple", ruleIdeInfos);
+ assertThat(ruleIdeInfo.getJavaRuleIdeInfo().hasFilteredGenJar()).isFalse();
+ }
+
+ @Test
+ public void testFilteredGenJarNotCreatedForOnlyGenRule() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "genrule(",
+ " name = 'gen_sources',",
+ " outs = ['Gen.java'],",
+ " cmd = '',",
+ ")",
+ "java_library(",
+ " name = 'simple',",
+ " srcs = [':gen_sources']",
+ ")");
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo("//com/google/example:simple");
+ RuleIdeInfo ruleIdeInfo = getRuleInfoAndVerifyLabel(
+ "//com/google/example:simple", ruleIdeInfos);
+ assertThat(ruleIdeInfo.getJavaRuleIdeInfo().hasFilteredGenJar()).isFalse();
+ }
+
+ @Test
+ public void testFilteredGenJarIsCreatedForMixedGenAndSourcesRule() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "genrule(",
+ " name = 'gen_sources',",
+ " outs = ['Gen.java'],",
+ " cmd = '',",
+ ")",
+ "java_library(",
+ " name = 'simple',",
+ " srcs = [':gen_sources', 'Test.java']",
+ ")");
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo("//com/google/example:simple");
+ RuleIdeInfo ruleIdeInfo = getRuleInfoAndVerifyLabel(
+ "//com/google/example:simple", ruleIdeInfos);
+ assertThat(ruleIdeInfo.getJavaRuleIdeInfo().getFilteredGenJar().getJar().getRelativePath())
+ .isEqualTo("com/google/example/simple-filtered-gen.jar");
+ }
+
+ @Test
public void testJavaLibraryWithDependencies() throws Exception {
scratch.file(
"com/google/example/BUILD",