Create default PRODUCT_INCLUDE_TAGS in product_config

In the current setup in partner branch, we
1. Add blueprint_package_includes to prebuilts/module_sdk/*
2. Add the correct PRODUCT_INCLUDE_TAGS to partner_modules

This means in those setups,none of the prebuilts are visible to aosp products since
they they do not inherit partner_module makefiles.
```
e.g.
prebuilts/module_sdk/art/current/Android.bp
prebuilts/module_sdk/art/<go_specific>/current/Android.bp

// aosp_arm cannot find either

```

To solve this, this CL creates a default inclusion tag for all products
that do not set any PRODUCT_INCLUDE_TAGS explicitly.
In the previous example, Soong analysis of aosp_* will use
prebuilts/module_sdk/art/current/Android.bp. This should be a no-op for
aosp and internal branches since none of the Android.bp files today contains
blueprint_package_includes

Test: m nothing for aosp_arm in the test branch of b/278604467#comment20
Test: m nothing for partner product that uses big android sdk
Test: m nothing for partner product that uses go sdk

Bug: 278604467
Change-Id: I322b52c34ed339989207609dd0fd23c27ed1f697
This commit is contained in:
Spandan Das
2023-05-23 17:45:37 +00:00
parent 4266df817d
commit 2e69ea6228

View File

@@ -287,6 +287,15 @@ BLUEPRINT_INCLUDE_TAGS_ALLOWLIST := com.android.mainline_go com.android.mainline
$(foreach include_tag,$(PRODUCT_INCLUDE_TAGS), \
$(if $(filter $(include_tag),$(BLUEPRINT_INCLUDE_TAGS_ALLOWLIST)),,\
$(call pretty-error, $(include_tag) is not in BLUEPRINT_INCLUDE_TAGS_ALLOWLIST: $(BLUEPRINT_INCLUDE_TAGS_ALLOWLIST))))
# Create default PRODUCT_INCLUDE_TAGS
ifeq (, $(PRODUCT_INCLUDE_TAGS))
# Soong analysis is global: even though a module might not be relevant to a specific product (e.g. build_tools for aosp_arm),
# we still analyse it.
# This means that in setups where we two have two prebuilts of module_sdk, we need a "default" to use in analysis
# This should be a no-op in aosp and internal since no Android.bp file contains blueprint_package_includes
PRODUCT_INCLUDE_TAGS += com.android.mainline # Use the big android one by default
endif
#############################################################################
# Quick check and assign default values