From 0acc6a7a989949635524424d0c88d7dbf32f38f8 Mon Sep 17 00:00:00 2001 From: tomlu Date: Tue, 20 Mar 2018 07:25:33 -0700 Subject: Have the Android R class generators add the target label to the class jar. This re-enables support for add_deps. RELNOTES: None PiperOrigin-RevId: 189737607 --- .../build/android/RClassGeneratorActionTest.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'src/test') diff --git a/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java b/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java index 7e1d8741ca..a26c84e269 100644 --- a/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java +++ b/src/test/java/com/google/devtools/build/android/RClassGeneratorActionTest.java @@ -26,6 +26,7 @@ import java.nio.file.Path; import java.time.Instant; import java.util.Collections; import java.util.List; +import java.util.jar.JarInputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.junit.Assert; @@ -120,7 +121,9 @@ public class RClassGeneratorActionTest { "--library", libBarSymbols + "," + libBarManifest, "--classJarOutput", - jarPath.toString()) + jarPath.toString(), + "--targetLabel", + "//foo:foo") .toArray(new String[0])); assertThat(Files.exists(jarPath)).isTrue(); @@ -143,9 +146,14 @@ public class RClassGeneratorActionTest { "com/google/app/R$integer.class", "com/google/app/R$string.class", "com/google/app/R.class", + "META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } + try (JarInputStream jar = new JarInputStream(Files.newInputStream(jarPath))) { + assertThat(jar.getManifest().getMainAttributes().getValue("Target-Label")) + .isEqualTo("//foo:foo"); + } } @Test @@ -189,6 +197,7 @@ public class RClassGeneratorActionTest { "com/google/bar/R$attr.class", "com/google/bar/R$drawable.class", "com/google/bar/R.class", + "META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } @@ -232,6 +241,7 @@ public class RClassGeneratorActionTest { "com/google/app/R$integer.class", "com/google/app/R$string.class", "com/google/app/R.class", + "META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } @@ -249,7 +259,7 @@ public class RClassGeneratorActionTest { try (ZipFile zip = new ZipFile(jarPath.toFile())) { List zipEntries = Collections.list(zip.entries()); Iterable entries = getZipFilenames(zipEntries); - assertThat(entries).containsExactly("META-INF/MANIFEST.MF"); + assertThat(entries).containsExactly("META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } } @@ -298,6 +308,7 @@ public class RClassGeneratorActionTest { "com/custom/er/R$integer.class", "com/custom/er/R$string.class", "com/custom/er/R.class", + "META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } @@ -328,7 +339,7 @@ public class RClassGeneratorActionTest { try (ZipFile zip = new ZipFile(jarPath.toFile())) { List zipEntries = Collections.list(zip.entries()); Iterable entries = getZipFilenames(zipEntries); - assertThat(entries).containsExactly("META-INF/MANIFEST.MF"); + assertThat(entries).containsExactly("META-INF/", "META-INF/MANIFEST.MF"); ZipMtimeAsserter.assertEntries(zipEntries); } } -- cgit v1.2.3