Description
The build configuration files for our macrobenchmark modules (:benchmarks:macro:mobile and :benchmarks:macro:wearos) currently contain duplicated boilerplate code. This includes repetitive setups for SDK versions, compiler options, the custom benchmark build type, experimental properties, and testing dependencies.
To improve maintainability and ensure consistency across our build infrastructure, this configuration logic should be abstracted into a reusable internal convention plugin within build-logic.
Expected Behavior
- Create a new convention plugin named
AndroidMacroBenchmarkPlugin registered under the ID mocca.android.macrobenchmark.
- Centralize all shared Android test configurations, compiler options, and required macrobenchmark dependencies using values from
Config.
- Apply the new plugin to both the mobile and Wear OS macrobenchmark modules, drastically reducing localized boilerplate code.
Area / Component
Build Logic & Infrastructure (Gradle)
Description
The build configuration files for our macrobenchmark modules (
:benchmarks:macro:mobileand:benchmarks:macro:wearos) currently contain duplicated boilerplate code. This includes repetitive setups for SDK versions, compiler options, the custombenchmarkbuild type, experimental properties, and testing dependencies.To improve maintainability and ensure consistency across our build infrastructure, this configuration logic should be abstracted into a reusable internal convention plugin within
build-logic.Expected Behavior
AndroidMacroBenchmarkPluginregistered under the IDmocca.android.macrobenchmark.Config.Area / Component
Build Logic & Infrastructure (Gradle)