Add explicit dependency from android.test.base to hiddenapi annotations

Previously, the dependency was implicit by name. This change makes it
explicit.

The android.test.base-hiddenapi is renamed to prevent the implicit
dependency being discovered. A follow up change will remove that
capability from Soong.

Test: m droid
      Verified that hiddenapi files (both aggregated ones and for the
      individual modules) are not affected by this change.
Change-Id: I6fb96311e3a15cc341a0d64817921dd99d6e683e
This commit is contained in:
Paul Duffin 2021-01-27 11:32:54 +00:00
parent 2a2456d3a4
commit 67668969e8
2 changed files with 17 additions and 9 deletions

View File

@ -49,6 +49,12 @@ java_sdk_library {
compile_dex: true,
default_to_stubs: true,
// Additional hiddenapi annotations are provided in a separate module.
// TODO(b/180295980) - investigate whether this can be removed
hiddenapi_additional_annotations: [
"android.test.base-hiddenapi-annotations",
],
}
// Build the android.test.base_static library
@ -91,8 +97,9 @@ java_library_static {
// ===============================================
// This contains the android.test classes from android.test.base plus
// the com.android.internal.util.Predicate[s] classes. This is only
// intended for inclusion in android.test.legacy and must not be used
// elsewhere.
// intended for inclusion in android.test.legacy and in
// android.test.base-hiddenapi-annotations to avoid a dependency cycle and must
// not be used elsewhere.
java_library_static {
name: "android.test.base-minus-junit",

View File

@ -14,11 +14,6 @@
// limitations under the License.
//
// Provided solely to contribute information about which hidden parts of the android.test.base
// library are used by apps. The source files are stubs of the actual files in ../src which use the
// UnsupportedAppUsage annotation to tag those methods that are accessible via the hiddenapi.
// Relies on the convention that modules with name <x>-hiddenapi provide hiddenapi information for
// module <x> that is on the bootclasspath.
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
@ -28,14 +23,20 @@ package {
default_applicable_licenses: ["frameworks_base_license"],
}
// Provided solely to contribute information about which hidden parts of the android.test.base
// library are used by apps. The source files are stubs of the actual files in ../src which use the
// UnsupportedAppUsage annotation to tag those methods that are accessible via the hiddenapi.
java_library {
name: "android.test.base-hiddenapi",
name: "android.test.base-hiddenapi-annotations",
compile_dex: true,
srcs: ["src/**/*.java"],
libs: [
"android.test.base",
// Use this instead of `android.test.base` to avoid a dependency cycle
// as `android.test.base` depends on this.
"android.test.base-minus-junit",
"junit",
"unsupportedappusage",
],
}