Switch the root build scripts to Kotlin and limit parallel remaps
Check / compile (pull_request) Successful in 7m47s
Check / compile (pull_request) Successful in 7m47s
- settings.gradle, stonecutter.gradle and the root build.gradle become .kts. Loom's version for the Stonecutter versions moves to the root gradle.properties (loom_version), read by pluginManagement, since the Kotlin plugins block can't read properties. The old mc-<v> projects keep their Groovy scripts until they're folded in. - buildAll ran all eight remapJar tasks at once. Each loads a Minecraft classpath and remaps a ~50 MB jar, which doesn't fit in the 3 GB daemon heap: a cold build stalled in garbage collection for 40+ minutes, and earlier runs failed. A shared build service now lets two remaps run together; a cold buildAll takes about 2 minutes. - port.sh and VERSION_GUIDE follow the .kts file names. The 1.21.11 jar is the same as with the Groovy scripts. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
maven("https://maven.fabricmc.net/")
|
||||
maven("https://maven.kikugie.dev/releases")
|
||||
gradlePluginPortal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
// Loom's version, for the Stonecutter versions' build.gradle.kts (the old mc-<v> projects set
|
||||
// their own in versions/<v>/gradle.properties).
|
||||
val loom_version: String by settings
|
||||
plugins {
|
||||
id("net.fabricmc.fabric-loom-remap") version loom_version
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id("dev.kikugie.stonecutter") version "0.9.8"
|
||||
}
|
||||
|
||||
rootProject.name = "saturn-client"
|
||||
|
||||
include("common")
|
||||
|
||||
// Versions built by Stonecutter from the shared src/ (see stonecutter.gradle.kts). Each one's
|
||||
// versions/<v>/gradle.properties holds its Minecraft, Yarn and Fabric API versions.
|
||||
val stonecutterVersions = listOf("1.21.11")
|
||||
|
||||
stonecutter {
|
||||
create(rootProject) {
|
||||
versions(stonecutterVersions)
|
||||
vcsVersion = "1.21.11"
|
||||
}
|
||||
}
|
||||
|
||||
// Versions not moved to Stonecutter yet still build from their own copy in versions/<v>/src,
|
||||
// as projects named mc-<v>.
|
||||
file("versions").listFiles { file -> file.isDirectory && file.name !in stonecutterVersions }!!
|
||||
.sortedBy { it.name }
|
||||
.forEach { dir ->
|
||||
include("mc-${dir.name}")
|
||||
project(":mc-${dir.name}").projectDir = dir
|
||||
}
|
||||
Reference in New Issue
Block a user