platform_build_soong/sdk/Android.bp
Paul Duffin d19f894512 Add support to sdk/module_exports to specify required traits
Currently, every sdk member of a specific module type has to be treated
in the same way as every other sdk member of that type. e.g. it is not
possible for an sdk member to use different variants to other members
of the same type.

Adding a new member type for each different way to treat the members is
not scalable as if there were N different ways treat a member then it
would require 2^N types for all the possible combinations.

This adds a new traits mechanism that allows the behavior of member
types to be customized per sdk member. Each member type can specify a
list of supported traits and customize its behavior based on which
traits are required for each member. A trait can be supported by
multiple different member types.

Bug: 195754365
Test: m nothing
Change-Id: I165ac80d208c0402d2a9ffa8085bba29562c19b7
2021-09-23 11:37:51 +01:00

37 lines
797 B
Text

package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
bootstrap_go_package {
name: "soong-sdk",
pkgPath: "android/soong/sdk",
deps: [
"blueprint",
"soong",
"soong-android",
"soong-apex",
"soong-cc",
"soong-java",
],
srcs: [
"bp.go",
"exports.go",
"member_trait.go",
"member_type.go",
"sdk.go",
"update.go",
],
testSrcs: [
"bootclasspath_fragment_sdk_test.go",
"bp_test.go",
"cc_sdk_test.go",
"compat_config_sdk_test.go",
"exports_test.go",
"java_sdk_test.go",
"license_sdk_test.go",
"member_trait_test.go",
"sdk_test.go",
"testing.go",
],
pluginFor: ["soong_build"],
}