From 4065e5b2688cd99f9cea04c67c9dd214f64e0e8d Mon Sep 17 00:00:00 2001 From: Liz Kammer Date: Mon, 31 Jan 2022 16:16:06 -0500 Subject: [PATCH] Introduce BUILD_BROKEN_INPUT_DIR_MODULES Allows allowlisting modules that can temporarily continue to use a directory as an input while some module types restrict their allowed inputs. Test: CI Change-Id: Ic968a6f6efad45b6c1095dd214813e326d7493c1 --- Changes.md | 30 ++++++++++++++++++++++++++++++ core/board_config.mk | 1 + core/soong_config.mk | 1 + 3 files changed, 32 insertions(+) diff --git a/Changes.md b/Changes.md index 1ab005fa3c..5edb1d83fb 100644 --- a/Changes.md +++ b/Changes.md @@ -1,5 +1,35 @@ # Build System Changes for Android.mk Writers +## Genrule starts disallowing directory inputs + +To better specify the inputs to the build, we are restricting use of directories +as inputs to genrules. + +To fix existing uses, change inputs to specify the inputs and update the command +accordingly. For example: + +``` +genrule: { + name: "foo", + srcs: ["bar"], + cmd: "cp $(location bar)/*.xml $(gendir)", + ... +} +``` + +would become + +``` +genrule: { + name: "foo", + srcs: ["bar/*.xml"], + cmd: "cp $(in) $(gendir)", + ... +} + +`BUILD_BROKEN_INPUT_DIR_MODULES` can be used to allowlist specific directories +with genrules that have input directories. + ## Dexpreopt starts enforcing `` checks (for Java modules) In order to construct correct class loader context for dexpreopt, build system diff --git a/core/board_config.mk b/core/board_config.mk index 405fea6e6a..97b258d27e 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -174,6 +174,7 @@ _build_broken_var_list := \ BUILD_BROKEN_DUP_SYSPROP \ BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES \ BUILD_BROKEN_ENFORCE_SYSPROP_OWNER \ + BUILD_BROKEN_INPUT_DIR_MODULES \ BUILD_BROKEN_MISSING_REQUIRED_MODULES \ BUILD_BROKEN_OUTSIDE_INCLUDE_DIRS \ BUILD_BROKEN_PREBUILT_ELF_FILES \ diff --git a/core/soong_config.mk b/core/soong_config.mk index 355cd3e53c..c24df60a4b 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -270,6 +270,7 @@ $(call add_json_str, ShippingApiLevel, $(PRODUCT_SHIPPING_API_LEVEL)) $(call add_json_bool, BuildBrokenEnforceSyspropOwner, $(filter true,$(BUILD_BROKEN_ENFORCE_SYSPROP_OWNER))) $(call add_json_bool, BuildBrokenTrebleSyspropNeverallow, $(filter true,$(BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW))) $(call add_json_bool, BuildBrokenVendorPropertyNamespace, $(filter true,$(BUILD_BROKEN_VENDOR_PROPERTY_NAMESPACE))) +$(call add_json_list, BuildBrokenInputDirModules, $(BUILD_BROKEN_INPUT_DIR_MODULES)) $(call add_json_bool, BuildDebugfsRestrictionsEnabled, $(filter true,$(PRODUCT_SET_DEBUGFS_RESTRICTIONS)))