From 598a75ba8cb629b3cbaf72c481c4c08b2702fc41 Mon Sep 17 00:00:00 2001 From: markchien Date: Mon, 22 Nov 2021 10:36:32 +0800 Subject: [PATCH] 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 --- Tethering/Android.bp | 6 +++++- Tethering/apex/Android.bp | 19 ++++++++++++++++++- Tethering/tests/privileged/Android.bp | 1 + Tethering/tests/unit/Android.bp | 12 ++++++++++-- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/Tethering/Android.bp b/Tethering/Android.bp index 3c49383e80..e934d6d3c1 100644 --- a/Tethering/Android.bp +++ b/Tethering/Android.bp @@ -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", diff --git a/Tethering/apex/Android.bp b/Tethering/apex/Android.bp index a5216f7105..7863572c52 100644 --- a/Tethering/apex/Android.bp +++ b/Tethering/apex/Android.bp @@ -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", diff --git a/Tethering/tests/privileged/Android.bp b/Tethering/tests/privileged/Android.bp index 214b014c14..c890197227 100644 --- a/Tethering/tests/privileged/Android.bp +++ b/Tethering/tests/privileged/Android.bp @@ -34,6 +34,7 @@ android_test { name: "TetheringPrivilegedTests", defaults: [ "TetheringPrivilegedTestsJniDefaults", + "ConnectivityNextEnableDefaults", ], srcs: [ "src/**/*.java", diff --git a/Tethering/tests/unit/Android.bp b/Tethering/tests/unit/Android.bp index 228f3fde40..5150d39952 100644 --- a/Tethering/tests/unit/Android.bp +++ b/Tethering/tests/unit/Android.bp @@ -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", }