Loading android/license.go +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ type licenseProperties struct { type licenseModule struct { ModuleBase DefaultableModuleBase SdkBase properties licenseProperties } Loading @@ -75,6 +76,7 @@ func LicenseFactory() Module { // The visibility property needs to be checked and parsed by the visibility module. setPrimaryVisibilityProperty(module, "visibility", &module.properties.Visibility) InitSdkAwareModule(module) initAndroidModuleBase(module) InitDefaultableModule(module) Loading android/sdk.go +10 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,11 @@ type sdkAwareWithoutModule interface { sdkBase() *SdkBase MakeMemberOf(sdk SdkRef) IsInAnySdk() bool // IsVersioned determines whether the module is versioned, i.e. has a name of the form // <name>@<version> IsVersioned() bool ContainingSdk() SdkRef MemberName() string BuildWithSdks(sdks SdkRefs) Loading Loading @@ -140,6 +145,11 @@ func (s *SdkBase) IsInAnySdk() bool { return s.properties.ContainingSdk != nil } // IsVersioned returns true if this module is versioned. func (s *SdkBase) IsVersioned() bool { return strings.Contains(s.module.Name(), "@") } // ContainingSdk returns the SDK that this module is a member of func (s *SdkBase) ContainingSdk() SdkRef { if s.properties.ContainingSdk != nil { Loading sdk/sdk.go +3 −3 Original line number Diff line number Diff line Loading @@ -444,7 +444,7 @@ func memberDepsMutator(mctx android.TopDownMutatorContext) { // built with libfoo.mysdk.11 and libfoo.mysdk.12, respectively depending on which sdk they are // using. func memberInterVersionMutator(mctx android.BottomUpMutatorContext) { if m, ok := mctx.Module().(android.SdkAware); ok && m.IsInAnySdk() { if m, ok := mctx.Module().(android.SdkAware); ok && m.IsInAnySdk() && m.IsVersioned() { if !m.ContainingSdk().Unversioned() { memberName := m.MemberName() tag := sdkMemberVersionedDepTag{member: memberName, version: m.ContainingSdk().Version} Loading Loading @@ -483,7 +483,7 @@ func sdkDepsMutator(mctx android.TopDownMutatorContext) { // Step 5: if libfoo.mysdk.11 is in the context where version 11 of mysdk is requested, the // versioned module is used instead of the un-versioned (in-development) module libfoo func sdkDepsReplaceMutator(mctx android.BottomUpMutatorContext) { if versionedSdkMember, ok := mctx.Module().(android.SdkAware); ok && versionedSdkMember.IsInAnySdk() { if versionedSdkMember, ok := mctx.Module().(android.SdkAware); ok && versionedSdkMember.IsInAnySdk() && versionedSdkMember.IsVersioned() { if sdk := versionedSdkMember.ContainingSdk(); !sdk.Unversioned() { // Only replace dependencies to <sdkmember> with <sdkmember@required-version> // if the depending module requires it. e.g. Loading @@ -499,7 +499,7 @@ func sdkDepsReplaceMutator(mctx android.BottomUpMutatorContext) { // TODO(b/183204176): Remove this after fixing. defer func() { if r := recover(); r != nil { mctx.ModuleErrorf("%s", r) mctx.ModuleErrorf("sdkDepsReplaceMutator %s", r) } }() Loading Loading
android/license.go +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ type licenseProperties struct { type licenseModule struct { ModuleBase DefaultableModuleBase SdkBase properties licenseProperties } Loading @@ -75,6 +76,7 @@ func LicenseFactory() Module { // The visibility property needs to be checked and parsed by the visibility module. setPrimaryVisibilityProperty(module, "visibility", &module.properties.Visibility) InitSdkAwareModule(module) initAndroidModuleBase(module) InitDefaultableModule(module) Loading
android/sdk.go +10 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,11 @@ type sdkAwareWithoutModule interface { sdkBase() *SdkBase MakeMemberOf(sdk SdkRef) IsInAnySdk() bool // IsVersioned determines whether the module is versioned, i.e. has a name of the form // <name>@<version> IsVersioned() bool ContainingSdk() SdkRef MemberName() string BuildWithSdks(sdks SdkRefs) Loading Loading @@ -140,6 +145,11 @@ func (s *SdkBase) IsInAnySdk() bool { return s.properties.ContainingSdk != nil } // IsVersioned returns true if this module is versioned. func (s *SdkBase) IsVersioned() bool { return strings.Contains(s.module.Name(), "@") } // ContainingSdk returns the SDK that this module is a member of func (s *SdkBase) ContainingSdk() SdkRef { if s.properties.ContainingSdk != nil { Loading
sdk/sdk.go +3 −3 Original line number Diff line number Diff line Loading @@ -444,7 +444,7 @@ func memberDepsMutator(mctx android.TopDownMutatorContext) { // built with libfoo.mysdk.11 and libfoo.mysdk.12, respectively depending on which sdk they are // using. func memberInterVersionMutator(mctx android.BottomUpMutatorContext) { if m, ok := mctx.Module().(android.SdkAware); ok && m.IsInAnySdk() { if m, ok := mctx.Module().(android.SdkAware); ok && m.IsInAnySdk() && m.IsVersioned() { if !m.ContainingSdk().Unversioned() { memberName := m.MemberName() tag := sdkMemberVersionedDepTag{member: memberName, version: m.ContainingSdk().Version} Loading Loading @@ -483,7 +483,7 @@ func sdkDepsMutator(mctx android.TopDownMutatorContext) { // Step 5: if libfoo.mysdk.11 is in the context where version 11 of mysdk is requested, the // versioned module is used instead of the un-versioned (in-development) module libfoo func sdkDepsReplaceMutator(mctx android.BottomUpMutatorContext) { if versionedSdkMember, ok := mctx.Module().(android.SdkAware); ok && versionedSdkMember.IsInAnySdk() { if versionedSdkMember, ok := mctx.Module().(android.SdkAware); ok && versionedSdkMember.IsInAnySdk() && versionedSdkMember.IsVersioned() { if sdk := versionedSdkMember.ContainingSdk(); !sdk.Unversioned() { // Only replace dependencies to <sdkmember> with <sdkmember@required-version> // if the depending module requires it. e.g. Loading @@ -499,7 +499,7 @@ func sdkDepsReplaceMutator(mctx android.BottomUpMutatorContext) { // TODO(b/183204176): Remove this after fixing. defer func() { if r := recover(); r != nil { mctx.ModuleErrorf("%s", r) mctx.ModuleErrorf("sdkDepsReplaceMutator %s", r) } }() Loading