Merge "Remove memberMutator and use DepsMutator instead"

This commit is contained in:
Paul Duffin
2023-01-07 17:13:27 +00:00
committed by Gerrit Code Review

View File

@@ -37,7 +37,6 @@ func init() {
func registerSdkBuildComponents(ctx android.RegistrationContext) { func registerSdkBuildComponents(ctx android.RegistrationContext) {
ctx.RegisterModuleType("sdk", SdkModuleFactory) ctx.RegisterModuleType("sdk", SdkModuleFactory)
ctx.RegisterModuleType("sdk_snapshot", SnapshotModuleFactory) ctx.RegisterModuleType("sdk_snapshot", SnapshotModuleFactory)
ctx.PreDepsMutators(RegisterPreDepsMutators)
} }
type sdk struct { type sdk struct {
@@ -274,13 +273,6 @@ func (d *dependencyContext) RequiresTrait(name string, trait android.SdkMemberTr
var _ android.SdkDependencyContext = (*dependencyContext)(nil) var _ android.SdkDependencyContext = (*dependencyContext)(nil)
// RegisterPreDepsMutators registers pre-deps mutators to support modules implementing SdkAware
// interface and the sdk module type. This function has been made public to be called by tests
// outside of the sdk package
func RegisterPreDepsMutators(ctx android.RegisterMutatorsContext) {
ctx.BottomUp("SdkMember", memberMutator).Parallel()
}
type dependencyTag struct { type dependencyTag struct {
blueprint.BaseDependencyTag blueprint.BaseDependencyTag
} }
@@ -290,11 +282,12 @@ func (t dependencyTag) ExcludeFromApexContents() {}
var _ android.ExcludeFromApexContentsTag = dependencyTag{} var _ android.ExcludeFromApexContentsTag = dependencyTag{}
// Step 1: create dependencies from an SDK module to its members. func (s *sdk) DepsMutator(mctx android.BottomUpMutatorContext) {
func memberMutator(mctx android.BottomUpMutatorContext) { // Add dependencies from non CommonOS variants to the sdk member variants.
if s, ok := mctx.Module().(*sdk); ok { if s.IsCommonOSVariant() {
// Add dependencies from enabled and non CommonOS variants to the sdk member variants. return
if s.Enabled() && !s.IsCommonOSVariant() { }
ctx := s.newDependencyContext(mctx) ctx := s.newDependencyContext(mctx)
for _, memberListProperty := range s.memberTypeListProperties() { for _, memberListProperty := range s.memberTypeListProperties() {
if memberListProperty.getter == nil { if memberListProperty.getter == nil {
@@ -310,7 +303,8 @@ func memberMutator(mctx android.BottomUpMutatorContext) {
requiredTraits := ctx.RequiredTraits(name) requiredTraits := ctx.RequiredTraits(name)
unsupportedTraits := requiredTraits.Subtract(supportedTraits) unsupportedTraits := requiredTraits.Subtract(supportedTraits)
if !unsupportedTraits.Empty() { if !unsupportedTraits.Empty() {
ctx.ModuleErrorf("sdk member %q has traits %s that are unsupported by its member type %q", name, unsupportedTraits, memberType.SdkPropertyName()) ctx.ModuleErrorf("sdk member %q has traits %s that are unsupported by its member type %q",
name, unsupportedTraits, memberType.SdkPropertyName())
} }
} }
@@ -320,5 +314,3 @@ func memberMutator(mctx android.BottomUpMutatorContext) {
} }
} }
} }
}
}