aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-01-10 12:46:34 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-10 12:48:36 -0800
commitea41dc4f5179533c3c54a786848157cc17dccac2 (patch)
tree17a7f759697bde5a21d48f4434ea989881cd1d77 /src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java
parent22ccdd1ebe1dc495e05d894a3325f6b05e681fb3 (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/build/lib/rules/android/AndroidLibraryTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/rules/android/AndroidLibraryTest.java46
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",