Skip to content
This repository has been archived by the owner on Nov 1, 2020. It is now read-only.

Commit

Permalink
Fix intermittent build failures with droiddoc generated sources
Browse files Browse the repository at this point in the history
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
Merged-In: I4466b3128eb0bba6447c24abf921a6655a3d451f
(cherry picked from commit 85ab406)
  • Loading branch information
colincross committed Sep 9, 2017
1 parent e501718 commit ff496c1
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 12 deletions.
7 changes: 3 additions & 4 deletions legacy-test/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
14 changes: 6 additions & 8 deletions test-runner/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit ff496c1

Please sign in to comment.