From bc4f48c41513c282067d8702daa0bf0bb2661a91 Mon Sep 17 00:00:00 2001 From: Liz Kammer Date: Thu, 18 May 2023 18:20:22 +0000 Subject: [PATCH] Add BUILD_BROKEN_PLUGIN_VALIDATION flag Use is to specify the list of plugins are are not allowed. Ignore-AOSP-First: Requires an internal only change to not break when submitted Test: CI (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f24be9dba9b53b0c1682929253a3eba9af7a4c31) Merged-In: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab Change-Id: Ia2fe83d82ead618e480e99a82b1b825ed08d3eab --- Changes.md | 14 +++++++++++++- core/board_config.mk | 1 + core/soong_config.mk | 1 + 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Changes.md b/Changes.md index daebd5231a..6d20173c19 100644 --- a/Changes.md +++ b/Changes.md @@ -1,5 +1,18 @@ # Build System Changes for Android.mk Writers +## Perform validation of Soong plugins + +Each Soong plugin will require manual work to migrate to Bazel. In order to +minimize the manual work outside of build/soong, we are restricting plugins to +those that exist today and those in vendor or hardware directories. + +If you need to extend the build system via a plugin, please reach out to the +build team via email android-building@googlegroups.com (external) for any +questions, or see [go/soong](http://go/soong) (internal). + +To omit the validation, `BUILD_BROKEN_PLUGIN_VALIDATION` expects a list of +plugins to omit from the validation. + ## Python 2 to 3 migration The path set when running builds now makes the `python` executable point to python 3, @@ -15,7 +28,6 @@ overridden by setting the `BUILD_BROKEN_USES_SOONG_PYTHON2_MODULES` product conf variable to `true`. Python 2 is slated for complete removal in V. - ## Stop referencing sysprop_library directly from cc modules For the migration to Bazel, we are no longer mapping sysprop_library targets diff --git a/core/board_config.mk b/core/board_config.mk index bdfb279058..c8ec5a9322 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -174,6 +174,7 @@ _board_strip_list += ODM_MANIFEST_SKUS _build_broken_var_list := \ + BUILD_BROKEN_PLUGIN_VALIDATION \ BUILD_BROKEN_CLANG_PROPERTY \ BUILD_BROKEN_CLANG_ASFLAGS \ BUILD_BROKEN_CLANG_CFLAGS \ diff --git a/core/soong_config.mk b/core/soong_config.mk index 8b9ba4f944..7dad167a40 100644 --- a/core/soong_config.mk +++ b/core/soong_config.mk @@ -285,6 +285,7 @@ $(call add_json_str, PrebuiltHiddenApiDir, $(BOARD_PREBUILT_HIDDENAPI_DIR)) $(call add_json_str, ShippingApiLevel, $(PRODUCT_SHIPPING_API_LEVEL)) +$(call add_json_list, BuildBrokenPluginValidation, $(BUILD_BROKEN_PLUGIN_VALIDATION)) $(call add_json_bool, BuildBrokenClangProperty, $(filter true,$(BUILD_BROKEN_CLANG_PROPERTY))) $(call add_json_bool, BuildBrokenClangAsFlags, $(filter true,$(BUILD_BROKEN_CLANG_ASFLAGS))) $(call add_json_bool, BuildBrokenClangCFlags, $(filter true,$(BUILD_BROKEN_CLANG_CFLAGS)))