diff --git a/README.md b/README.md index 73a9912e37..ca6c0e9b6b 100644 --- a/README.md +++ b/README.md @@ -23,24 +23,31 @@ PR with your changes. You can start right away by using the Gitpod online worksp [![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/MovingBlocks/TeraNUI) In Terasology, you can test easily locally until you're ready for a snapshot or release. To do so, you'll need to re-embed TeraNUI into Terasology as source which has priority over any binary version. You can get the TeraNUI library as source into your local Terasology workspace as follows: + ```sh groovyw lib get TeraNUI ``` + This will place the TeraNUI source code into `/libs/TeraNUI`. Please note, that you may need to reload/refresh your gradle workspace in Intellij IDEA. ## 🤖 Maintenance The main development of TeraNUI happens on the `master` branch, a strong main branch that always has the latest version -of the code. However, we maintain two versions of TeraNUI for [gestalt] v5 and v7, respectively. As the two code lines are nearly identical most changes to either version should be [ported back 🔗](https://docs.microsoft.com/en-us/azure/devops/repos/git/git-branching-guidance?view=azure-devops#port-changes-back-to-the-main-branch) to the other. +of the code. +With TeraNUI v3 we can support both versions of [gestalt] in a single release (v5 and v7, respectively). + +We keep _release branches_ for TeraNUI's major versions. +Note that new features will only be implemented for the latest version on `master`. +The following table shows release branches and known projects using them. | Branch | Version | gestalt | Projects | | -------------- |:-------:|:-------:| -------- | -| `master` | v2.x | v7 | [DestinationSol] | -| `release/v1.x` | v1.x | v5 | [Terasology] +| `master` | v3.x | \* | Terasology 4.4+ | +| `release/v2.x` | v2.x | v7 | [DestinationSol] | +| `release/v1.x` | v1.x | v5 | [Terasology] prior to 4.4.0 | -Porting changes from one branch to the other should be possible by _cherry picking_ the respective commits as there are -no differences in the code (yet). **Make sure to adjust the version number to the respective branch when porting a change.** +We may port back changes made to the main line of the code to release branches by _cherry picking_ them to the respective branches. ## 🚀 Release Management @@ -57,9 +64,6 @@ The exact build steps for this library are defined in the [Jenkinsfile](./Jenkin 🗄 [**Snapshots**][artifactory-nui-snapshot] ▪ [**Releases**][artifactory-nui-release] - -> 🚧 TODO: how to consume TeraNUI from the Terasology Artifactory (e.g., gradle dependency snippet) - ### Release Process As releases are automatically triggered from `master` and `release/v{{major-version}}.x` the required steps to make a @@ -96,10 +100,6 @@ non-snapshot release for any version is as follows: > `chore: prepare next snapshot for {{version}}` - -> 💚 We try to keep v1 and v2 in sync, thus this relase process should usually be executed for both branches, -> respectively. - ## License This library is licensed under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html).