aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-02-11 15:10:22 +0000
committerGravatar David Chen <dzc@google.com>2016-02-11 22:21:22 +0000
commite7226d177b7359607bee6468559d2479f5d87cc6 (patch)
treee5668de6b8a9cd22714e5f4650fb9d2cd4054d28 /src/test
parent42267d6e9454e861ef646688e5ae838ab456af47 (diff)
Add support for java_imports to Skylark IDE info aspect.
-- MOS_MIGRATED_REVID=114434073
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java8
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java4
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl19
3 files changed, 16 insertions, 15 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 ea51474b4b..a72aedfdac 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
@@ -323,10 +323,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
@Test
public void testJavaImport() throws Exception {
- if (!isNativeTest()) {
- return;
- }
-
scratch.file(
"com/google/example/BUILD",
"java_import(",
@@ -434,10 +430,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
@Test
public void testGeneratedJavaImportFilesAreAddedToOutputGroup() throws Exception {
- if (!isNativeTest()) {
- return;
- }
-
scratch.file(
"com/google/example/BUILD",
"java_import(",
diff --git a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
index f91eec07ea..03235a93f4 100644
--- a/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
+++ b/src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTestBase.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.lib.ideinfo;
import static com.google.common.collect.Iterables.transform;
import static com.google.common.truth.Truth.assertThat;
+import static com.google.common.truth.Truth.assertWithMessage;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -164,7 +165,8 @@ abstract class AndroidStudioInfoAspectTestBase extends BuildViewTestCase {
NestedSet<Artifact> artifacts = outputGroupProvider.getOutputGroup(outputGroup);
for (Artifact artifact : artifacts) {
- assertThat(getGeneratingAction(artifact)).isNotNull();
+ assertWithMessage("Artifact %s has no generating action", artifact)
+ .that(getGeneratingAction(artifact)).isNotNull();
}
List<String> artifactRelativePaths = Lists.newArrayList();
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 0fb3dc6aeb..7826fb7237 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
@@ -60,7 +60,7 @@ def artifact_location(file):
)
def library_artifact(java_output):
- if java_output == None:
+ if java_output == None or java_output.class_jar == None:
return None
return struct_omit_none(
jar = artifact_location(java_output.class_jar),
@@ -74,6 +74,11 @@ def annotation_processing_jars(annotation_processing):
source_jar = artifact_location(annotation_processing.source_jar),
)
+def add_jar_to_set(s, file):
+ if file != None and not file.is_source:
+ return s | set([file])
+ else:
+ return s
def java_rule_ide_info(target, ctx):
if hasattr(ctx.rule.attr, "srcs"):
@@ -82,11 +87,12 @@ def java_rule_ide_info(target, ctx):
for file in src.files]
else:
sources = []
+
jars = [library_artifact(output) for output in target.java.outputs.jars]
ide_resolve_files = set([jar
- for jar in [output.class_jar, output.ijar, output.source_jar]
for output in target.java.outputs.jars
- if jar != None])
+ for jar in [output.class_jar, output.ijar, output.source_jar]
+ if jar != None and not jar.is_source])
gen_jars = []
if target.java.annotation_processing and target.java.annotation_processing.enabled:
@@ -94,11 +100,12 @@ def java_rule_ide_info(target, ctx):
ide_resolve_files = ide_resolve_files | set([ jar
for jar in [target.java.annotation_processing.class_jar,
target.java.annotation_processing.source_jar]
- if jar != None])
+ if jar != None and not jar.is_source])
jdeps = artifact_location(target.java.outputs.jdeps)
- return (struct(sources = sources,
+ return (struct_omit_none(
+ sources = sources,
jars = jars,
jdeps = jdeps,
generated_jars = gen_jars
@@ -125,7 +132,7 @@ def _aspect_impl(target, ctx):
if kind != _unrecognized_rule:
if is_java_rule(target, ctx):
java_rule_ide_info, java_ide_resolve_files = java_rule_ide_info(target, ctx)
- ide_resolve_files += java_ide_resolve_files
+ ide_resolve_files = ide_resolve_files | java_ide_resolve_files
info = struct(
label = str(target.label),
kind = kind,