Set up independent 1.21.1 and 26.3 build targets #97

Closed
opened 2026-10-27 00:05:39 -04:00 by dnorberg · 2 comments
Owner

Part of #96. Keep the shipping 1.21.1 NeoForge/Java 21 build intact while adding a separate Minecraft 26.3 NeoForge/Java 25 target. The 26.3 target must not declare the 1.21.1-only Dynamic Dimensions, bad packets, Create/Ponder, or Immersive Portals artifacts as mandatory.

Acceptance criteria:

  • Both targets can be selected and built independently with unambiguous Minecraft-versioned artifact names.
  • CI or repeatable local commands run the correct JDK, NeoForge, dependencies, and metadata for each target.
  • The 1.21.1 build and existing GameTests are not regressed by the build split.
  • Document how a change is applied and verified across both maintained lines.
Part of #96. Keep the shipping 1.21.1 NeoForge/Java 21 build intact while adding a separate Minecraft 26.3 NeoForge/Java 25 target. The 26.3 target must not declare the 1.21.1-only Dynamic Dimensions, bad packets, Create/Ponder, or Immersive Portals artifacts as mandatory. Acceptance criteria: - Both targets can be selected and built independently with unambiguous Minecraft-versioned artifact names. - CI or repeatable local commands run the correct JDK, NeoForge, dependencies, and metadata for each target. - The 1.21.1 build and existing GameTests are not regressed by the build split. - Document how a change is applied and verified across both maintained lines.
dnorberg added this to the Dual-version support milestone 2026-10-27 00:05:39 -04:00
Author
Owner

Progress (2026-10-27): added an isolated ports/mc263 ModDevGradle 2.0.148 / NeoForge 26.3.0.99 / Java 25 toolchain probe. ./gradlew -p ports/mc263 build --offline and the root 1.21.1 ./gradlew build --offline both pass. The 26.3 JAR task is disabled and the target is non-playable; this is not a 26.3 release. Added a separate Java 25 CI probe job and documented the commands. Remaining for #97: replace the probe with the real port, establish versioned artifacts, and verify both build paths in CI.

Progress (2026-10-27): added an isolated `ports/mc263` ModDevGradle 2.0.148 / NeoForge 26.3.0.99 / Java 25 toolchain probe. `./gradlew -p ports/mc263 build --offline` and the root 1.21.1 `./gradlew build --offline` both pass. The 26.3 JAR task is disabled and the target is non-playable; this is not a 26.3 release. Added a separate Java 25 CI probe job and documented the commands. Remaining for #97: replace the probe with the real port, establish versioned artifacts, and verify both build paths in CI.
Author
Owner

Closing the independent build-target setup issue. On 2026-11-01, both ./gradlew build (1.21.1/Java 21) and ./gradlew -p ports/mc263 build (26.3/Java 25) passed. The 1.21.1 GameTest server passed all 93 required tests, resolving the earlier one-off desk-test failure. The separate 26.3 JAR is Minecraft-versioned, and the port documentation describes the two build paths and cross-version verification. Per project decision, adding the Minecraft version to the 1.21.1 JAR filename is deferred until the next 1.21.1 release rather than changing an already-published artifact in place. Broader 26.3 parity remains tracked by #98–#104.

Closing the independent build-target setup issue. On 2026-11-01, both `./gradlew build` (1.21.1/Java 21) and `./gradlew -p ports/mc263 build` (26.3/Java 25) passed. The 1.21.1 GameTest server passed all 93 required tests, resolving the earlier one-off desk-test failure. The separate 26.3 JAR is Minecraft-versioned, and the port documentation describes the two build paths and cross-version verification. Per project decision, adding the Minecraft version to the 1.21.1 JAR filename is deferred until the next 1.21.1 release rather than changing an already-published artifact in place. Broader 26.3 parity remains tracked by #98–#104.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dnorberg/rivencraft#97