From 8faab8a54720cafce85e7dc0c732b1456839b5dc Mon Sep 17 00:00:00 2001 From: Sundong Ahn Date: Thu, 14 Feb 2019 11:49:24 +0900 Subject: Get latest api version The logic of getting latest api version has problem that we don't guarantee $(module_name).latest is latest api txt file. So change this logic to get the latest api txt file. Test: make -j40 Change-Id: Ibbd8475061fc76169a4c94dcf148fece45b9a41d --- java/prebuilt_apis.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'java/prebuilt_apis.go') diff --git a/java/prebuilt_apis.go b/java/prebuilt_apis.go index 49cc9311..02b9b455 100644 --- a/java/prebuilt_apis.go +++ b/java/prebuilt_apis.go @@ -103,19 +103,25 @@ func createFilegroup(mctx android.TopDownMutatorContext, module string, scope st mctx.CreateModule(android.ModuleFactoryAdaptor(android.FileGroupFactory), &filegroupProps) } -func prebuiltSdkStubs(mctx android.TopDownMutatorContext) { +func getPrebuiltFiles(mctx android.TopDownMutatorContext, name string) []string { mydir := mctx.ModuleDir() + "/" - // //.jar var files []string for _, apiver := range mctx.Module().(*prebuiltApis).properties.Api_dirs { for _, scope := range []string{"public", "system", "test", "core"} { - vfiles, err := mctx.GlobWithDeps(mydir+apiver+"/"+scope+"*/*.jar", nil) + vfiles, err := mctx.GlobWithDeps(mydir+apiver+"/"+scope+"/"+name, nil) if err != nil { - mctx.ModuleErrorf("failed to glob jar files under %q: %s", mydir+apiver+"/"+scope, err) + mctx.ModuleErrorf("failed to glob %s files under %q: %s", name, mydir+apiver+"/"+scope, err) } files = append(files, vfiles...) } } + return files +} + +func prebuiltSdkStubs(mctx android.TopDownMutatorContext) { + mydir := mctx.ModuleDir() + "/" + // //.jar + files := getPrebuiltFiles(mctx, "*.jar") for _, f := range files { // create a Import module for each jar file @@ -128,10 +134,8 @@ func prebuiltSdkStubs(mctx android.TopDownMutatorContext) { func prebuiltApiFiles(mctx android.TopDownMutatorContext) { mydir := mctx.ModuleDir() + "/" // //api/.txt - files, err := mctx.GlobWithDeps(mydir+"*/*/api/*.txt", nil) - if err != nil { - mctx.ModuleErrorf("failed to glob api txt files under %q: %s", mydir, err) - } + files := getPrebuiltFiles(mctx, "api/*.txt") + if len(files) == 0 { mctx.ModuleErrorf("no api file found under %q", mydir) } @@ -161,6 +165,7 @@ func prebuiltApiFiles(mctx android.TopDownMutatorContext) { strings.Compare(apiver, info.apiver) > 0) { info.apiver = apiver info.path = localPath + m[key] = info } } // create filegroups for the latest version of (, ) pairs -- cgit v1.2.3