diff options
author | 2016-02-24 15:15:47 +0000 | |
---|---|---|
committer | 2016-02-24 18:01:57 +0000 | |
commit | 278e2bea425ab0b10718b3100bde1da7032a9d12 (patch) | |
tree | aef9288f6903b0cc96c6fa974887870495682288 /src/test/java/com/google/devtools/build/lib/ideinfo | |
parent | 3b58ea944dee8d50c00696d63b394ec018914d1d (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/devtools/build/lib/ideinfo')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java | 12 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/ideinfo/intellij_info.bzl | 23 |
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), |