Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eee466e4 authored by Paul Duffin's avatar Paul Duffin
Browse files

Pass module to SdkMemberTypeDependencyTag.SdkMemberType

This change allows an SdkMemberTypeDependencyTag to select the
SdkMemberType to use to add a dependency based on the module.

Bug: 177892522
Test: m nothing
Change-Id: I2d6e51b615636dc7cd41da65808ef851dd8ae6ac
parent 6d4de438
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -290,7 +290,7 @@ type SdkMemberTypeDependencyTag interface {

	// SdkMemberType returns the SdkMemberType that will be used to automatically add the child module
	// to the sdk.
	SdkMemberType() SdkMemberType
	SdkMemberType(child Module) SdkMemberType

	// ExportMember determines whether a module added to the sdk through this tag will be exported
	// from the sdk or not.
@@ -317,7 +317,7 @@ type sdkMemberDependencyTag struct {
	export     bool
}

func (t *sdkMemberDependencyTag) SdkMemberType() SdkMemberType {
func (t *sdkMemberDependencyTag) SdkMemberType(_ Module) SdkMemberType {
	return t.memberType
}

+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ func (b bootclasspathFragmentContentDependencyTag) ReplaceSourceWithPrebuilt() b

// SdkMemberType causes dependencies added with this tag to be automatically added to the sdk as if
// they were specified using java_boot_libs.
func (b bootclasspathFragmentContentDependencyTag) SdkMemberType() android.SdkMemberType {
func (b bootclasspathFragmentContentDependencyTag) SdkMemberType(_ android.Module) android.SdkMemberType {
	return javaBootLibsSdkMemberType
}

+1 −1
Original line number Diff line number Diff line
@@ -120,7 +120,7 @@ func (s *sdk) collectMembers(ctx android.ModuleContext) {
	ctx.WalkDeps(func(child android.Module, parent android.Module) bool {
		tag := ctx.OtherModuleDependencyTag(child)
		if memberTag, ok := tag.(android.SdkMemberTypeDependencyTag); ok {
			memberType := memberTag.SdkMemberType()
			memberType := memberTag.SdkMemberType(child)

			// Make sure that the resolved module is allowed in the member list property.
			if !memberType.IsInstance(child) {