Merge "Introduce BUILD_BROKEN_INPUT_DIR_MODULES"

This commit is contained in:
Liz Kammer
2022-03-01 15:19:34 +00:00
committed by Gerrit Code Review
3 changed files with 32 additions and 0 deletions

View File

@@ -1,5 +1,35 @@
# Build System Changes for Android.mk Writers # 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 `<uses-library>` checks (for Java modules) ## Dexpreopt starts enforcing `<uses-library>` checks (for Java modules)
In order to construct correct class loader context for dexpreopt, build system In order to construct correct class loader context for dexpreopt, build system

View File

@@ -174,6 +174,7 @@ _build_broken_var_list := \
BUILD_BROKEN_DUP_SYSPROP \ BUILD_BROKEN_DUP_SYSPROP \
BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES \ BUILD_BROKEN_ELF_PREBUILT_PRODUCT_COPY_FILES \
BUILD_BROKEN_ENFORCE_SYSPROP_OWNER \ BUILD_BROKEN_ENFORCE_SYSPROP_OWNER \
BUILD_BROKEN_INPUT_DIR_MODULES \
BUILD_BROKEN_MISSING_REQUIRED_MODULES \ BUILD_BROKEN_MISSING_REQUIRED_MODULES \
BUILD_BROKEN_OUTSIDE_INCLUDE_DIRS \ BUILD_BROKEN_OUTSIDE_INCLUDE_DIRS \
BUILD_BROKEN_PREBUILT_ELF_FILES \ BUILD_BROKEN_PREBUILT_ELF_FILES \

View File

@@ -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, BuildBrokenEnforceSyspropOwner, $(filter true,$(BUILD_BROKEN_ENFORCE_SYSPROP_OWNER)))
$(call add_json_bool, BuildBrokenTrebleSyspropNeverallow, $(filter true,$(BUILD_BROKEN_TREBLE_SYSPROP_NEVERALLOW))) $(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_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))) $(call add_json_bool, BuildDebugfsRestrictionsEnabled, $(filter true,$(PRODUCT_SET_DEBUGFS_RESTRICTIONS)))