aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
authorGravatar ajmichael <ajmichael@google.com>2018-01-16 14:18:01 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-16 14:25:11 -0800
commit19044cfd268dff2321bd624315912bdbda2e4576 (patch)
tree6ee77511129c835cc00155abf55e4bf25a2196dc /src/test/java/com/google/devtools/build/lib
parent8b0934795036154dd4d835ea30770bc0b86243a9 (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.java31
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