Replace lists of aconfig modules with aconfig_declarations_group
Currently in AconfigFlags.bp, two list of aconfig modules are being
maintained: the list of java_aconfig_library modules and the list of
aconfig_declarations modules. When a new aconfig module is being added,
a developer must modify the two lists, and there is no guarantee that
the two lists are kept in sync. In order to resolve such issue, this
change replaces the two lists with the newly introduced
aconfig_declarations_group module.
Test: m
Bug: 320492079
Change-Id: Ib32c06de4f0279a17e5c65314e984265592d004c
diff --git a/AconfigFlags.bp b/AconfigFlags.bp
index 2846221..7fee810 100644
--- a/AconfigFlags.bp
+++ b/AconfigFlags.bp
@@ -12,171 +12,107 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-aconfig_srcjars = [
- // !!! KEEP THIS LIST ALPHABETICAL !!!
- ":aconfig_mediacodec_flags_java_lib{.generated_srcjars}",
- ":android.adaptiveauth.flags-aconfig-java{.generated_srcjars}",
- ":android.app.flags-aconfig-java{.generated_srcjars}",
- ":android.app.smartspace.flags-aconfig-java{.generated_srcjars}",
- ":android.app.usage.flags-aconfig-java{.generated_srcjars}",
- ":android.app.wearable.flags-aconfig-java{.generated_srcjars}",
- ":android.appwidget.flags-aconfig-java{.generated_srcjars}",
- ":android.chre.flags-aconfig-java{.generated_srcjars}",
- ":android.companion.flags-aconfig-java{.generated_srcjars}",
- ":android.companion.virtual.flags-aconfig-java{.generated_srcjars}",
- ":android.companion.virtualdevice.flags-aconfig-java{.generated_srcjars}",
- ":android.content.flags-aconfig-java{.generated_srcjars}",
- ":android.content.pm.flags-aconfig-java{.generated_srcjars}",
- ":android.content.res.flags-aconfig-java{.generated_srcjars}",
- ":android.crashrecovery.flags-aconfig-java{.generated_srcjars}",
- ":android.credentials.flags-aconfig-java{.generated_srcjars}",
- ":android.database.sqlite-aconfig-java{.generated_srcjars}",
- ":android.hardware.biometrics.flags-aconfig-java{.generated_srcjars}",
- ":android.hardware.flags-aconfig-java{.generated_srcjars}",
- ":android.hardware.radio.flags-aconfig-java{.generated_srcjars}",
- ":android.hardware.usb.flags-aconfig-java{.generated_srcjars}",
- ":android.location.flags-aconfig-java{.generated_srcjars}",
- ":android.media.codec-aconfig-java{.generated_srcjars}",
- ":android.media.tv.flags-aconfig-java{.generated_srcjars}",
- ":android.multiuser.flags-aconfig-java{.generated_srcjars}",
- ":android.net.platform.flags-aconfig-java{.generated_srcjars}",
- ":android.net.vcn.flags-aconfig-java{.generated_srcjars}",
- ":android.net.wifi.flags-aconfig-java{.generated_srcjars}",
- ":android.nfc.flags-aconfig-java{.generated_srcjars}",
- ":android.os.flags-aconfig-java{.generated_srcjars}",
- ":android.os.vibrator.flags-aconfig-java{.generated_srcjars}",
- ":android.permission.flags-aconfig-java{.generated_srcjars}",
- ":android.provider.flags-aconfig-java{.generated_srcjars}",
- ":android.security.flags-aconfig-java{.generated_srcjars}",
- ":android.server.app.flags-aconfig-java{.generated_srcjars}",
- ":android.service.autofill.flags-aconfig-java{.generated_srcjars}",
- ":android.service.chooser.flags-aconfig-java{.generated_srcjars}",
- ":android.service.controls.flags-aconfig-java{.generated_srcjars}",
- ":android.service.dreams.flags-aconfig-java{.generated_srcjars}",
- ":android.service.notification.flags-aconfig-java{.generated_srcjars}",
- ":android.service.appprediction.flags-aconfig-java{.generated_srcjars}",
- ":android.service.voice.flags-aconfig-java{.generated_srcjars}",
- ":android.speech.flags-aconfig-java{.generated_srcjars}",
- ":android.systemserver.flags-aconfig-java{.generated_srcjars}",
- ":android.tracing.flags-aconfig-java{.generated_srcjars}",
- ":android.view.accessibility.flags-aconfig-java{.generated_srcjars}",
- ":android.view.contentcapture.flags-aconfig-java{.generated_srcjars}",
- ":android.view.contentprotection.flags-aconfig-java{.generated_srcjars}",
- ":android.view.flags-aconfig-java{.generated_srcjars}",
- ":android.view.inputmethod.flags-aconfig-java{.generated_srcjars}",
- ":android.webkit.flags-aconfig-java{.generated_srcjars}",
- ":android.widget.flags-aconfig-java{.generated_srcjars}",
- ":audio-framework-aconfig",
- ":backup_flags_lib{.generated_srcjars}",
- ":camera_platform_flags_core_java_lib{.generated_srcjars}",
- ":com.android.hardware.input-aconfig-java{.generated_srcjars}",
- ":com.android.input.flags-aconfig-java{.generated_srcjars}",
- ":com.android.internal.foldables.flags-aconfig-java{.generated_srcjars}",
- ":com.android.internal.pm.pkg.component.flags-aconfig-java{.generated_srcjars}",
- ":com.android.media.flags.bettertogether-aconfig-java{.generated_srcjars}",
- ":com.android.media.flags.editing-aconfig-java{.generated_srcjars}",
- ":com.android.media.flags.projection-aconfig-java{.generated_srcjars}",
- ":com.android.net.thread.flags-aconfig-java{.generated_srcjars}",
- ":com.android.server.flags.services-aconfig-java{.generated_srcjars}",
- ":com.android.text.flags-aconfig-java{.generated_srcjars}",
- ":com.android.window.flags.window-aconfig-java{.generated_srcjars}",
- ":device_policy_aconfig_flags_lib{.generated_srcjars}",
- ":display_flags_lib{.generated_srcjars}",
- ":framework-jobscheduler-job.flags-aconfig-java{.generated_srcjars}",
- ":framework_graphics_flags_java_lib{.generated_srcjars}",
- ":hwui_flags_java_lib{.generated_srcjars}",
- ":power_flags_lib{.generated_srcjars}",
- ":sdk_sandbox_flags_lib{.generated_srcjars}",
- ":surfaceflinger_flags_java_lib{.generated_srcjars}",
- ":telecom_flags_core_java_lib{.generated_srcjars}",
- ":telephony_flags_core_java_lib{.generated_srcjars}",
- // !!! KEEP THIS LIST ALPHABETICAL !!!
-]
-
-stubs_defaults {
+aconfig_declarations_group {
name: "framework-minus-apex-aconfig-declarations",
- aconfig_declarations: [
- "android.app.flags-aconfig",
- "android.app.smartspace.flags-aconfig",
- "android.app.usage.flags-aconfig",
- "android.appwidget.flags-aconfig",
- "android.companion.flags-aconfig",
- "android.companion.virtual.flags-aconfig",
- "android.content.pm.flags-aconfig",
- "android.content.res.flags-aconfig",
- "android.crashrecovery.flags-aconfig",
- "android.credentials.flags-aconfig",
- "android.database.sqlite-aconfig",
- "android.hardware.biometrics.flags-aconfig",
- "android.hardware.flags-aconfig",
- "android.hardware.radio.flags-aconfig",
- "android.hardware.usb.flags-aconfig",
- "android.location.flags-aconfig",
- "android.media.audio-aconfig",
- "android.media.audiopolicy-aconfig",
- "android.media.midi-aconfig",
- "android.media.tv.flags-aconfig",
- "android.multiuser.flags-aconfig",
- "android.net.platform.flags-aconfig",
- "android.net.vcn.flags-aconfig",
- "android.net.wifi.flags-aconfig",
- "android.nfc.flags-aconfig",
- "android.os.flags-aconfig",
- "android.os.vibrator.flags-aconfig",
- "android.permission.flags-aconfig",
- "android.provider.flags-aconfig",
- "android.security.flags-aconfig",
- "android.server.app.flags-aconfig",
- "android.service.appprediction.flags-aconfig",
- "android.service.autofill.flags-aconfig",
- "android.service.chooser.flags-aconfig",
- "android.service.controls.flags-aconfig",
- "android.service.dreams.flags-aconfig",
- "android.service.notification.flags-aconfig",
- "android.service.voice.flags-aconfig",
- "android.speech.flags-aconfig",
- "android.tracing.flags-aconfig",
- "android.view.accessibility.flags-aconfig",
- "android.view.contentcapture.flags-aconfig",
- "android.view.contentprotection.flags-aconfig",
- "android.view.flags-aconfig",
- "android.view.inputmethod.flags-aconfig",
- "android.webkit.flags-aconfig",
- "android.widget.flags-aconfig",
- "camera_platform_flags",
- "chre_flags",
- "com.android.hardware.input.input-aconfig",
- "com.android.input.flags-aconfig",
- "com.android.media.flags.bettertogether-aconfig",
- "com.android.net.thread.flags-aconfig",
- "com.android.server.flags.services-aconfig",
- "com.android.text.flags-aconfig",
- "com.android.window.flags.window-aconfig",
- "device_policy_aconfig_flags",
- "display_flags",
- "fold_lock_setting_flags",
- "framework-jobscheduler-job.flags-aconfig",
- "framework_graphics_flags",
- "hwui_flags",
- "power_flags",
- "sdk_sandbox_flags",
- "surfaceflinger_flags",
- "telecom_flags",
- "telephony_flags",
+ aconfig_declarations_groups: [
+ "audio-framework-aconfig",
+ ],
+ java_aconfig_libraries: [
+ // !!! KEEP THIS LIST ALPHABETICAL !!!
+ "aconfig_mediacodec_flags_java_lib",
+ "android.adaptiveauth.flags-aconfig-java",
+ "android.app.flags-aconfig-java",
+ "android.app.smartspace.flags-aconfig-java",
+ "android.app.usage.flags-aconfig-java",
+ "android.app.wearable.flags-aconfig-java",
+ "android.appwidget.flags-aconfig-java",
+ "android.chre.flags-aconfig-java",
+ "android.companion.flags-aconfig-java",
+ "android.companion.virtual.flags-aconfig-java",
+ "android.companion.virtualdevice.flags-aconfig-java",
+ "android.content.flags-aconfig-java",
+ "android.content.pm.flags-aconfig-java",
+ "android.content.res.flags-aconfig-java",
+ "android.crashrecovery.flags-aconfig-java",
+ "android.credentials.flags-aconfig-java",
+ "android.database.sqlite-aconfig-java",
+ "android.hardware.biometrics.flags-aconfig-java",
+ "android.hardware.flags-aconfig-java",
+ "android.hardware.radio.flags-aconfig-java",
+ "android.hardware.usb.flags-aconfig-java",
+ "android.location.flags-aconfig-java",
+ "android.media.codec-aconfig-java",
+ "android.media.tv.flags-aconfig-java",
+ "android.multiuser.flags-aconfig-java",
+ "android.net.platform.flags-aconfig-java",
+ "android.net.vcn.flags-aconfig-java",
+ "android.net.wifi.flags-aconfig-java",
+ "android.nfc.flags-aconfig-java",
+ "android.os.flags-aconfig-java",
+ "android.os.vibrator.flags-aconfig-java",
+ "android.permission.flags-aconfig-java",
+ "android.provider.flags-aconfig-java",
+ "android.security.flags-aconfig-java",
+ "android.server.app.flags-aconfig-java",
+ "android.service.autofill.flags-aconfig-java",
+ "android.service.chooser.flags-aconfig-java",
+ "android.service.controls.flags-aconfig-java",
+ "android.service.dreams.flags-aconfig-java",
+ "android.service.notification.flags-aconfig-java",
+ "android.service.appprediction.flags-aconfig-java",
+ "android.service.voice.flags-aconfig-java",
+ "android.speech.flags-aconfig-java",
+ "android.systemserver.flags-aconfig-java",
+ "android.tracing.flags-aconfig-java",
+ "android.view.accessibility.flags-aconfig-java",
+ "android.view.contentcapture.flags-aconfig-java",
+ "android.view.contentprotection.flags-aconfig-java",
+ "android.view.flags-aconfig-java",
+ "android.view.inputmethod.flags-aconfig-java",
+ "android.webkit.flags-aconfig-java",
+ "android.widget.flags-aconfig-java",
+ "backup_flags_lib",
+ "camera_platform_flags_core_java_lib",
+ "com.android.hardware.input-aconfig-java",
+ "com.android.input.flags-aconfig-java",
+ "com.android.internal.foldables.flags-aconfig-java",
+ "com.android.internal.pm.pkg.component.flags-aconfig-java",
+ "com.android.media.flags.bettertogether-aconfig-java",
+ "com.android.media.flags.editing-aconfig-java",
+ "com.android.media.flags.projection-aconfig-java",
+ "com.android.net.thread.flags-aconfig-java",
+ "com.android.server.flags.services-aconfig-java",
+ "com.android.text.flags-aconfig-java",
+ "com.android.window.flags.window-aconfig-java",
+ "device_policy_aconfig_flags_lib",
+ "display_flags_lib",
+ "framework-jobscheduler-job.flags-aconfig-java",
+ "framework_graphics_flags_java_lib",
+ "hwui_flags_java_lib",
+ "power_flags_lib",
+ "sdk_sandbox_flags_lib",
+ "surfaceflinger_flags_java_lib",
+ "telecom_flags_core_java_lib",
+ "telephony_flags_core_java_lib",
+ // !!! KEEP THIS LIST ALPHABETICAL !!!
],
}
filegroup {
name: "framework-minus-apex-aconfig-srcjars",
- srcs: aconfig_srcjars,
+ srcs: [
+ ":framework-minus-apex-aconfig-declarations{.srcjars}",
+ ],
}
// Aconfig declarations and libraries for the core framework
java_defaults {
name: "framework-minus-apex-aconfig-libraries",
// Add java_aconfig_libraries to here to add them to the core framework
- srcs: aconfig_srcjars,
// Add aconfig-annotations-lib as a dependency for the optimization
+ srcs: [
+ ":framework-minus-apex-aconfig-declarations{.srcjars}",
+ ],
libs: ["aconfig-annotations-lib"],
}