diff options
author | 2016-09-02 23:01:04 +0000 | |
---|---|---|
committer | 2016-09-06 15:38:13 +0000 | |
commit | 6b4b269adf1ae367a7df006d6c86b4ff6a592678 (patch) | |
tree | 5ba2216a451fd332d9ce5073be200ed8954419fe /src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java | |
parent | 7382c11818cff73851ae484dfc201126db06a1b5 (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.java | 53 |
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", |