Keep only the classes in the android.test.mock package

framework-core-sources-for-test-mock has some classes that are outside
of the android.test.mock package. It is necessary just to provide
private APIs to the mock classes, but not to include them in the impl
library.

Removing the unnecessary classes by using jarjar.

Bug: 199529199
Test: m
Change-Id: I4d0de6132245c4923a4b17a4004c300cd864c116
This commit is contained in:
Jiyong Park
2021-09-13 21:11:05 +09:00
parent 49dcfea031
commit 9b62bc81f7
2 changed files with 18 additions and 1 deletions

View File

@@ -32,7 +32,9 @@ java_sdk_library {
":android-test-mock-sources",
// Note: Below are NOT APIs of this library. We only take APIs under
// the android.test.mock package. They however provide private APIs that
// android.test.mock APIs references to.
// android.test.mock APIs references to. We need to have the classes in
// source code form to have access to the @hide comment which disappears
// when the classes are compiled into a Jar library.
":framework-core-sources-for-test-mock",
":framework_native_aidl",
],
@@ -46,6 +48,14 @@ java_sdk_library {
api_packages: [
"android.test.mock",
],
// Only include android.test.mock.* classes. Jarjar rules below removes
// classes in other packages like android.content. In order to keep the
// list up-to-date, permitted_packages ensures that the library contains
// clases under android.test.mock after the jarjar rules are applied.
jarjar_rules: "jarjar-rules.txt",
permitted_packages: [
"android.test.mock",
],
compile_dex: true,
default_to_stubs: true,
dist_group: "android",

View File

@@ -0,0 +1,7 @@
zap android.accounts.**
zap android.app.**
zap android.content.**
zap android.database.**
zap android.os.**
zap android.util.**
zap android.view.**