Loading java/androidmk.go +1 −1 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ func (prebuilt *Import) AndroidMkEntries() []android.AndroidMkEntries { entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", !Bool(prebuilt.properties.Installable)) entries.SetPath("LOCAL_SOONG_HEADER_JAR", prebuilt.combinedClasspathFile) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", prebuilt.combinedClasspathFile) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) entries.SetString("LOCAL_SDK_VERSION", prebuilt.makeSdkVersion()) entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem()) }, }, Loading java/java.go +4 −0 Original line number Diff line number Diff line Loading @@ -2542,6 +2542,10 @@ func (j *Import) sdkVersion() sdkSpec { return sdkSpecFrom(String(j.properties.Sdk_version)) } func (j *Import) makeSdkVersion() string { return j.sdkVersion().raw } func (j *Import) minSdkVersion() sdkSpec { return j.sdkVersion() } Loading java/prebuilt_apis.go +21 −15 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ func RegisterPrebuiltApisBuildComponents(ctx android.RegistrationContext) { type prebuiltApisProperties struct { // list of api version directories Api_dirs []string // The sdk_version of java_import modules generated based on jar files. // Defaults to "current" Imports_sdk_version *string } type prebuiltApis struct { Loading Loading @@ -74,7 +78,7 @@ func prebuiltApiModuleName(mctx android.LoadHookContext, module string, scope st return mctx.ModuleName() + "_" + scope + "_" + apiver + "_" + module } func createImport(mctx android.LoadHookContext, module string, scope string, apiver string, path string) { func createImport(mctx android.LoadHookContext, module, scope, apiver, path, sdk_version string) { props := struct { Name *string Jars []string Loading @@ -83,7 +87,7 @@ func createImport(mctx android.LoadHookContext, module string, scope string, api }{} props.Name = proptools.StringPtr(prebuiltApiModuleName(mctx, module, scope, apiver)) props.Jars = append(props.Jars, path) props.Sdk_version = proptools.StringPtr(scope) props.Sdk_version = proptools.StringPtr(sdk_version) props.Installable = proptools.BoolPtr(false) mctx.CreateModule(ImportFactory, &props) Loading @@ -100,10 +104,10 @@ func createFilegroup(mctx android.LoadHookContext, module string, scope string, mctx.CreateModule(android.FileGroupFactory, &filegroupProps) } func getPrebuiltFiles(mctx android.LoadHookContext, name string) []string { func getPrebuiltFiles(mctx android.LoadHookContext, p *prebuiltApis, name string) []string { mydir := mctx.ModuleDir() + "/" var files []string for _, apiver := range mctx.Module().(*prebuiltApis).properties.Api_dirs { for _, apiver := range p.properties.Api_dirs { for _, scope := range []string{"public", "system", "test", "core", "module-lib", "system-server"} { vfiles, err := mctx.GlobWithDeps(mydir+apiver+"/"+scope+"/"+name, nil) if err != nil { Loading @@ -115,16 +119,18 @@ func getPrebuiltFiles(mctx android.LoadHookContext, name string) []string { return files } func prebuiltSdkStubs(mctx android.LoadHookContext) { func prebuiltSdkStubs(mctx android.LoadHookContext, p *prebuiltApis) { mydir := mctx.ModuleDir() + "/" // <apiver>/<scope>/<module>.jar files := getPrebuiltFiles(mctx, "*.jar") files := getPrebuiltFiles(mctx, p, "*.jar") sdk_version := proptools.StringDefault(p.properties.Imports_sdk_version, "current") for _, f := range files { // create a Import module for each jar file localPath := strings.TrimPrefix(f, mydir) module, apiver, scope := parseJarPath(localPath) createImport(mctx, module, scope, apiver, localPath) createImport(mctx, module, scope, apiver, localPath, sdk_version) } } Loading @@ -139,8 +145,8 @@ func createSystemModules(mctx android.LoadHookContext, apiver string) { mctx.CreateModule(SystemModulesFactory, &props) } func prebuiltSdkSystemModules(mctx android.LoadHookContext) { for _, apiver := range mctx.Module().(*prebuiltApis).properties.Api_dirs { func prebuiltSdkSystemModules(mctx android.LoadHookContext, p *prebuiltApis) { for _, apiver := range p.properties.Api_dirs { jar := android.ExistentPathForSource(mctx, mctx.ModuleDir(), apiver, "public", "core-for-system-modules.jar") if jar.Valid() { Loading @@ -149,10 +155,10 @@ func prebuiltSdkSystemModules(mctx android.LoadHookContext) { } } func prebuiltApiFiles(mctx android.LoadHookContext) { func prebuiltApiFiles(mctx android.LoadHookContext, p *prebuiltApis) { mydir := mctx.ModuleDir() + "/" // <apiver>/<scope>/api/<module>.txt files := getPrebuiltFiles(mctx, "api/*.txt") files := getPrebuiltFiles(mctx, p, "api/*.txt") if len(files) == 0 { mctx.ModuleErrorf("no api file found under %q", mydir) Loading Loading @@ -200,10 +206,10 @@ func prebuiltApiFiles(mctx android.LoadHookContext) { } func createPrebuiltApiModules(mctx android.LoadHookContext) { if _, ok := mctx.Module().(*prebuiltApis); ok { prebuiltApiFiles(mctx) prebuiltSdkStubs(mctx) prebuiltSdkSystemModules(mctx) if p, ok := mctx.Module().(*prebuiltApis); ok { prebuiltApiFiles(mctx, p) prebuiltSdkStubs(mctx, p) prebuiltSdkSystemModules(mctx, p) } } Loading Loading
java/androidmk.go +1 −1 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ func (prebuilt *Import) AndroidMkEntries() []android.AndroidMkEntries { entries.SetBool("LOCAL_UNINSTALLABLE_MODULE", !Bool(prebuilt.properties.Installable)) entries.SetPath("LOCAL_SOONG_HEADER_JAR", prebuilt.combinedClasspathFile) entries.SetPath("LOCAL_SOONG_CLASSES_JAR", prebuilt.combinedClasspathFile) entries.SetString("LOCAL_SDK_VERSION", prebuilt.sdkVersion().raw) entries.SetString("LOCAL_SDK_VERSION", prebuilt.makeSdkVersion()) entries.SetString("LOCAL_MODULE_STEM", prebuilt.Stem()) }, }, Loading
java/java.go +4 −0 Original line number Diff line number Diff line Loading @@ -2542,6 +2542,10 @@ func (j *Import) sdkVersion() sdkSpec { return sdkSpecFrom(String(j.properties.Sdk_version)) } func (j *Import) makeSdkVersion() string { return j.sdkVersion().raw } func (j *Import) minSdkVersion() sdkSpec { return j.sdkVersion() } Loading
java/prebuilt_apis.go +21 −15 Original line number Diff line number Diff line Loading @@ -34,6 +34,10 @@ func RegisterPrebuiltApisBuildComponents(ctx android.RegistrationContext) { type prebuiltApisProperties struct { // list of api version directories Api_dirs []string // The sdk_version of java_import modules generated based on jar files. // Defaults to "current" Imports_sdk_version *string } type prebuiltApis struct { Loading Loading @@ -74,7 +78,7 @@ func prebuiltApiModuleName(mctx android.LoadHookContext, module string, scope st return mctx.ModuleName() + "_" + scope + "_" + apiver + "_" + module } func createImport(mctx android.LoadHookContext, module string, scope string, apiver string, path string) { func createImport(mctx android.LoadHookContext, module, scope, apiver, path, sdk_version string) { props := struct { Name *string Jars []string Loading @@ -83,7 +87,7 @@ func createImport(mctx android.LoadHookContext, module string, scope string, api }{} props.Name = proptools.StringPtr(prebuiltApiModuleName(mctx, module, scope, apiver)) props.Jars = append(props.Jars, path) props.Sdk_version = proptools.StringPtr(scope) props.Sdk_version = proptools.StringPtr(sdk_version) props.Installable = proptools.BoolPtr(false) mctx.CreateModule(ImportFactory, &props) Loading @@ -100,10 +104,10 @@ func createFilegroup(mctx android.LoadHookContext, module string, scope string, mctx.CreateModule(android.FileGroupFactory, &filegroupProps) } func getPrebuiltFiles(mctx android.LoadHookContext, name string) []string { func getPrebuiltFiles(mctx android.LoadHookContext, p *prebuiltApis, name string) []string { mydir := mctx.ModuleDir() + "/" var files []string for _, apiver := range mctx.Module().(*prebuiltApis).properties.Api_dirs { for _, apiver := range p.properties.Api_dirs { for _, scope := range []string{"public", "system", "test", "core", "module-lib", "system-server"} { vfiles, err := mctx.GlobWithDeps(mydir+apiver+"/"+scope+"/"+name, nil) if err != nil { Loading @@ -115,16 +119,18 @@ func getPrebuiltFiles(mctx android.LoadHookContext, name string) []string { return files } func prebuiltSdkStubs(mctx android.LoadHookContext) { func prebuiltSdkStubs(mctx android.LoadHookContext, p *prebuiltApis) { mydir := mctx.ModuleDir() + "/" // <apiver>/<scope>/<module>.jar files := getPrebuiltFiles(mctx, "*.jar") files := getPrebuiltFiles(mctx, p, "*.jar") sdk_version := proptools.StringDefault(p.properties.Imports_sdk_version, "current") for _, f := range files { // create a Import module for each jar file localPath := strings.TrimPrefix(f, mydir) module, apiver, scope := parseJarPath(localPath) createImport(mctx, module, scope, apiver, localPath) createImport(mctx, module, scope, apiver, localPath, sdk_version) } } Loading @@ -139,8 +145,8 @@ func createSystemModules(mctx android.LoadHookContext, apiver string) { mctx.CreateModule(SystemModulesFactory, &props) } func prebuiltSdkSystemModules(mctx android.LoadHookContext) { for _, apiver := range mctx.Module().(*prebuiltApis).properties.Api_dirs { func prebuiltSdkSystemModules(mctx android.LoadHookContext, p *prebuiltApis) { for _, apiver := range p.properties.Api_dirs { jar := android.ExistentPathForSource(mctx, mctx.ModuleDir(), apiver, "public", "core-for-system-modules.jar") if jar.Valid() { Loading @@ -149,10 +155,10 @@ func prebuiltSdkSystemModules(mctx android.LoadHookContext) { } } func prebuiltApiFiles(mctx android.LoadHookContext) { func prebuiltApiFiles(mctx android.LoadHookContext, p *prebuiltApis) { mydir := mctx.ModuleDir() + "/" // <apiver>/<scope>/api/<module>.txt files := getPrebuiltFiles(mctx, "api/*.txt") files := getPrebuiltFiles(mctx, p, "api/*.txt") if len(files) == 0 { mctx.ModuleErrorf("no api file found under %q", mydir) Loading Loading @@ -200,10 +206,10 @@ func prebuiltApiFiles(mctx android.LoadHookContext) { } func createPrebuiltApiModules(mctx android.LoadHookContext) { if _, ok := mctx.Module().(*prebuiltApis); ok { prebuiltApiFiles(mctx) prebuiltSdkStubs(mctx) prebuiltSdkSystemModules(mctx) if p, ok := mctx.Module().(*prebuiltApis); ok { prebuiltApiFiles(mctx, p) prebuiltSdkStubs(mctx, p) prebuiltSdkSystemModules(mctx, p) } } Loading