aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-02-24 15:15:47 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2016-02-24 18:01:57 +0000
commit278e2bea425ab0b10718b3100bde1da7032a9d12 (patch)
treeaef9288f6903b0cc96c6fa974887870495682288 /src/test/java/com/google
parent3b58ea944dee8d50c00696d63b394ec018914d1d (diff)
Expose IDL information about Android targets to Skylark.
Make more tests pass for Skylark IDE info aspect implementation. -- MOS_MIGRATED_REVID=115448483
Diffstat (limited to 'src/test/java/com/google')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java12
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl23
2 files changed, 17 insertions, 18 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 f7daa7bad1..b69f82e6d6 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
@@ -464,10 +464,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
@Test
public void testAspectIsPropagatedAcrossExports() throws Exception {
- if (!isNativeTest()) {
- return;
- }
-
scratch.file(
"com/google/example/BUILD",
"java_library(",
@@ -698,10 +694,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
@Test
public void testAndroidLibraryWithoutAidlHasNoIdlJars() throws Exception {
- if (!isNativeTest()) {
- return;
- }
-
scratch.file(
"java/com/google/example/BUILD",
"android_library(",
@@ -718,10 +710,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase
@Test
public void testAndroidLibraryWithAidlHasIdlJars() throws Exception {
- if (!isNativeTest()) {
- return;
- }
-
scratch.file(
"java/com/google/example/BUILD",
"android_library(",
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 dc650d39c7..4a709f4b20 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
@@ -85,6 +85,13 @@ def annotation_processing_jars(annotation_processing):
source_jar = artifact_location(annotation_processing.source_jar),
)
+def jars_from_output(output):
+ if output == None:
+ return []
+ return [jar
+ for jar in [output.class_jar, output.ijar, output.source_jar]
+ if jar != None and not jar.is_source]
+
def java_rule_ide_info(target, ctx):
if hasattr(ctx.rule.attr, "srcs"):
sources = [artifact_location(file)
@@ -96,8 +103,7 @@ def java_rule_ide_info(target, ctx):
jars = [library_artifact(output) for output in target.java.outputs.jars]
ide_resolve_files = set([jar
for output in target.java.outputs.jars
- for jar in [output.class_jar, output.ijar, output.source_jar]
- if jar != None and not jar.is_source])
+ for jar in jars_from_output(output)])
gen_jars = []
if target.java.annotation_processing and target.java.annotation_processing.enabled:
@@ -119,12 +125,16 @@ def java_rule_ide_info(target, ctx):
def android_rule_ide_info(target, ctx):
if not hasattr(target, 'android'):
- return None
- return struct_omit_none(
+ return (None, set())
+ ide_resolve_files = set(jars_from_output(target.android.idl.output))
+ return (struct_omit_none(
java_package = target.android.java_package,
manifest = artifact_location(target.android.manifest),
apk = artifact_location(target.android.apk),
- )
+ has_idl_sources = target.android.idl.output != None,
+ idl_jar = library_artifact(target.android.idl.output),
+ ),
+ ide_resolve_files)
def collect_transitive_labels(rule_attrs, attr_list):
return [str(dep.label)
@@ -154,7 +164,8 @@ def _aspect_impl(target, ctx):
java_rule_ide_info, java_ide_resolve_files = java_rule_ide_info(target, ctx)
ide_resolve_files = ide_resolve_files | java_ide_resolve_files
- android_rule_ide_info = android_rule_ide_info(target, ctx)
+ android_rule_ide_info, android_ide_resolve_files = android_rule_ide_info(target, ctx)
+ ide_resolve_files = ide_resolve_files | android_ide_resolve_files
info = struct_omit_none(
label = str(target.label),