Fix ChooseSdkVersion after api levels
I2954bb21c1cfdeb305f25cfb6c8711c930f6ed50 switched normalizeVersions to work on ApiLevels, which inadvertantly caused it to return "current" instead of "10000" for libraries that specify "current" in their stubs property. ChooseSdkVersion couldn't handle "current" because it was manually converting the version to an int. Switch ChooseSdkVersion to use ApiLevels instead so that it can handle "current". Test: m checkbuild Change-Id: Id412359e092483ba419118dd03bc206fae702a96
This commit is contained in:
@@ -136,7 +136,7 @@ type ApexModule interface {
|
||||
// Returns the highest version which is <= maxSdkVersion.
|
||||
// For example, with maxSdkVersion is 10 and versionList is [9,11]
|
||||
// it returns 9 as string
|
||||
ChooseSdkVersion(versionList []string, maxSdkVersion int) (string, error)
|
||||
ChooseSdkVersion(ctx BaseModuleContext, versionList []string, maxSdkVersion ApiLevel) (string, error)
|
||||
|
||||
// Tests if the module comes from an updatable APEX.
|
||||
Updatable() bool
|
||||
@@ -320,14 +320,18 @@ func (m *ApexModuleBase) DepIsInSameApex(ctx BaseModuleContext, dep Module) bool
|
||||
return true
|
||||
}
|
||||
|
||||
func (m *ApexModuleBase) ChooseSdkVersion(versionList []string, maxSdkVersion int) (string, error) {
|
||||
func (m *ApexModuleBase) ChooseSdkVersion(ctx BaseModuleContext, versionList []string, maxSdkVersion ApiLevel) (string, error) {
|
||||
for i := range versionList {
|
||||
ver, _ := strconv.Atoi(versionList[len(versionList)-i-1])
|
||||
if ver <= maxSdkVersion {
|
||||
return versionList[len(versionList)-i-1], nil
|
||||
version := versionList[len(versionList)-i-1]
|
||||
ver, err := ApiLevelFromUser(ctx, version)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
if ver.LessThanOrEqualTo(maxSdkVersion) {
|
||||
return version, nil
|
||||
}
|
||||
}
|
||||
return "", fmt.Errorf("not found a version(<=%d) in versionList: %v", maxSdkVersion, versionList)
|
||||
return "", fmt.Errorf("not found a version(<=%s) in versionList: %v", maxSdkVersion, versionList)
|
||||
}
|
||||
|
||||
func (m *ApexModuleBase) checkApexAvailableProperty(mctx BaseModuleContext) {
|
||||
|
Reference in New Issue
Block a user