Allow missing java_sdk_library files in AllowMissingDependencies builds
java_sdk_library modules in builds with AllowMissingDependencies may
be missing defaults modules that cause them to look for api files that
they normally wouldn't need. Move the error to runtime so it doesn't
block the build unless the branch tries to build that module.
Test: prebuilts/build-tools/build-prebuilts.sh in aosp-build-tools
Change-Id: I279b0cd8493779f972c0ac02235967c10b35a5a0
diff --git a/java/sdk_library.go b/java/sdk_library.go
index b5b6232..6e860e7 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -1629,8 +1629,12 @@
path := path.Join(mctx.ModuleDir(), apiDir, scope.apiFilePrefix+api)
p := android.ExistentPathForSource(mctx, path)
if !p.Valid() {
- mctx.ModuleErrorf("Current api file %#v doesn't exist", path)
- missingCurrentApi = true
+ if mctx.Config().AllowMissingDependencies() {
+ mctx.AddMissingDependencies([]string{path})
+ } else {
+ mctx.ModuleErrorf("Current api file %#v doesn't exist", path)
+ missingCurrentApi = true
+ }
}
}
}