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
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user