diff options
Diffstat (limited to 'android/sdk.go')
| -rw-r--r-- | android/sdk.go | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/android/sdk.go b/android/sdk.go index ab9a91ccb..007fa2980 100644 --- a/android/sdk.go +++ b/android/sdk.go @@ -23,6 +23,8 @@ import ( "github.com/google/blueprint/proptools" ) +//go:generate go run ../../blueprint/gobtools/codegen/gob_gen.go + // minApiLevelForSdkSnapshot provides access to the min_sdk_version for MinApiLevelForSdkSnapshot type minApiLevelForSdkSnapshot interface { MinSdkVersion(ctx EarlyModuleContext) ApiLevel @@ -31,14 +33,14 @@ type minApiLevelForSdkSnapshot interface { // MinApiLevelForSdkSnapshot returns the ApiLevel of the min_sdk_version of the supplied module. // // If the module does not provide a min_sdk_version then it defaults to 1. -func MinApiLevelForSdkSnapshot(ctx EarlyModuleContext, module Module) ApiLevel { +func MinApiLevelForSdkSnapshot(commonInfo *CommonModuleInfo) ApiLevel { minApiLevel := NoneApiLevel - if m, ok := module.(minApiLevelForSdkSnapshot); ok { - minApiLevel = m.MinSdkVersion(ctx) + if commonInfo.MinSdkVersion.ApiLevel != nil { + minApiLevel = *commonInfo.MinSdkVersion.ApiLevel } if minApiLevel == NoneApiLevel { // The default min API level is 1. - minApiLevel = uncheckedFinalApiLevel(1) + minApiLevel = UncheckedFinalApiLevel(1) } return minApiLevel } @@ -410,7 +412,7 @@ type SdkMember interface { Name() string // Variants returns all the variants of this module depended upon by the SDK. - Variants() []Module + Variants() []ModuleProxy } // SdkMemberDependencyTag is the interface that a tag must implement in order to allow the @@ -422,7 +424,7 @@ type SdkMemberDependencyTag interface { // to the sdk. // // Returning nil will prevent the module being added to the sdk. - SdkMemberType(child Module) SdkMemberType + SdkMemberType(ctx ModuleContext, child ModuleProxy) SdkMemberType // ExportMember determines whether a module added to the sdk through this tag will be exported // from the sdk or not. @@ -449,7 +451,7 @@ type sdkMemberDependencyTag struct { export bool } -func (t *sdkMemberDependencyTag) SdkMemberType(_ Module) SdkMemberType { +func (t *sdkMemberDependencyTag) SdkMemberType(_ ModuleContext, _ ModuleProxy) SdkMemberType { return t.memberType } @@ -534,7 +536,7 @@ type SdkMemberType interface { // This is used to check the type of each variant before added to the SdkMember. Returning false // will cause an error to be logged explaining that the module is not allowed in whichever sdk // property it was added. - IsInstance(module Module) bool + IsInstance(ctx ModuleContext, module ModuleProxy) bool // UsesSourceModuleTypeInSnapshot returns true when the AddPrebuiltModule() method returns a // source module type. @@ -611,6 +613,7 @@ type SdkDependencyContext interface { // SdkMemberTypeBase is the base type for SdkMemberType implementations and must be embedded in any // struct that implements SdkMemberType. +// @auto-generate: gob type SdkMemberTypeBase struct { PropertyName string @@ -800,7 +803,7 @@ type SdkMemberProperties interface { // PopulateFromVariant populates this structure with information from a module variant. // // It will typically be called once for each variant of a member module that the SDK depends upon. - PopulateFromVariant(ctx SdkMemberContext, variant Module) + PopulateFromVariant(ctx SdkMemberContext, variant ModuleProxy) // AddToPropertySet adds the information from this structure to the property set. // |
