From 3a1072a839b9be70e69f11a6467e732125c8adb6 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Tue, 14 May 2019 22:03:58 -0700 Subject: [PATCH 1/2] Obsolete BUILD_BROKEN_ANDROIDMK_EXPORTS Bug: 73959648 Test: treehugger Change-Id: Ibecc6eb97fef6924e5d909c0393d8dfaa62c7d1d --- Changes.md | 13 +++++-------- core/board_config.mk | 5 ----- core/config.mk | 5 ++--- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/Changes.md b/Changes.md index 6b3095cfc..2cea33412 100644 --- a/Changes.md +++ b/Changes.md @@ -194,11 +194,9 @@ you're not trying to actively debug the kernel. ## `export` and `unexport` deprecation {#export_keyword} -The `export` and `unexport` keywords have been deprecated, and will throw -warnings or errors depending on where they are used. +The `export` and `unexport` keywords are obsolete, and will throw errors when +used. -Early in the make system, during product configuration and BoardConfig.mk -reading: these will throw a warnings, and will be an error in the future. Device specific configuration should not be able to affect common core build steps -- we're looking at triggering build steps to be invalidated if the set of environment variables they can access changes. If device specific @@ -206,10 +204,9 @@ configuration is allowed to change those, switching devices with the same output directory could become significantly more expensive than it already can be. -Later, during Android.mk files, and later tasks: these will throw errors, since -it is increasingly likely that they are being used incorrectly, attempting to -change the environment for a single build step, and instead setting it for -hundreds of thousands. +If used during Android.mk files, and later tasks, it is increasingly likely +that they are being used incorrectly. Attempting to change the environment for +a single build step, and instead setting it for hundreds of thousands. It is not recommended to just move the environment variable setting outside of the build (in vendorsetup.sh, or some other configuration script or wrapper). diff --git a/core/board_config.mk b/core/board_config.mk index 851bf8a16..9c9e8b18c 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -85,7 +85,6 @@ _dynamic_partitions_var_list += \ _board_strip_readonly_list += $(_dynamic_partitions_var_list) _build_broken_var_list := \ - BUILD_BROKEN_ANDROIDMK_EXPORTS \ BUILD_BROKEN_DUP_RULES \ BUILD_BROKEN_USES_NETWORK \ @@ -229,10 +228,6 @@ TARGET_CPU_ABI_LIST := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST)) TARGET_CPU_ABI_LIST_32_BIT := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST_32_BIT))) TARGET_CPU_ABI_LIST_64_BIT := $(subst $(space),$(comma),$(strip $(TARGET_CPU_ABI_LIST_64_BIT))) -ifneq ($(BUILD_BROKEN_ANDROIDMK_EXPORTS),true) -$(KATI_obsolete_export It is a global setting. See $(CHANGES_URL)#export_keyword) -endif - ########################################### # Now we can substitute with the real value of TARGET_COPY_OUT_RAMDISK ifeq ($(BOARD_BUILD_SYSTEM_ROOT_IMAGE),true) diff --git a/core/config.mk b/core/config.mk index 8d08495ec..6461f46f3 100644 --- a/core/config.mk +++ b/core/config.mk @@ -98,9 +98,8 @@ $(KATI_obsolete_var TARGET_ROOT_OUT_SBIN_UNSTRIPPED,/sbin has been removed, use $(KATI_obsolete_var BUILD_BROKEN_PHONY_TARGETS) $(KATI_obsolete_var BUILD_BROKEN_DUP_COPY_HEADERS) $(KATI_obsolete_var BUILD_BROKEN_ENG_DEBUG_TAGS) - -# This is marked as obsolete in envsetup.mk after reading the BoardConfig.mk -$(KATI_deprecate_export It is a global setting. See $(CHANGES_URL)#export_keyword) +$(KATI_obsolete_export It is a global setting. See $(CHANGES_URL)#export_keyword) +$(KATI_obsolete_var BUILD_BROKEN_ANDROIDMK_EXPORTS) # Used to force goals to build. Only use for conditionally defined goals. .PHONY: FORCE From 753d1ad14e3a08650ebd9e9b3ee84dc4292f95c1 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Sat, 25 May 2019 17:20:38 -0700 Subject: [PATCH 2/2] Mark more BUILD_* as obsolete These have been warnings for a couple weeks now, with no hits. BUILD_AUX_EXECUTABLE BUILD_AUX_STATIC_LIBRARY BUILD_HOST_FUZZ_TEST BUILD_HOST_NATIVE_TEST BUILD_HOST_STATIC_TEST_LIBRARY BUILD_NATIVE_BENCHMARK BUILD_STATIC_TEST_LIBRARY Fixes: 130735607 Fixes: 130735003 Fixes: 130691889 Fixes: 130723134 Fixes: 130722660 Fixes: 130734558 Fixes: 130735594 Test: check all downstream build_test logs Change-Id: Ia13e59200af8f77a79d6a17d94913b79d8970055 --- Deprecation.md | 14 +++++++------- core/deprecation.mk | 14 +++++++------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Deprecation.md b/Deprecation.md index 0d925cbc5..131ec0d11 100644 --- a/Deprecation.md +++ b/Deprecation.md @@ -14,16 +14,16 @@ have any problems converting, please contact us via: | Module type | State | | -------------------------------- | --------- | -| `BUILD_AUX_EXECUTABLE` | Warning | -| `BUILD_AUX_STATIC_LIBRARY` | Warning | -| `BUILD_HOST_FUZZ_TEST` | Warning | -| `BUILD_HOST_NATIVE_TEST` | Warning | +| `BUILD_AUX_EXECUTABLE` | Error | +| `BUILD_AUX_STATIC_LIBRARY` | Error | +| `BUILD_HOST_FUZZ_TEST` | Error | +| `BUILD_HOST_NATIVE_TEST` | Error | | `BUILD_HOST_SHARED_TEST_LIBRARY` | Error | -| `BUILD_HOST_STATIC_TEST_LIBRARY` | Warning | +| `BUILD_HOST_STATIC_TEST_LIBRARY` | Error | | `BUILD_HOST_TEST_CONFIG` | Error | -| `BUILD_NATIVE_BENCHMARK` | Warning | +| `BUILD_NATIVE_BENCHMARK` | Error | | `BUILD_SHARED_TEST_LIBRARY` | Error | -| `BUILD_STATIC_TEST_LIBRARY` | Warning | +| `BUILD_STATIC_TEST_LIBRARY` | Error | | `BUILD_TARGET_TEST_CONFIG` | Error | | `BUILD_*` | Available | diff --git a/core/deprecation.mk b/core/deprecation.mk index 11fe290bd..f1e198d51 100644 --- a/core/deprecation.mk +++ b/core/deprecation.mk @@ -28,19 +28,19 @@ AVAILABLE_BUILD_MODULE_TYPES :=$= \ # relevant BUILD_BROKEN_USES_BUILD_* variables, then these would move to # DEFAULT_ERROR_BUILD_MODULE_TYPES. DEFAULT_WARNING_BUILD_MODULE_TYPES :=$= \ - BUILD_AUX_EXECUTABLE \ - BUILD_AUX_STATIC_LIBRARY \ - BUILD_HOST_FUZZ_TEST \ - BUILD_HOST_NATIVE_TEST \ - BUILD_HOST_STATIC_TEST_LIBRARY \ - BUILD_NATIVE_BENCHMARK \ - BUILD_STATIC_TEST_LIBRARY \ # These are BUILD_* variables that are errors to reference, but you can set # BUILD_BROKEN_USES_BUILD_* in your BoardConfig.mk in order to turn them back # to warnings. DEFAULT_ERROR_BUILD_MODULE_TYPES :=$= \ + BUILD_AUX_EXECUTABLE \ + BUILD_AUX_STATIC_LIBRARY \ + BUILD_HOST_FUZZ_TEST \ + BUILD_HOST_NATIVE_TEST \ + BUILD_HOST_STATIC_TEST_LIBRARY \ BUILD_HOST_TEST_CONFIG \ + BUILD_NATIVE_BENCHMARK \ + BUILD_STATIC_TEST_LIBRARY \ BUILD_TARGET_TEST_CONFIG \ # These are BUILD_* variables that are always errors to reference.