From ef1a9613cb10320365e3a44ba8f131f7989229b3 Mon Sep 17 00:00:00 2001 From: Ying Wang Date: Wed, 30 Jan 2013 20:44:49 +0000 Subject: [PATCH] Revert "Refactor calculation LOCAL_CHECKED_MODULE" This reverts commit ba99e69424b72ac95581da50c8eea131d398d790 Change-Id: I3c42dea56376d26a5bb77b4944ae17a6875aadbb --- core/base_rules.mk | 30 +++++++++++++----------------- core/java.mk | 12 ++++++++++-- core/main.mk | 2 +- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/core/base_rules.mk b/core/base_rules.mk index dbb06262a..92cf58c22 100644 --- a/core/base_rules.mk +++ b/core/base_rules.mk @@ -526,19 +526,9 @@ endif # !LOCAL_UNINSTALLABLE_MODULE # checked modules, use LOCAL_BUILT_MODULE. This was old # behavior, so it should be a safe default. ifndef LOCAL_CHECKED_MODULE - LOCAL_CHECKED_MODULE := $(LOCAL_BUILT_MODULE) -endif - -# All of the rules after full_classes_compiled_jar are very unlikely -# to fail except for bugs in their respective tools. If you would -# like to run these rules, add the "all" modifier goal to the make -# command line. -need_compile_java := -ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) -ifneq (,$(strip $(all_java_sources)$(full_static_java_libs))$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED))) - need_compile_java := true - LOCAL_CHECKED_MODULE := $(full_classes_compiled_jar) -endif + ifndef LOCAL_SDK_VERSION + LOCAL_CHECKED_MODULE := $(LOCAL_BUILT_MODULE) + endif endif # If they request that this module not be checked, then don't. @@ -595,8 +585,8 @@ ALL_MODULE_TAGS := $(sort $(ALL_MODULE_TAGS) $(LOCAL_MODULE_TAGS)) # it will default to recursive expansion. $(foreach tag,$(LOCAL_MODULE_TAGS),\ $(eval ALL_MODULE_TAGS.$(tag) := \ - $(ALL_MODULE_TAGS.$(tag)) \ - $(LOCAL_INSTALLED_MODULE))) + $(ALL_MODULE_TAGS.$(tag)) \ + $(LOCAL_INSTALLED_MODULE))) # Add this module name to the tag list of each specified tag. $(foreach tag,$(LOCAL_MODULE_TAGS),\ @@ -605,12 +595,18 @@ $(foreach tag,$(LOCAL_MODULE_TAGS),\ ########################################################### ## umbrella targets used to verify builds ########################################################### +check_build_target := $(LOCAL_CHECKED_MODULE) j_or_n := ifneq (,$(filter EXECUTABLES SHARED_LIBRARIES STATIC_LIBRARIES,$(LOCAL_MODULE_CLASS))) j_or_n := native else ifneq (,$(filter JAVA_LIBRARIES APPS,$(LOCAL_MODULE_CLASS))) j_or_n := java +# We don't want to verify the jni code when you just want to check the Java code. +# See LOCAL_CHECKED_MODULE in build/core/java.mk +ifneq (,$(strip $(all_java_sources)$(full_static_java_libs))$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED))) +check_build_target := $(full_classes_compiled_jar) +endif endif endif ifdef LOCAL_IS_HOST_MODULE @@ -620,9 +616,9 @@ h_or_t := target endif ifdef j_or_n -$(j_or_n) $(h_or_t) $(j_or_n)-$(h_or_t) : $(LOCAL_CHECKED_MODULE) +$(j_or_n) $(j_or_n)-$(h_or_t) : $(check_build_target) ifneq (,$(filter $(LOCAL_MODULE_TAGS),tests)) -$(j_or_n)-$(h_or_t)-tests $(j_or_n)-tests $(h_or_t)-tests : $(LOCAL_CHECKED_MODULE) +$(j_or_n)-$(h_or_t)-tests $(j_or_n)-tests $(h_or_t)-tests : $(check_build_target) endif endif diff --git a/core/java.mk b/core/java.mk index eb232b6fd..90861345f 100644 --- a/core/java.mk +++ b/core/java.mk @@ -259,8 +259,7 @@ $(cleantarget): PRIVATE_CLEAN_FILES += $(intermediates.COMMON) # If the module includes java code (i.e., it's not framework-res), compile it. full_classes_jar := built_dex := -# need_compile_java is set in base_rules.mk -ifeq ($(need_compile_java),true) +ifneq (,$(strip $(all_java_sources)$(full_static_java_libs))$(filter true,$(LOCAL_SOURCE_FILES_ALL_GENERATED))) # If LOCAL_BUILT_MODULE_STEM wasn't overridden by our caller, # full_classes_jar will be the same module as LOCAL_BUILT_MODULE. @@ -302,6 +301,15 @@ $(full_classes_compiled_jar): $(java_sources) $(java_resource_sources) $(full_ja $(proto_java_sources_file_stamp) $(LOCAL_ADDITIONAL_DEPENDENCIES) $(transform-java-to-classes.jar) +# All of the rules after full_classes_compiled_jar are very unlikely +# to fail except for bugs in their respective tools. If you would +# like to run these rules, add the "all" modifier goal to the make +# command line. +# This overwrites the value defined in base_rules.mk. That's a little +# dirty. It's preferable to set LOCAL_CHECKED_MODULE, but this has to +# be done after the inclusion of base_rules.mk. +ALL_MODULES.$(LOCAL_MODULE).CHECKED := $(full_classes_compiled_jar) + $(full_classes_compiled_jar): PRIVATE_JAVAC_DEBUG_FLAGS := -g # Run jarjar if necessary, otherwise just copy the file. diff --git a/core/main.mk b/core/main.mk index 9b4d478c3..2960b65ac 100644 --- a/core/main.mk +++ b/core/main.mk @@ -823,7 +823,7 @@ $(call dist-for-goals,sdk win_sdk, \ endif # umbrella targets to assit engineers in verifying builds -.PHONY: java native target host java-host java-target native-host native-target \ +.PHONY: java native java-host java-target native-host native-target \ java-host-tests java-target-tests native-host-tests native-target-tests \ java-tests native-tests host-tests target-tests # some synonyms