Merge "Make all SdkMemberTypes support transitive member deps"
diff --git a/android/sdk.go b/android/sdk.go
index 9592456..0adfd89 100644
--- a/android/sdk.go
+++ b/android/sdk.go
@@ -302,9 +302,7 @@
}
// SdkMemberTypeDependencyTag is the interface that a tag must implement in order to allow the
-// dependent module to be automatically added to the sdk. In order for this to work the
-// SdkMemberType of the depending module must return true from
-// SdkMemberType.HasTransitiveSdkMembers.
+// dependent module to be automatically added to the sdk.
type SdkMemberTypeDependencyTag interface {
blueprint.DependencyTag
@@ -385,13 +383,6 @@
// True if the member type supports the sdk/sdk_snapshot, false otherwise.
UsableWithSdkAndSdkSnapshot() bool
- // Return true if modules of this type can have dependencies which should be
- // treated as if they are sdk members.
- //
- // Any dependency that is to be treated as a member of the sdk needs to implement
- // SdkAware and be added with an SdkMemberTypeDependencyTag tag.
- HasTransitiveSdkMembers() bool
-
// Return true if prebuilt host artifacts may be specific to the host OS. Only
// applicable to modules where HostSupported() is true. If this is true,
// snapshots will list each host OS variant explicitly and disable all other
@@ -457,10 +448,9 @@
// Base type for SdkMemberType implementations.
type SdkMemberTypeBase struct {
- PropertyName string
- SupportsSdk bool
- TransitiveSdkMembers bool
- HostOsDependent bool
+ PropertyName string
+ SupportsSdk bool
+ HostOsDependent bool
}
func (b *SdkMemberTypeBase) SdkPropertyName() string {
@@ -471,10 +461,6 @@
return b.SupportsSdk
}
-func (b *SdkMemberTypeBase) HasTransitiveSdkMembers() bool {
- return b.TransitiveSdkMembers
-}
-
func (b *SdkMemberTypeBase) IsHostOsDependent() bool {
return b.HostOsDependent
}
diff --git a/java/bootclasspath_fragment.go b/java/bootclasspath_fragment.go
index 8fe362a..6270b5b 100644
--- a/java/bootclasspath_fragment.go
+++ b/java/bootclasspath_fragment.go
@@ -32,9 +32,8 @@
android.RegisterSdkMemberType(&bootclasspathFragmentMemberType{
SdkMemberTypeBase: android.SdkMemberTypeBase{
- PropertyName: "bootclasspath_fragments",
- SupportsSdk: true,
- TransitiveSdkMembers: true,
+ PropertyName: "bootclasspath_fragments",
+ SupportsSdk: true,
},
})
}
diff --git a/java/system_modules.go b/java/system_modules.go
index 4738385..d0dc74a 100644
--- a/java/system_modules.go
+++ b/java/system_modules.go
@@ -35,9 +35,8 @@
// Register sdk member types.
android.RegisterSdkMemberType(&systemModulesSdkMemberType{
android.SdkMemberTypeBase{
- PropertyName: "java_system_modules",
- SupportsSdk: true,
- TransitiveSdkMembers: true,
+ PropertyName: "java_system_modules",
+ SupportsSdk: true,
},
})
}
diff --git a/sdk/update.go b/sdk/update.go
index 72b02e8..457cbd9 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -133,9 +133,9 @@
export := memberTag.ExportMember()
s.memberVariantDeps = append(s.memberVariantDeps, sdkMemberVariantDep{s, memberType, child.(android.SdkAware), export})
- // If the member type supports transitive sdk members then recurse down into
- // its dependencies, otherwise exit traversal.
- return memberType.HasTransitiveSdkMembers()
+ // Recurse down into the member's dependencies as it may have dependencies that need to be
+ // automatically added to the sdk.
+ return true
}
return false