Build 1.21.11 with Stonecutter from a shared src/

Step 1 of #8. 1.21.11's version-specific code moves from versions/1.21.11/src
to the top-level src/, built by Stonecutter as the project :1.21.11. The other
versions still build from their own copies as :mc-<v> until they're folded in.

- settings.gradle: applies Stonecutter (Groovy controller) with
  stonecutterVersions = ["1.21.11"] and skips those folders when including
  the old mc-<v> projects.
- The old root build.gradle becomes stonecutter.gradle (the root project's
  script, with the shared repositories, common wiring and buildAll), and
  1.21.11's build.gradle becomes the root build.gradle that Stonecutter runs
  for each version. versions/1.21.11 keeps its gradle.properties and run/.
- The jar has the same 415 entries, fabric.mod.json and mixin configs as
  before; the only class differences also appear when rebuilding an
  untouched version today.
- scripts/port.sh treats src/ as the active Stonecutter version, so changes
  port between it and the old copies both ways.
- README and VERSION_GUIDE describe the layout, version comments and how to
  add a version.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-09-27 04:18:42 +02:00
co-authored by claude
parent 6ed2ac1b60
commit 019e5cfb43
60 changed files with 267 additions and 202 deletions
+2 -2
View File
@@ -47,8 +47,8 @@ git clone --recurse-submodules https://git.selimaj.dev/saturnclientmc/saturnclie
cd saturnclient
./gradlew buildAll # every version → build/allJars/
./gradlew :mc-1.21.11:build # a single version
./gradlew :mc-1.21.11:runClient # launch a development client
./gradlew :1.21.11:build # a single version (versions not on Stonecutter yet: :mc-1.21.10)
./gradlew :1.21.11:runClient # launch a development client
```
Building needs Java 21.