GeyserMC / Geyser

A bridge/proxy allowing you to connect to Minecraft: Java Edition servers with Minecraft: Bedrock Edition.
https://geysermc.org
MIT License
4.75k stars 686 forks source link

Gradle: avoid cross-configuration and enable configuration-on-demand #5012

Closed Konicai closed 2 months ago

Konicai commented 2 months ago

configure-on-demand, decoupled projects, and parallel projects are documented on Gradle: Configure On Demand. it's a good read.

Decoupling is necessary for usage of configure-on-demand or parallel execution to not result in flawed build outcomes. The previous link does not mention that the common usage of allprojects {} and subprojects {} to share build logic results in coupling, but it is mentioned and denounced on Gradle: Sharing Build Logic between Subprojects.

Changes that should allow enabling configure-on-demand, and improve the current use of parallel execution:

Changes for the sake of cleanup: