diff options
author | 2018-01-10 12:46:34 -0800 | |
---|---|---|
committer | 2018-01-10 12:48:36 -0800 | |
commit | ea41dc4f5179533c3c54a786848157cc17dccac2 (patch) | |
tree | 17a7f759697bde5a21d48f4434ea989881cd1d77 /src/test/java/com/google/devtools | |
parent | 22ccdd1ebe1dc495e05d894a3325f6b05e681fb3 (diff) |
Produce data binding file from compile action when "enable_data_binding" attribute is on.
RELNOTES: none
PiperOrigin-RevId: 181503682
Diffstat (limited to 'src/test/java/com/google/devtools')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java | 46 |
1 files changed, 46 insertions, 0 deletions
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 b9de66d2a3..5515f6b38f 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 @@ -29,6 +29,7 @@ import com.google.devtools.build.lib.actions.util.ActionsTestUtil; import com.google.devtools.build.lib.analysis.ConfiguredTarget; import com.google.devtools.build.lib.analysis.OutputGroupInfo; import com.google.devtools.build.lib.analysis.actions.FileWriteAction; +import com.google.devtools.build.lib.analysis.actions.ParameterFileWriteAction; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.analysis.config.BuildConfiguration; import com.google.devtools.build.lib.analysis.configuredtargets.OutputFileConfiguredTarget; @@ -1542,6 +1543,51 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { } @Test + public void compileDataBindingOutputWhenDataBindingEnabled() throws Exception { + scratch.file( + "sdk/BUILD", + "android_sdk(", + " name = 'sdk',", + " aapt = 'aapt',", + " aapt2 = 'aapt2',", + " adb = 'adb',", + " aidl = 'aidl',", + " android_jar = 'android.jar',", + " annotations_jar = 'annotations_jar',", + " apksigner = 'apksigner',", + " dx = 'dx',", + " framework_aidl = 'framework_aidl',", + " main_dex_classes = 'main_dex_classes',", + " main_dex_list_creator = 'main_dex_list_creator',", + " proguard = 'proguard',", + " shrinked_android_jar = 'shrinked_android_jar',", + " zipalign = 'zipalign')"); + scratch.file( + "java/a/BUILD", + "android_library(", + " name = 'a', ", + " srcs = ['A.java'],", + " enable_data_binding = 1,", + " manifest = 'a/AndroidManifest.xml',", + " resource_files = [ 'res/values/a.xml' ]", + ")"); + useConfiguration("--android_sdk=//sdk:sdk"); + ConfiguredTarget a = getConfiguredTarget("//java/a:a"); + + SpawnAction compileAction = + getGeneratingSpawnAction( + getImplicitOutputArtifact(a, AndroidRuleClasses.ANDROID_COMPILED_SYMBOLS)); + assertThat(compileAction).isNotNull(); + + ParameterFileWriteAction paramsFileAction = findParamsFileAction(compileAction); + if (paramsFileAction == null) { + assertThat(compileAction.getArguments()).contains("--dataBindingInfoOut"); + } else { + assertThat(paramsFileAction.getContents()).contains("--dataBindingInfoOut"); + } + } + + @Test public void testUseManifestFromResourceApk() throws Exception { scratch.file( "java/a/BUILD", |