From 1dbbd3c0565355a25f0a29d9704b4f0f660a3cdb Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Tue, 23 Feb 2016 19:30:26 +0000 Subject: Add initial Skylark API for Android rules. -- MOS_MIGRATED_REVID=115364137 --- .../lib/ideinfo/AndroidStudioInfoAspectTest.java | 29 +++++++--------------- .../devtools/build/lib/ideinfo/intellij_info.bzl | 15 ++++++++++- 2 files changed, 23 insertions(+), 21 deletions(-) (limited to 'src/test/java/com/google/devtools/build/lib/ideinfo') 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 11f8e06625..2220848a53 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 @@ -590,10 +590,10 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase transform( ruleInfo.getAndroidRuleIdeInfo().getResourcesList(), ARTIFACT_TO_RELATIVE_PATH)) .containsExactly("com/google/example/res"); - assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath()) - .isEqualTo("com/google/example/AndroidManifest.xml"); - assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example"); } + assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath()) + .isEqualTo("com/google/example/AndroidManifest.xml"); + assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example"); assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1"); assertThat(getIdeResolveFiles()).containsExactly( @@ -647,12 +647,13 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase transform( ruleInfo.getAndroidRuleIdeInfo().getResourcesList(), ARTIFACT_TO_RELATIVE_PATH)) .containsExactly("com/google/example/res"); - assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath()) - .isEqualTo("com/google/example/AndroidManifest.xml"); - assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example"); - assertThat(ruleInfo.getAndroidRuleIdeInfo().getApk().getRelativePath()) - .isEqualTo("com/google/example/b.apk"); } + assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath()) + .isEqualTo("com/google/example/AndroidManifest.xml"); + assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example"); + assertThat(ruleInfo.getAndroidRuleIdeInfo().getApk().getRelativePath()) + .isEqualTo("com/google/example/b.apk"); + assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1"); @@ -675,10 +676,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase @Test public void testAndroidInferredPackage() throws Exception { - if (!isNativeTest()) { - return; - } - scratch.file( "java/com/google/example/BUILD", "android_library(", @@ -753,10 +750,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase @Test public void testAndroidLibraryGeneratedManifestIsAddedToOutputGroup() throws Exception { - if (!isNativeTest()) { - return; - } - scratch.file( "com/google/example/BUILD", "android_library(", @@ -836,10 +829,6 @@ public class AndroidStudioInfoAspectTest extends AndroidStudioInfoAspectTestBase @Test public void testNonConformingPackageName() throws Exception { - if (!isNativeTest()) { - return; - } - scratch.file( "bad/package/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 314ca1deee..98c2a1b17e 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 @@ -112,6 +112,15 @@ def java_rule_ide_info(target, ctx): ), ide_resolve_files) +def android_rule_ide_info(target, ctx): + if not hasattr(target, 'android'): + return None + return struct_omit_none( + java_package = target.android.java_package, + manifest = artifact_location(target.android.manifest), + apk = artifact_location(target.android.apk), + ) + def _aspect_impl(target, ctx): kind = get_kind(target, ctx) @@ -133,12 +142,16 @@ def _aspect_impl(target, ctx): if is_java_rule(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 - info = struct( + + android_rule_ide_info = android_rule_ide_info(target, ctx) + + info = struct_omit_none( label = str(target.label), kind = kind, dependencies = all_deps, build_file_artifact_location = build_file_artifact_location(ctx.build_file_path), java_rule_ide_info = java_rule_ide_info, + android_rule_ide_info = android_rule_ide_info, tags = ctx.rule.attr.tags, ) else: -- cgit v1.2.3