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

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions