Remove sdkPreSingleton and overlaySingleton
These were the only 2 pre-singletons in soong. sdkPreSingleton is totally unused. overlaySingleton can be done during GenerateAndroidBuildActions instead. Test: m nothing --no-skip-soong-tests Change-Id: Ieb5ab92f18cb56be4049c0842f61df8aa02dc52c
This commit is contained in:
42
java/sdk.go
42
java/sdk.go
@@ -17,8 +17,6 @@ package java
|
||||
import (
|
||||
"fmt"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
"strconv"
|
||||
|
||||
"android/soong/android"
|
||||
"android/soong/java/config"
|
||||
@@ -27,12 +25,10 @@ import (
|
||||
)
|
||||
|
||||
func init() {
|
||||
android.RegisterPreSingletonType("sdk_versions", sdkPreSingletonFactory)
|
||||
android.RegisterParallelSingletonType("sdk", sdkSingletonFactory)
|
||||
android.RegisterMakeVarsProvider(pctx, sdkMakeVars)
|
||||
}
|
||||
|
||||
var sdkVersionsKey = android.NewOnceKey("sdkVersionsKey")
|
||||
var sdkFrameworkAidlPathKey = android.NewOnceKey("sdkFrameworkAidlPathKey")
|
||||
var nonUpdatableFrameworkAidlPathKey = android.NewOnceKey("nonUpdatableFrameworkAidlPathKey")
|
||||
var apiFingerprintPathKey = android.NewOnceKey("apiFingerprintPathKey")
|
||||
@@ -213,44 +209,6 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext android.SdkContext)
|
||||
}
|
||||
}
|
||||
|
||||
func sdkPreSingletonFactory() android.Singleton {
|
||||
return sdkPreSingleton{}
|
||||
}
|
||||
|
||||
type sdkPreSingleton struct{}
|
||||
|
||||
func (sdkPreSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
sdkJars, err := ctx.GlobWithDeps("prebuilts/sdk/*/public/android.jar", nil)
|
||||
if err != nil {
|
||||
ctx.Errorf("failed to glob prebuilts/sdk/*/public/android.jar: %s", err.Error())
|
||||
}
|
||||
|
||||
var sdkVersions []int
|
||||
for _, sdkJar := range sdkJars {
|
||||
dir := filepath.Base(filepath.Dir(filepath.Dir(sdkJar)))
|
||||
v, err := strconv.Atoi(dir)
|
||||
if scerr, ok := err.(*strconv.NumError); ok && scerr.Err == strconv.ErrSyntax {
|
||||
continue
|
||||
} else if err != nil {
|
||||
ctx.Errorf("invalid sdk jar %q, %s, %v", sdkJar, err.Error())
|
||||
}
|
||||
sdkVersions = append(sdkVersions, v)
|
||||
}
|
||||
|
||||
sort.Ints(sdkVersions)
|
||||
|
||||
ctx.Config().Once(sdkVersionsKey, func() interface{} { return sdkVersions })
|
||||
}
|
||||
|
||||
func LatestSdkVersionInt(ctx android.EarlyModuleContext) int {
|
||||
sdkVersions := ctx.Config().Get(sdkVersionsKey).([]int)
|
||||
latestSdkVersion := 0
|
||||
if len(sdkVersions) > 0 {
|
||||
latestSdkVersion = sdkVersions[len(sdkVersions)-1]
|
||||
}
|
||||
return latestSdkVersion
|
||||
}
|
||||
|
||||
func sdkSingletonFactory() android.Singleton {
|
||||
return sdkSingleton{}
|
||||
}
|
||||
|
Reference in New Issue
Block a user