aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2015-09-22 11:58:30 +0000
committerGravatar Laszlo Csomor <laszlocsomor@google.com>2015-09-22 17:07:47 +0000
commit590767e9118a3709e49c44fb77130aa4203d0841 (patch)
treeabddccb9aa2e9b7f89e6eb5205f79c0b7e30bc23 /src/test/java/com/google/devtools/build
parent6bd4f2da3288a1508bdafe3072a1a2f611eb8316 (diff)
Implement support for android_library and android_binary in AndroidStudioInfoAspect.
-- MOS_MIGRATED_REVID=103635637
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r--src/test/java/com/google/devtools/build/lib/ideinfo/AndroidStudioInfoAspectTest.java103
1 files changed, 103 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 0071a6b130..792be894d2 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
@@ -416,6 +416,109 @@ public class AndroidStudioInfoAspectTest extends BuildViewTestCase {
"<jar:com/google/example/foobar-exe.jar><source:com/google/example/foobar-exe-src.jar>");
}
+ public void testAndroidLibrary() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "android_library(",
+ " name = \"l1\",",
+ " manifest = \"Manifesto.xml\",",
+ " custom_package = \"com.google.example\",",
+ " resource_files = [\"r1/values/a.xml\"],",
+ ")",
+ "android_library(",
+ " name = \"l\",",
+ " srcs = [\"Main.java\"],",
+ " deps = [\":l1\"],",
+ " manifest = \"Abracadabra.xml\",",
+ " custom_package = \"com.google.example\",",
+ " resource_files = [\"res/drawable/a.png\", \"res/drawable/b.png\"],",
+ ")");
+ String target = "//com/google/example:l";
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo(target);
+ RuleIdeInfo ruleInfo = getRuleInfoAndVerifyLabel(target, ruleIdeInfos);
+ assertThat(ruleInfo.getKind()).isEqualTo(Kind.ANDROID_LIBRARY);
+ assertThat(relativePathsForSourcesOf(ruleInfo)).containsExactly("com/google/example/Main.java");
+ assertThat(transform(ruleInfo.getJavaRuleIdeInfo().getJarsList(), LIBRARY_ARTIFACT_TO_STRING))
+ .containsExactly("<jar:com/google/example/libl.jar>");
+ assertThat(
+ transform(
+ ruleInfo.getAndroidRuleIdeInfo().getResourcesList(), ARTIFACT_TO_RELATIVE_PATH))
+ .containsExactly("com/google/example/res");
+ assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath())
+ .isEqualTo("com/google/example/Abracadabra.xml");
+ assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example");
+
+ assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1");
+ assertThat(
+ transform(
+ ruleInfo.getAndroidRuleIdeInfo().getTransitiveResourcesList(),
+ ARTIFACT_TO_RELATIVE_PATH))
+ .containsExactly("com/google/example/res", "com/google/example/r1");
+ }
+
+ public void testAndroidBinary() throws Exception {
+ scratch.file(
+ "com/google/example/BUILD",
+ "android_library(",
+ " name = \"l1\",",
+ " manifest = \"Manifesto.xml\",",
+ " custom_package = \"com.google.example\",",
+ " resource_files = [\"r1/values/a.xml\"],",
+ ")",
+ "android_binary(",
+ " name = \"b\",",
+ " srcs = [\"Main.java\"],",
+ " deps = [\":l1\"],",
+ " manifest = \"Abracadabra.xml\",",
+ " custom_package = \"com.google.example\",",
+ " resource_files = [\"res/drawable/a.png\", \"res/drawable/b.png\"],",
+ ")");
+ String target = "//com/google/example:b";
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo(target);
+ RuleIdeInfo ruleInfo = getRuleInfoAndVerifyLabel(target, ruleIdeInfos);
+ assertThat(ruleInfo.getKind()).isEqualTo(Kind.ANDROID_BINARY);
+ assertThat(relativePathsForSourcesOf(ruleInfo)).containsExactly("com/google/example/Main.java");
+ assertThat(transform(ruleInfo.getJavaRuleIdeInfo().getJarsList(), LIBRARY_ARTIFACT_TO_STRING))
+ .containsExactly(
+ "<jar:com/google/example/libb.jar><source:com/google/example/libb-src.jar>");
+ assertThat(
+ transform(
+ ruleInfo.getAndroidRuleIdeInfo().getResourcesList(), ARTIFACT_TO_RELATIVE_PATH))
+ .containsExactly("com/google/example/res");
+ assertThat(ruleInfo.getAndroidRuleIdeInfo().getManifest().getRelativePath())
+ .isEqualTo("com/google/example/Abracadabra.xml");
+ assertThat(ruleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example");
+
+ assertThat(ruleInfo.getDependenciesList()).containsExactly("//com/google/example:l1");
+ assertThat(
+ transform(
+ ruleInfo.getAndroidRuleIdeInfo().getTransitiveResourcesList(),
+ ARTIFACT_TO_RELATIVE_PATH))
+ .containsExactly("com/google/example/res", "com/google/example/r1");
+ }
+
+ public void testAndroidInferredPackage() throws Exception {
+ scratch.file(
+ "java/com/google/example/BUILD",
+ "android_library(",
+ " name = \"l\",",
+ " manifest = \"Manifesto.xml\",",
+ ")",
+ "android_binary(",
+ " name = \"b\",",
+ " srcs = [\"Main.java\"],",
+ " deps = [\":l\"],",
+ " manifest = \"Abracadabra.xml\",",
+ ")");
+ String target = "//java/com/google/example:b";
+ Map<String, RuleIdeInfo> ruleIdeInfos = buildRuleIdeInfo(target);
+ RuleIdeInfo lRuleInfo = getRuleInfoAndVerifyLabel("//java/com/google/example:l", ruleIdeInfos);
+ RuleIdeInfo bRuleInfo = getRuleInfoAndVerifyLabel(target, ruleIdeInfos);
+
+ assertThat(bRuleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example");
+ assertThat(lRuleInfo.getAndroidRuleIdeInfo().getJavaPackage()).isEqualTo("com.google.example");
+ }
+
private Map<String, RuleIdeInfo> buildRuleIdeInfo(String target) throws Exception {
AnalysisResult analysisResult =
update(