diff options
author | asteinb <asteinb@google.com> | 2018-03-22 11:15:43 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-22 11:16:59 -0700 |
commit | 4f654dabba9af6e3966c3dcad986094385058562 (patch) | |
tree | d8297bcc77b1ed11c71224fba67a79ba7bfb2403 /src/test/java/com/google/devtools/build | |
parent | 39cef6d6a4a9e3ae80b11a9ccc0f35325852777c (diff) |
Make ManifestMergerAction able to not take a primary manifest
This is the only difference in action implementation required for the new Skylark Android Data API design. Even if rules have resources or assets, after this API is adopted, they will no longer have to specify a primary manifest. Instead, a dummy manifest will be generated (either to merge with dependency manifests, or for use by IDEs if there are no dependency manifests).
Support this in the ManifestMergerAction by supporting not having a --manifest value passed.
RELNOTES: None
PiperOrigin-RevId: 190095623
Diffstat (limited to 'src/test/java/com/google/devtools/build')
-rw-r--r-- | src/test/java/com/google/devtools/build/android/ManifestMergerActionTest.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/android/ManifestMergerActionTest.java b/src/test/java/com/google/devtools/build/android/ManifestMergerActionTest.java index 9b989adba0..264d6f9e85 100644 --- a/src/test/java/com/google/devtools/build/android/ManifestMergerActionTest.java +++ b/src/test/java/com/google/devtools/build/android/ManifestMergerActionTest.java @@ -93,6 +93,36 @@ public class ManifestMergerActionTest { working.toFile().deleteOnExit(); } + @Test + public void testMerge_GenerateDummyManifest() throws Exception { + final Path workingDir = Paths.get(System.getProperty("user.dir")); + assertThat(workingDir.toFile().exists()).isTrue(); + assertThat(workingDir.toFile().isDirectory()).isTrue(); + + Files.createDirectories(working.resolve("output")); + Path mergedManifest = working.resolve("output/mergedManifest.xml"); + + ManifestMergerAction.main( + new String[] { + "--customPackage", + "foo.bar.baz", + "--mergeType", + "LIBRARY", + "--manifestOutput", + mergedManifest.toString() + }); + + assertThat( + Joiner.on(" ") + .join(Files.readAllLines(mergedManifest, UTF_8)) + .replaceAll("\\s+", " ") + .trim()) + .isEqualTo( + "<?xml version=\"1.0\" encoding=\"utf-8\"?> " + + "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" " + + "package=\"foo.bar.baz\" />"); + } + @Test public void testMerge() throws Exception { final Path workingDir = Paths.get(System.getProperty("user.dir")); assertThat(workingDir.toFile().exists()).isTrue(); |