diff options
author | Colin Cross <ccross@android.com> | 2017-09-05 22:59:27 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2017-09-05 23:17:35 -0700 |
commit | 85ab406eb2abd2e98fa9a67384223592692c08a9 (patch) | |
tree | 7cb36dfbab9070851ab0c4037e9f9ab4ee5adbfd | |
parent | 3d6e6a63e9ab8b11a56bf103e112713599534d06 (diff) |
Fix intermittent build failures with droiddoc generated sources
Jack builds fail very rarely with missing droiddoc generated
source files. This happens because jack builds have an extra
rule that does a quick check of the sources and touches a
jack.check.timestamp file. The manual dependencies for the
generated sources didn't cover this case. If the sources are
partially generated when the jack.check.timestamp rule runs,
the rule can see partial sources and fail. The same problem
might also happen for javac builds after
https://android-review.googlesource.com/c/platform/build/+/404743
separated the source list generation rule out of the
$(full_classes_jar) rule.
Use LOCAL_ADDITIONAL_DEPENDENCIES instead, which covers these
cases and will be updated to cover future changes.
Bug: 65255877
Test: m -j ANDROID_COMPILE_WITH_JACK=true out/target/common/obj/JAVA_LIBRARIES/android.test.runner.stubs_intermediates/jack.check.timestamp
make sure sources are generated
Change-Id: I4466b3128eb0bba6447c24abf921a6655a3d451f
-rw-r--r-- | legacy-test/Android.mk | 7 | ||||
-rw-r--r-- | test-runner/Android.mk | 14 |
2 files changed, 9 insertions, 12 deletions
diff --git a/legacy-test/Android.mk b/legacy-test/Android.mk index ef2950b2f026..0e6b31e6ebd9 100644 --- a/legacy-test/Android.mk +++ b/legacy-test/Android.mk @@ -94,11 +94,10 @@ LOCAL_MODULE := legacy.test.stubs LOCAL_SOURCE_FILES_ALL_GENERATED := true -include $(BUILD_STATIC_JAVA_LIBRARY) - # Make sure to run droiddoc first to generate the stub source files. -$(full_classes_compiled_jar) : $(legacy_test_api_gen_stamp) -$(full_classes_jack) : $(legacy_test_api_gen_stamp) +LOCAL_ADDITIONAL_DEPENDENCIES := $(legacy_test_api_gen_stamp) + +include $(BUILD_STATIC_JAVA_LIBRARY) # Archive a copy of the classes.jar in SDK build. $(call dist-for-goals,sdk win_sdk,$(full_classes_jar):legacy.test.stubs.jar) diff --git a/test-runner/Android.mk b/test-runner/Android.mk index 3c3718adff0e..060a51895474 100644 --- a/test-runner/Android.mk +++ b/test-runner/Android.mk @@ -107,11 +107,10 @@ LOCAL_JAVA_LIBRARIES := \ LOCAL_SOURCE_FILES_ALL_GENERATED := true -include $(BUILD_STATIC_JAVA_LIBRARY) - # Make sure to run droiddoc first to generate the stub source files. -$(full_classes_compiled_jar) : $(android_test_runner_api_gen_stamp) -$(full_classes_jack) : $(android_test_runner_api_gen_stamp) +LOCAL_ADDITIONAL_DEPENDENCIES := $(android_test_runner_api_gen_stamp) + +include $(BUILD_STATIC_JAVA_LIBRARY) # Archive a copy of the classes.jar in SDK build. $(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.runner.stubs.jar) @@ -202,11 +201,10 @@ LOCAL_MODULE := android.test.mock.stubs LOCAL_SOURCE_FILES_ALL_GENERATED := true -include $(BUILD_STATIC_JAVA_LIBRARY) - # Make sure to run droiddoc first to generate the stub source files. -$(full_classes_compiled_jar) : $(android_test_mock_gen_stamp) -$(full_classes_jack) : $(android_test_mock_gen_stamp) +LOCAL_ADDITIONAL_DEPENDENCIES := $(android_test_mock_gen_stamp) + +include $(BUILD_STATIC_JAVA_LIBRARY) # Archive a copy of the classes.jar in SDK build. $(call dist-for-goals,sdk win_sdk,$(full_classes_jar):android.test.mock.stubs.jar) |