Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ jobs:
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
dev_version="DEV-$(date -u +%Y%m%d-%H%M)"
fi
mvn -B --no-transfer-progress -P'!deploy-live' org.codehaus.mojo:versions-maven-plugin:2.22.0:set \
mvn -B --no-transfer-progress org.codehaus.mojo:versions-maven-plugin:2.22.0:set \
-DnewVersion="$dev_version" -DgenerateBackupPoms=false
mvn -B --no-transfer-progress -P'!deploy-live' help:evaluate \
mvn -B --no-transfer-progress help:evaluate \
-Dexpression=project.build.finalName -Doutput="$RUNNER_TEMP/final-name"
final_name=$(cat "$RUNNER_TEMP/final-name")
[[ "$final_name" =~ ^[A-Za-z0-9][A-Za-z0-9._-]*$ ]] || exit 1
Expand All @@ -49,7 +49,7 @@ jobs:
echo "jar=target/$final_name.jar" >> "$GITHUB_OUTPUT"

- name: Run unit tests and build
run: mvn -B --no-transfer-progress -P'!deploy-live' clean verify -DskipTests=false -Dmaven.test.skip=false
run: mvn -B --no-transfer-progress clean verify -DskipTests=false -Dmaven.test.skip=false

- name: Verify runtime JAR
env:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/maven-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ jobs:
env:
TAG: ${{ github.ref_name }}
run: |
mvn -B --no-transfer-progress -P'!deploy-live' org.codehaus.mojo:versions-maven-plugin:2.22.0:set \
mvn -B --no-transfer-progress org.codehaus.mojo:versions-maven-plugin:2.22.0:set \
-DnewVersion="${TAG#v}" -DgenerateBackupPoms=false
mvn -B --no-transfer-progress -P'!deploy-live' help:evaluate \
mvn -B --no-transfer-progress help:evaluate \
-Dexpression=project.build.finalName -Doutput="$RUNNER_TEMP/final-name"
final_name=$(cat "$RUNNER_TEMP/final-name")
[[ "$final_name" =~ ^[A-Za-z0-9][A-Za-z0-9._-]*$ ]] || exit 1
echo "jar=target/$final_name.jar" >> "$GITHUB_OUTPUT"
mvn -B --no-transfer-progress -P'!deploy-live' clean verify -DskipTests=false -Dmaven.test.skip=false
mvn -B --no-transfer-progress clean verify -DskipTests=false -Dmaven.test.skip=false

- name: Stage only the release JAR
env:
Expand Down
9 changes: 4 additions & 5 deletions DEPENDENCIES.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,27 +46,26 @@ Preserve this file with build artifacts and release metadata.

To select newer dependency versions locally, run the installer with
`--mode latest`, then review and commit the resulting POM changes. CI continues
to use the committed versions. Active providers, including Cooking and
InteractibleFurniture, use stable production releases.
to use the committed versions. Providers use stable production releases.

`--maven-repo /path/to/cache` selects an isolated Maven cache. Pass the same path
to builds with `-Dmaven.repo.local=/path/to/cache`.

## TLibs source builds

TLibs 2.0.0 uses Maven coordinates `me.plugins:tlibs:2.0.0` and Java API package
TLibs uses Maven coordinates `me.plugins:tlibs` and Java API package
`net.tfminecraft.tlibs`. Prepare its declared providers, then build and install:

```sh
python3 tools/install-plugins.py --pom pom.xml --mode pinned
mvn clean install
```

The runtime artifact is `target/tlibs-2.0.0.jar`. Its plugin descriptor receives
The runtime artifact is `target/tlibs-<version>.jar`. Its plugin descriptor receives
the Maven version. Build and deploy consumers with matching provider versions.
These commands build artifacts; they do not modify a running Minecraft server.

Release JAR names use a lowercase alphanumeric plugin name followed by the version.
The catalog prefers the canonical filename and accepts only explicitly listed legacy
filenames during migration. Maven coordinates and Bukkit plugin identifiers remain
filenames, for releases published before a rename. Maven coordinates and Bukkit plugin identifiers remain
stable; a filename change does not rename a server data directory.
7 changes: 4 additions & 3 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
Build from `main` with Java 21 and the dependencies declared in `pom.xml`.
See [dependency setup](DEPENDENCIES.md) for source builds and consumer setup.

The release version comes from the POM. A matching numeric `v*` tag runs Maven
verification and packages the runtime JAR, checksums and build metadata into a
draft release. Review those artifacts before publishing.
The release version comes from the `v*` tag. The release workflow sets the
Maven version from the tag without its leading `v`, runs Maven verification and
packages the runtime JAR, checksums and build metadata into a draft release.
Review those artifacts before publishing.

Follow the [shared build and release guide](https://github.com/TF-Minecraft/Docs/blob/main/PIPELINES.md)
for tagging, dependency access, provenance and validation. Release-specific logs
Expand Down