Skip to content

Plugin not compatible with the isolated projects #107

Closed

Description

@matejdro

Plugin collects dependency projects of every module, which is not compatible with the upcoming Isolated Projects.

What is the main use for this feature? I'm not sure I understand it.

Activity

  1. skydoves commented on Feb 10, 2026

    @skydoves
    Owner

    The collectProjectDependencies() function iterates project.rootProject.allprojects to gather package names from sibling modules. This information is passed to the compiler plugin so it can detect cross-module types; when a composable parameter's type comes from a different Gradle module, the compiler plugin needs to know that (see #18, #84), because types from other modules without @Stable/@Immutable/@StabilityInferred annotations should be treated as unstable (the plugin can't see their implementation details).

    That said, this cross-project access (rootProject.allprojects) is indeed incompatible with Gradle's Isolated Projects feature. I'll look into replacing it with a configuration-time-safe approach — for example, resolving the information from the compile classpath's module metadata instead of scanning sibling projects directly, or allowing users to declare cross-module packages explicitly via the extension DSL.

  2. wezley98 commented on Aug 13, 2026

    @wezley98

    Would be great to have support for this, isolated-projects has moved to incubating in gradle v9.7.0

    https://docs.gradle.org/current/release-notes.html#isolated-projects-is-now-incubating

  3. added a commit that references this issue on Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions