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) {
ctx.RegisterModuleType("sdk", SdkModuleFactory)
ctx.RegisterModuleType("sdk_snapshot", SnapshotModuleFactory)
ctx.PreDepsMutators(RegisterPreDepsMutators)
}
type sdk struct {
@@ -274,13 +273,6 @@ func (d *dependencyContext) RequiresTrait(name string, trait android.SdkMemberTr
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 {
blueprint.BaseDependencyTag
}
@@ -290,11 +282,12 @@ func (t dependencyTag) ExcludeFromApexContents() {}
var _ android.ExcludeFromApexContentsTag = dependencyTag{}
// Step 1: create dependencies from an SDK module to its members.
func memberMutator(mctx android.BottomUpMutatorContext) {
if s, ok := mctx.Module().(*sdk); ok {
// Add dependencies from enabled and non CommonOS variants to the sdk member variants.
if s.Enabled() && !s.IsCommonOSVariant() {
func (s *sdk) DepsMutator(mctx android.BottomUpMutatorContext) {
// Add dependencies from non CommonOS variants to the sdk member variants.
if s.IsCommonOSVariant() {
return
}
ctx := s.newDependencyContext(mctx)
for _, memberListProperty := range s.memberTypeListProperties() {
if memberListProperty.getter == nil {
@@ -310,7 +303,8 @@ func memberMutator(mctx android.BottomUpMutatorContext) {
requiredTraits := ctx.RequiredTraits(name)
unsupportedTraits := requiredTraits.Subtract(supportedTraits)
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())
}
}
@@ -319,6 +313,4 @@ func memberMutator(mctx android.BottomUpMutatorContext) {
memberType.AddDependencies(ctx, tag, names)
}
}
}
}
}