Make sdkMemberDependencyTag usable outside sdk package
Moves the struct to android/sdk.go and abstracts it behind a factory
method and interface. That allows it to be used outside the sdk
package.
This change is in preparation for adding support for module types that
have transitive sdk members.
Bug: 142940300
Test: m nothing
Change-Id: I71e5e0adf839b28a3a0952f82637637887f02688
diff --git a/sdk/sdk.go b/sdk/sdk.go
index 3b0752f..f22763c 100644
--- a/sdk/sdk.go
+++ b/sdk/sdk.go
@@ -65,11 +65,6 @@
Module_exports bool `blueprint:"mutated"`
}
-type sdkMemberDependencyTag struct {
- blueprint.BaseDependencyTag
- memberType android.SdkMemberType
-}
-
// Contains information about the sdk properties that list sdk members, e.g.
// Java_header_libs.
type sdkMemberListProperty struct {
@@ -81,7 +76,7 @@
// the dependency tag used for items in this list that can be used to determine the memberType
// for a resolved dependency.
- dependencyTag *sdkMemberDependencyTag
+ dependencyTag android.SdkMemberTypeDependencyTag
}
func (p *sdkMemberListProperty) propertyName() string {
@@ -167,9 +162,7 @@
memberType: memberType,
- dependencyTag: &sdkMemberDependencyTag{
- memberType: memberType,
- },
+ dependencyTag: android.DependencyTagForSdkMemberType(memberType),
}
listProperties = append(listProperties, memberListProperty)