diff options
author | Sundong Ahn <sundongahn@google.com> | 2019-02-14 11:49:24 +0900 |
---|---|---|
committer | Sundong Ahn <sundongahn@google.com> | 2019-02-14 19:46:34 +0900 |
commit | 8faab8a54720cafce85e7dc0c732b1456839b5dc (patch) | |
tree | 3489fcb78b32f11304aca3941f0ab67c84bc87d6 | |
parent | dfa4a486eb0146582fe015ac4466dc39ae0e5f7d (diff) | |
download | android_build_soong-8faab8a54720cafce85e7dc0c732b1456839b5dc.tar.gz android_build_soong-8faab8a54720cafce85e7dc0c732b1456839b5dc.tar.bz2 android_build_soong-8faab8a54720cafce85e7dc0c732b1456839b5dc.zip |
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
-rw-r--r-- | java/prebuilt_apis.go | 21 |
1 files changed, 13 insertions, 8 deletions
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() + "/" - // <apiver>/<scope>/<module>.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() + "/" + // <apiver>/<scope>/<module>.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() + "/" // <apiver>/<scope>/api/<module>.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 (<module>, <scope>) pairs |