Blame

e23584 Dan Alexander 2026-09-14 10:46:55
Add company wiki standards and VoxelCore docs This change establishes the shared company knowledge structure, governance, engineering, security, and incident/change standards. It also adds the VoxelHorizons product tree with a complete VoxelCore documentation set covering architecture, operations, authoring, version support, resource pack compilation, runtime reloads, and testing/release workflows.
1
# Build, CI and Release
2
3
4
> **Documentation baseline:** VoxelCore `main` at `452b569` ยท 14 September 2026.
5
> **Repository:** [https://github.com/VoxelHorizons/VoxelCore](https://github.com/VoxelHorizons/VoxelCore)
6
7
8
## Maven reactor
9
10
Build all distribution artifacts:
11
12
```bash
13
mvn -U clean package
14
```
15
16
Build one family plus required modules:
17
18
```bash
19
mvn -pl voxelcore-v1_19_4 -am clean package
20
```
21
22
## Java release targets
23
24
The root defaults to Maven `release=8`; newer modules override it:
25
26
- v1.12 and v1.14 families: Java 8 bytecode;
27
- v1.19.4 family: Java 17;
28
- v1.20.5 and v1.21.4 families: Java 21;
29
- v26.2: Java 25.
30
31
CI itself sets up JDK 25 so Maven can compile all of those modules in one reactor. The Shade plugin is `3.6.2`, which supports the Java 25 build path used by the newest module.
32
33
## Distribution packaging
34
35
Each version module shades the common/plugin implementation and relocates SnakeYAML to `org.voxelhorizons.shaded.snakeyaml` to avoid collisions with YAML libraries supplied by old server platforms.
36
37
Representative final names:
38
39
```text
40
VoxelCore-<version>-mc1.12-1.13.jar
41
VoxelCore-<version>-mc1.14-1.19.3.jar
42
VoxelCore-<version>-mc1.19.4-1.20.4.jar
43
VoxelCore-<version>-mc1.20.5-1.21.3.jar
44
VoxelCore-<version>-mc1.21.4.jar
45
VoxelCore-<version>-mc26.2.jar
46
```
47
48
## CI workflows
49
50
The repository contains:
51
52
- `.github/workflows/build.yml` โ€” builds all distributions and publishes/upload artifacts;
53
- `.github/workflows/mvp-smoke.yml` โ€” live-server compatibility matrix;
54
- `.github/scripts/mvp-smoke.sh` โ€” behaviour assertions inside each smoke environment.
55
56
The current smoke matrix has seven rows and uses Java 25/Paper for Minecraft 26.2 alongside the older Java/runtime combinations.
57
58
See [[Products/Voxel-Horizons/VoxelCore/Testing]] for what the matrix proves.