From 3a35efffd8ded3685bf56e897c4d9c7007b8836d Mon Sep 17 00:00:00 2001 From: jingwen Date: Sat, 30 Sep 2017 01:36:58 +0200 Subject: Prevent overriding android_library srcless deps configuration value from HostTransition. RELNOTES: None. PiperOrigin-RevId: 170549656 --- .../lib/rules/android/AndroidLibraryTest.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/test/java/com/google/devtools/build/lib') diff --git a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java index 85d0263abf..7c7d821479 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java @@ -1560,4 +1560,32 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { .getPath() .toString()).contains("processed_manifest"); } + + @Test + public void testAndroidLibrary_SrcsLessDepsHostConfigurationNoOverride() throws Exception { + scratch.file( + "java/srclessdeps/BUILD", + "android_library(name = 'dep_for_foo',", + " srcs = ['a.java'],", + " )", + "android_library(name = 'foo',", + " deps = [':dep_for_foo'],", + " )", + "genrule(name = 'some_genrule',", + " tools = [':foo'],", + " outs = ['some_outs'],", + " cmd = '$(location :foo) do_something $@',", + " )"); + + useConfiguration("--experimental_allow_android_library_deps_without_srcs"); + // genrule builds its tools using the host configuration. + ConfiguredTarget genruleTarget = getConfiguredTarget("//java/srclessdeps:some_genrule"); + ConfiguredTarget target = getDirectPrerequisite(genruleTarget, "//java/srclessdeps:foo"); + assertThat( + target + .getConfiguration() + .getFragment(AndroidConfiguration.class) + .allowSrcsLessAndroidLibraryDeps()) + .isTrue(); + } } -- cgit v1.2.3