diff options
author | ajmichael <ajmichael@google.com> | 2018-01-18 10:59:28 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-18 11:01:20 -0800 |
commit | 710b9a3af0c1432ed288fe02c8205b645a3e4d52 (patch) | |
tree | c11780bb769a22f27b952581e15ea5e699cc676b /src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java | |
parent | 659974ed5e1fbd2122efc98ed7e1a0e3d5e59472 (diff) |
Fix aar_import.deps to propagate jars.
Previously, aar_import.deps only worked for resource files and
aar_import.exports worked for both resource files and Java. Now,
aar_import.deps works for both as well with the same semantics as exports. This
is not ideal, but it is how java_import.deps currently works.
Fixes https://github.com/bazelbuild/bazel/issues/4472
RELNOTES: None
PiperOrigin-RevId: 182405741
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AarImportTest.java | 26 |
1 files changed, 25 insertions, 1 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 633c934478..b8616517e8 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 @@ -17,6 +17,7 @@ import static com.google.common.truth.Truth.assertThat; import com.google.common.base.Predicates; import com.google.common.collect.Iterables; +import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.analysis.ConfiguredTarget; @@ -46,14 +47,20 @@ public class AarImportTest extends BuildViewTestCase { " aar = 'foo.aar',", ")", "aar_import(", + " name = 'baz',", + " aar = 'baz.aar',", + ")", + "aar_import(", " name = 'bar',", " aar = 'bar.aar',", + " deps = [':baz'],", " exports = [':foo', '//java:baz'],", ")"); scratch.file("java/BUILD", "android_binary(", " name = 'app',", " manifest = 'AndroidManifest.xml',", + " srcs = ['App.java'],", " deps = ['//a:bar'],", ")", "android_library(", @@ -124,7 +131,8 @@ public class AarImportTest extends BuildViewTestCase { androidLibraryTarget.getProvider(NativeLibsZipsProvider.class).getAarNativeLibs(); assertThat(nativeLibs).containsExactly( ActionsTestUtil.getFirstArtifactEndingWith(nativeLibs, "foo/native_libs.zip"), - ActionsTestUtil.getFirstArtifactEndingWith(nativeLibs, "bar/native_libs.zip")); + ActionsTestUtil.getFirstArtifactEndingWith(nativeLibs, "bar/native_libs.zip"), + ActionsTestUtil.getFirstArtifactEndingWith(nativeLibs, "baz/native_libs.zip")); } @Test @@ -180,6 +188,22 @@ public class AarImportTest extends BuildViewTestCase { } @Test + public void testDepsPropagatesMergedAarJars() throws Exception { + Action appCompileAction = + getGeneratingAction( + ActionsTestUtil.getFirstArtifactEndingWith( + actionsTestUtil().artifactClosureOf( + getFileConfiguredTarget("//java:app.apk").getArtifact()), + "libapp.jar")); + assertThat(appCompileAction).isNotNull(); + assertThat(ActionsTestUtil.prettyArtifactNames(appCompileAction.getInputs())) + .containsAllOf( + "a/_aar/foo/classes_and_libs_merged.jar", + "a/_aar/bar/classes_and_libs_merged.jar", + "a/_aar/baz/classes_and_libs_merged.jar"); + } + + @Test public void testExportsPropagatesMergedAarJars() throws Exception { FileConfiguredTarget appTarget = getFileConfiguredTarget("//java:app.apk"); Set<Artifact> artifacts = actionsTestUtil().artifactClosureOf(appTarget.getArtifact()); |