d19f894512
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
37 lines
797 B
Text
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"],
|
|
}
|