Skip to content

[7.0] Intentionally support Isolated Projects #1083

Description

@lolifamily

With #992 and #991 done, the remaining Gradle isolation feature FG7 doesn't support is Isolated Projects, which parallelizes the configuration phase and requires that a project never reach into another project's model.

FG7 has exactly one violation. Gradle 9.6.1, -Dorg.gradle.unsafe.isolated-projects=true:

Project ':forge' cannot access 'Project.layout' functionality on another project ':'
  plugin class 'net.minecraftforge.gradle.internal.ForgeGradlePlugin'

It comes from the two plugin.rootProjectDirectory() calls in MinecraftExtensionImpl, which place the Mavenizer repo and the per-dependency JSONs under the root project's directory. ProjectLayout.getSettingsDirectory() resolves to the same location without going through another Project, so this may be a drop-in swap — and it overlaps with #1057, which wants that location configurable anyway.

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