diff options
Diffstat (limited to 'java/hiddenapi.go')
-rw-r--r-- | java/hiddenapi.go | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/java/hiddenapi.go b/java/hiddenapi.go index e9ee3a2ea..5441a3b6e 100644 --- a/java/hiddenapi.go +++ b/java/hiddenapi.go @@ -44,7 +44,8 @@ type hiddenAPI struct { // // This must be the path to the unencoded dex jar as the encoded dex jar indirectly depends on // this file so using the encoded dex jar here would result in a cycle in the ninja rules. - bootDexJarPath OptionalDexJarPath + bootDexJarPath OptionalDexJarPath + bootDexJarPathErr error // The paths to the classes jars that contain classes and class members annotated with // the UnsupportedAppUsage annotation that need to be extracted as part of the hidden API @@ -56,7 +57,10 @@ type hiddenAPI struct { uncompressDexState *bool } -func (h *hiddenAPI) bootDexJar() OptionalDexJarPath { +func (h *hiddenAPI) bootDexJar(ctx android.ModuleErrorfContext) OptionalDexJarPath { + if h.bootDexJarPathErr != nil { + ctx.ModuleErrorf(h.bootDexJarPathErr.Error()) + } return h.bootDexJarPath } @@ -77,7 +81,7 @@ type hiddenAPIModule interface { } type hiddenAPIIntf interface { - bootDexJar() OptionalDexJarPath + bootDexJar(ctx android.ModuleErrorfContext) OptionalDexJarPath classesJars() android.Paths uncompressDex() *bool } @@ -126,6 +130,11 @@ func (h *hiddenAPI) initHiddenAPI(ctx android.ModuleContext, dexJar OptionalDexJ h.active = isModuleInBootClassPath(ctx, module) } +// Store any error encountered during the initialization of hiddenapi structure (e.g. unflagged co-existing prebuilt apexes) +func (h *hiddenAPI) initHiddenAPIError(err error) { + h.bootDexJarPathErr = err +} + func isModuleInBootClassPath(ctx android.BaseModuleContext, module android.Module) bool { // Get the configured platform and apex boot jars. nonApexBootJars := ctx.Config().NonApexBootJars() |