Add defaults to enable/disable connectivity/tethering next

The defaults can be used to enable/disable connectivity next targets
depending on the branch, while minimizing merge conflicts.

The "next" target may use unstable APIs. It need to be disabled in the
branch which only have the last stable SDK available.

Also correct TetheringTestsLatestSdkLib which should use stable API.

Test: TH
Change-Id: I00d91bbd513277c1cedf67d18ac9f56cc4037309
This commit is contained in:
markchien 2021-11-22 10:36:32 +08:00
commit 598a75ba8c
4 changed files with 34 additions and 4 deletions

View file

@ -179,7 +179,11 @@ android_app {
android_app {
name: "TetheringNext",
defaults: ["TetheringAppDefaults", "TetheringApiLevel"],
defaults: [
"TetheringAppDefaults",
"TetheringApiLevel",
"ConnectivityNextEnableDefaults",
],
static_libs: ["TetheringApiCurrentLib"],
certificate: "networkstack",
manifest: "AndroidManifest.xml",

View file

@ -18,8 +18,26 @@ package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
// Defaults to enable/disable java targets which uses development APIs. "enabled" may have a
// different value depending on the branch.
java_defaults {
name: "ConnectivityNextEnableDefaults",
enabled: true,
}
apex_defaults {
name: "ConnectivityApexDefaults",
// Tethering app to include in the AOSP apex. Branches that disable the "next" targets may use
// a stable tethering app instead, but will generally override the AOSP apex to use updatable
// package names and keys, so that apex will be unused anyway.
apps: ["TetheringNext"], // Replace to "Tethering" if ConnectivityNextEnableDefaults is false.
}
// This is a placeholder comment to avoid merge conflicts
// as the above target may have different "enabled" values
// depending on the branch
apex {
name: "com.android.tethering",
defaults: ["ConnectivityApexDefaults"],
compile_multilib: "both",
updatable: true,
min_sdk_version: "30",
@ -43,7 +61,6 @@ apex {
],
apps: [
"ServiceConnectivityResources",
"TetheringNext",
],
prebuilts: ["current_sdkinfo"],
manifest: "manifest.json",

View file

@ -34,6 +34,7 @@ android_test {
name: "TetheringPrivilegedTests",
defaults: [
"TetheringPrivilegedTestsJniDefaults",
"ConnectivityNextEnableDefaults",
],
srcs: [
"src/**/*.java",

View file

@ -49,7 +49,6 @@ java_defaults {
"src/**/*.kt",
],
static_libs: [
"TetheringApiCurrentLib",
"TetheringCommonTests",
"androidx.test.rules",
"frameworks-base-testutils",
@ -85,6 +84,9 @@ java_defaults {
android_library {
name: "TetheringTestsLatestSdkLib",
defaults: ["TetheringTestsDefaults"],
static_libs: [
"TetheringApiStableLib",
],
target_sdk_version: "30",
visibility: [
"//packages/modules/Connectivity/tests:__subpackages__",
@ -99,7 +101,13 @@ android_test {
"device-tests",
"mts-tethering",
],
defaults: ["TetheringTestsDefaults"],
defaults: [
"TetheringTestsDefaults",
"ConnectivityNextEnableDefaults",
],
static_libs: [
"TetheringApiCurrentLib",
],
compile_multilib: "both",
jarjar_rules: ":TetheringTestsJarJarRules",
}