From 394febc71bb37a6df748421d38e55dd28e1c2667 Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Tue, 14 Apr 2020 16:35:36 +0100 Subject: [PATCH] Make non-updatable stubs depend on sdk 29 There are a few classes from modules referenced as type arguments in the non-updatable part of the API, which need to be resolved. The current dependencies that satisfy those references create dependency cycles when we change the big stubs to be assembled from other stubs. I considered two options for breaking that cycle: 1) depending on a previous SDK 2) add empty classes in a simple manual stub lib This CL does #1. #2 is more work, but may be required when/if we want to reference a newly-added API in the same release. Bug: 144149403 Bug: 149906971 Test: m Change-Id: I3c5e611ca45536bdd931291e663a21757e35992f --- StubLibraries.bp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/StubLibraries.bp b/StubLibraries.bp index f06f2792e0d75..270c160dc5e93 100644 --- a/StubLibraries.bp +++ b/StubLibraries.bp @@ -76,9 +76,14 @@ stubs_defaults { name: "metalava-non-updatable-api-stubs-default", defaults: ["metalava-base-api-stubs-default"], sdk_version: "core_platform", - libs: ["framework-all"], + // There are a few classes from modules used as type arguments that + // need to be resolved by metalava. For now, we can use a previously + // finalized stub library to resolve them. If a new class gets added, + // this may be need to be revisited to use a manually maintained stub + // library with empty classes in order to resolve those references. + libs: ["sdk_system_29_android"], aidl: { - local_include_dirs: ["apex/media/framework/java"], + local_include_dirs: ["apex/media/aidl/stable"], }, } @@ -293,7 +298,7 @@ java_library_static { name: "android_module_lib_stubs_current", srcs: [ ":module-lib-api-stubs-docs" ], defaults: ["android_defaults_stubs_current"], - libs: ["android_system_stubs_current"], + libs: ["sdk_system_29_android"], } /////////////////////////////////////////////////////////////////////