Skip to content

Check and adopt Gradle "isolated projects" feature #309

Description

@StefMa

Summary
Evaluate adopting Gradle "isolated projects" feature to improve plugin isolation, avoid accidental cross-project state, and improve compatibility with newer Gradle features. See Gradle docs: https://docs.gradle.org/current/userguide/isolated_projects.html

Why

  • This plugin uses AGP variant APIs and registers tasks per variant; isolating the plugin can prevent unexpected interactions in multi-module Android projects.
  • Improve predictability and compatibility with Gradle configuration cache and classloader isolation.

What to check

  • Review apply(project: Project) and variant-specific code for cross-project assumptions.
    • File: src/main/kotlin/com/ioki/sentry/proguard/gradle/plugin/SentryProguardGradlePlugin.kt
  • Review extension and CLI config for shared mutable state.
    • File: src/main/kotlin/com/ioki/sentry/proguard/gradle/plugin/SentryProguardExtension.kt
  • Validate AGP compatibility and tests (see src/test/kotlin and androidTestProject).

Suggested changes

  • Experiment enabling isolated projects and fix issues.
  • Add tests for multi-module Android projects and plugin consumption scenarios.
  • Document minimum Gradle/AGP versions if required.

Notes

  • Test AGP variant API interactions carefully — isolated projects may affect lifecycle or classloading.
  • Isolated projects may require bumping minimum Gradle version

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions