Skip to content

[Refactor]: Centralize macrobenchmark module configurations via convention plugin #508

Description

@marlonlom

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)

Metadata

Metadata

Assignees

Labels

dependenciesPull requests that update a dependency fileenhancementNew feature or requestkotlinPull requests that update kotlin code

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions