Set up the jarjar config generator for the Tethering module.
This does not affect existing classes in framework-tethering.jar
as everything inside android.net is excluded from being jarjar'ed.
It is a preparatory step to adding cronet to framework-tethering.jar
which will use jarjar.
Test: m
Change-Id: I8cc7babaa37f7aef52306a833593dba097fd26db
diff --git a/Tethering/common/TetheringLib/Android.bp b/Tethering/common/TetheringLib/Android.bp
index 3f4da10..6df522c 100644
--- a/Tethering/common/TetheringLib/Android.bp
+++ b/Tethering/common/TetheringLib/Android.bp
@@ -31,7 +31,7 @@
java_sdk_library {
name: "framework-tethering",
- defaults: ["framework-module-defaults"],
+ defaults: ["framework-tethering-defaults"],
impl_library_visibility: [
"//packages/modules/Connectivity/Tethering:__subpackages__",
"//packages/modules/Connectivity/framework",
@@ -57,24 +57,54 @@
"//packages/modules/NetworkStack/tests:__subpackages__",
"//packages/modules/Wifi/service/tests/wifitests",
],
-
- srcs: [":framework-tethering-srcs"],
- libs: ["framework-connectivity.stubs.module_lib"],
stub_only_libs: ["framework-connectivity.stubs.module_lib"],
+
+ jarjar_rules: ":framework-tethering-jarjar-rules",
+ installable: true,
+
+ hostdex: true, // for hiddenapi check
+ permitted_packages: ["android.net"],
+ lint: { strict_updatability_linting: true },
+}
+
+java_library {
+ name: "framework-tethering-pre-jarjar",
+ defaults: ["framework-tethering-defaults"],
+}
+
+java_genrule {
+ name: "framework-tethering-jarjar-rules",
+ tool_files: [
+ ":framework-tethering-pre-jarjar{.jar}",
+ ":framework-tethering.stubs.module_lib{.jar}",
+ "jarjar-excludes.txt",
+ ],
+ tools: [
+ "jarjar-rules-generator",
+ ],
+ out: ["framework_tethering_jarjar_rules.txt"],
+ cmd: "$(location jarjar-rules-generator) " +
+ "$(location :framework-tethering-pre-jarjar{.jar}) " +
+ "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
+ "--prefix android.net.http.internal " +
+ "--excludes $(location jarjar-excludes.txt) " +
+ "--output $(out)",
+}
+
+java_defaults {
+ name: "framework-tethering-defaults",
+ defaults: ["framework-module-defaults"],
+ srcs: [
+ ":framework-tethering-srcs"
+ ],
+ libs: ["framework-connectivity.stubs.module_lib"],
aidl: {
include_dirs: [
"packages/modules/Connectivity/framework/aidl-export",
],
},
-
- jarjar_rules: "jarjar-rules.txt",
- installable: true,
-
- hostdex: true, // for hiddenapi check
apex_available: ["com.android.tethering"],
- permitted_packages: ["android.net"],
min_sdk_version: "30",
- lint: { strict_updatability_linting: true },
}
filegroup {