From 5e1a420f1b385382a2df5359faf3ae773aa8d61e Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 24 Mar 2017 03:12:29 +0000 Subject: Rollback of commit bd40871283a54268945dcb0c47c0326645ffda18. *** Reason for rollback *** Rolling forward with the correct changes to the AndroidResourceMergingAction. Tested manually. *** Original change description *** Automated [] rollback of commit a58f245a4b40c0ef961b1f30d96b16a9349711c3. *** Reason for rollback *** broke over 100k targets, in the depot, see [] *** Original change description *** Move library R generation to a separate action, ensuring the merging happens off the java critical path. -- PiperOrigin-RevId: 151087737 MOS_MIGRATED_REVID=151087737 --- .../lib/rules/android/AndroidLibraryTest.java | 77 ++++++++++++++-------- 1 file changed, 50 insertions(+), 27 deletions(-) (limited to 'src/test') 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 52cd935e2e..8bba37d7d1 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 @@ -718,8 +718,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { "Hello Android!"); ConfiguredTarget resource = getConfiguredTarget("//c/b/m/a:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("c/b/m/a/b_/res"), args); } @@ -734,8 +736,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { "Hello Android!"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/android/res"), args); } @@ -752,8 +756,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { "Hello Android!"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/android/res"), args); } @@ -768,8 +774,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { "exports_files(['res/values/strings.xml'])"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/other/res"), args); assertNoEvents(); } @@ -787,8 +795,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { ")"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/other/res"), args); assertNoEvents(); } @@ -807,8 +817,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { "exports_files(['res/values/strings.xml'])"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/other/res"), args); assertNoEvents(); } @@ -829,8 +841,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { ")"); ConfiguredTarget resource = getConfiguredTarget("//java/android:r"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/other/res"), args); assertNoEvents(); } @@ -1072,22 +1086,27 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { target.getProvider(AndroidResourcesProvider.class).getDirectAndroidResources()); SpawnAction resourceParserAction = - (SpawnAction) - actionsTestUtil() - .getActionForArtifactEndingWith(artifacts, - "/" + resources.getSymbols().getFilename()); + getGeneratingSpawnAction( + getImplicitOutputArtifact(target, AndroidRuleClasses.ANDROID_MERGED_SYMBOLS)); + + SpawnAction mergeAction = + getGeneratingSpawnAction( + getImplicitOutputArtifact(target, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)); + SpawnAction resourceClassJarAction = (SpawnAction) actionsTestUtil() - .getActionForArtifactEndingWith(artifacts, - "/" + resources.getJavaClassJar().getFilename()); + .getActionForArtifactEndingWith( + artifacts, "/" + resources.getJavaClassJar().getFilename()); + SpawnAction resourceSrcJarAction = (SpawnAction) actionsTestUtil() - .getActionForArtifactEndingWith(artifacts, - "/" + resources.getJavaSourceJar().getFilename()); + .getActionForArtifactEndingWith( + artifacts, "/" + resources.getJavaSourceJar().getFilename()); assertThat(resourceParserAction.getMnemonic()).isEqualTo("AndroidResourceParser"); - assertThat(resourceClassJarAction.getMnemonic()).isEqualTo("AndroidResourceMerger"); + assertThat(mergeAction.getMnemonic()).isEqualTo("AndroidResourceMerger"); + assertThat(resourceClassJarAction.getMnemonic()).isEqualTo("LibraryRClassGenerator"); assertThat(resourceSrcJarAction.getMnemonic()).isEqualTo("AndroidResourceValidator"); // Validator also generates an R.txt. assertThat(resourceSrcJarAction.getOutputs()).contains(resources.getRTxt()); @@ -1357,8 +1376,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { " resource_files = ['d2-res/values/strings.xml'],", " )"); ConfiguredTarget resource = getConfiguredTarget("//java/android/resources/d1:d1"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs(resource, ImmutableList.of("java/android/resources/d1/d1-res"), args); Truth.assertThat(getDirectDependentResourceDirs(resource, args)) .contains("java/android/resources/d2/d2-res"); @@ -1395,8 +1416,10 @@ public class AndroidLibraryTest extends AndroidBuildViewTestCase { " )"); ConfiguredTarget resource = getConfiguredTarget("//java/android/resources/d1:d1"); - List args = ((SpawnAction) getGeneratingAction(getResourceArtifact(resource))) - .getArguments(); + List args = + getGeneratingSpawnAction( + getImplicitOutputArtifact(resource, AndroidRuleClasses.ANDROID_RESOURCES_ZIP)) + .getArguments(); assertPrimaryResourceDirs( resource, ImmutableList.of("java/android/resources/d1/d1-res"), args); Truth.assertThat(getDirectDependentResourceDirs(resource, args)) -- cgit v1.2.3