diff options
author | 2018-01-16 14:18:01 -0800 | |
---|---|---|
committer | 2018-01-16 14:25:11 -0800 | |
commit | 19044cfd268dff2321bd624315912bdbda2e4576 (patch) | |
tree | 6ee77511129c835cc00155abf55e4bf25a2196dc /src/test/java/com/google/devtools/build/lib | |
parent | 8b0934795036154dd4d835ea30770bc0b86243a9 (diff) |
Add assets support to aar_import.
Fixes https://github.com/bazelbuild/bazel/issues/4439.
Empty assets are handled by writing out an empty file named "assets/empty_asset_generated_by_bazel~", which will silently be ignored by AAPT.
RELNOTES: aar_import now supports assets.
PiperOrigin-RevId: 182110400
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java index 207c902f6b..633c934478 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java @@ -13,7 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.rules.android; -import static com.google.common.collect.Streams.stream; import static com.google.common.truth.Truth.assertThat; import com.google.common.base.Predicates; @@ -80,24 +79,26 @@ public class AarImportTest extends BuildViewTestCase { ResourceContainer resourceContainer = directResources.iterator().next(); assertThat(resourceContainer.getManifest()).isNotNull(); - Iterable<Artifact> resourceArtifacts = resourceContainer.getArtifacts(); - assertThat(resourceArtifacts).hasSize(1); - - Artifact resourceTreeArtifact = resourceArtifacts.iterator().next(); + Artifact resourceTreeArtifact = Iterables.getOnlyElement(resourceContainer.getResources()); assertThat(resourceTreeArtifact.isTreeArtifact()).isTrue(); assertThat(resourceTreeArtifact.getExecPathString()).endsWith("_aar/unzipped/resources/foo"); + + Artifact assetsTreeArtifact = Iterables.getOnlyElement(resourceContainer.getAssets()); + assertThat(assetsTreeArtifact.isTreeArtifact()).isTrue(); + assertThat(assetsTreeArtifact.getExecPathString()).endsWith("_aar/unzipped/assets/foo"); } @Test public void testResourcesExtractor() throws Exception { - AndroidResourcesProvider resourcesProvider = - getConfiguredTarget("//a:foo").getProvider(AndroidResourcesProvider.class); - - Artifact resourceTreeArtifact = - stream(resourcesProvider.getDirectAndroidResources()) - .flatMap(resourceContainer -> resourceContainer.getResources().stream()) - .findFirst() - .get(); + ResourceContainer resourceContainer = + getConfiguredTarget("//a:foo") + .getProvider(AndroidResourcesProvider.class) + .getDirectAndroidResources() + .toList() + .get(0); + + Artifact resourceTreeArtifact = resourceContainer.getResources().get(0); + Artifact assetsTreeArtifact = resourceContainer.getAssets().get(0); Artifact aarResourcesExtractor = getHostConfiguredTarget( ruleClassProvider.getToolsRepository() + "//tools/android:aar_resources_extractor") @@ -110,7 +111,9 @@ public class AarImportTest extends BuildViewTestCase { "--input_aar", "a/foo.aar", "--output_res_dir", - resourceTreeArtifact.getExecPathString()); + resourceTreeArtifact.getExecPathString(), + "--output_assets_dir", + assetsTreeArtifact.getExecPathString()); } @Test |