From 18f840c45e27b5966e30850117196ec6f52524d1 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 20 May 2021 17:56:54 -0700 Subject: [PATCH] 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 --- android/defaults.go | 1 + java/sdk_library.go | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/android/defaults.go b/android/defaults.go index aacfbacc6..be80cf10f 100644 --- a/android/defaults.go +++ b/android/defaults.go @@ -104,6 +104,7 @@ type DefaultableHookContext interface { EarlyModuleContext CreateModule(ModuleFactory, ...interface{}) Module + AddMissingDependencies(missingDeps []string) } type DefaultableHook func(ctx DefaultableHookContext) diff --git a/java/sdk_library.go b/java/sdk_library.go index b5b6232d6..6e860e703 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -1629,8 +1629,12 @@ func (module *SdkLibrary) CreateInternalModules(mctx android.DefaultableHookCont 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 + } } } }