JOML-Ext is a set of extensions based on JOML.
joml-geom
is the initial module, consisting of geometric primitives moved from the core JOML project.
Initial code was contributed by Kai 'httpdigest' Burjack and originally licensed under the MIT
Adopted by The Terasology Foundation January 2021 and re-licensed under Apache 2.0 with permission
Other contributions before the adoption by Dmitrii Ivaniusin and Sebastian Fellner, later contributions by the Terasology community
A release denotes that an artifact for the associated commit is available for consumption. Our
Jenkins CI/CD pipeline automatically builds and publishes releases for the main
branch.
The artifact is published to our Artifactory under the version specified in build.gradle
.
⚠ Note: Whether an artifact should be published as release or snapshot is determined by whether or not there is a
-SNAPSHOT
in the version. Publishing will fail in case publishing the same non-snapshot version is attempted again.
The exact build steps for this library are defined in the Jenkinsfile.
🚧 TODO: how to consume joml-ext from the Terasology Artifactory (e.g., gradle dependency snippet)
As releases are automatically triggered from main
the required steps to make a
non-snapshot release for any version is as follows:
-
Decide on release version ▪ Which branch to publish, under which version?
The version number MUST be a higher SemVer than the current version of the branch to release. The version bump SHOULD follow SemVer specifications, e.g., increase the major version for breaking changes, or do a patch release for bug fixes.
-
Make the release commit ▪ Trigger a release via Jenkins
Update the version in build.gradle and remove the
-SNAPSHOT
suffix. Commit the change with the following message:release: version {{version}}
Until we have automatic tagging or a tag-based release process it is recommended to manually create and push an annotated tag for the respective version on
master
. For a library release v1.2.3 the tag process is:git tag -a v1.2.3 -m "Release version 1.2.3" git push --tags
-
Prepare for next release ▪ Bump to next snapshot version
Finally, we have to increase the version number to be able to get pre-release
-SNAPSHOT
builds for subsequent commits. Therefore, the version number MUST be a higher SemVer than the version just released. This will typically be a minor version bump. To do this, just update the version in build.gradle and commit the change with the following message:chore: prepare next snapshot for {{version}}