Skip to content

Move interop logic from gradle plugin to MetroOptions #905

@ZacSweers

Description

@ZacSweers

Currently, most options are 1:1 from the Gradle plugin extension to MetroOptions. However, there is some logic that is only present in the gradle plugin: interop. If anvil/KI/dagger interop is enabled, the gradle plugin wires the appropriate custom annotations there. Let's move this logic to MetroOptions itself (and introduce new options for interop to signal this).

This would afford two benefits:

  • Dedupe the custom annotations logic. Currently compiler tests partially reimplement these replacements for interop tests since they don't use the gradle plugin.
  • It would make this more approachable for non-gradle build systems like Bazel and Amper.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions