Skip to content

Publishing

fren_gor edited this page Aug 18, 2024 · 34 revisions

Checklist for publishing a new version of the API

Note: this page is intended to be used by maintainers.

  1. Make sure to be working on the dev branch!
  2. Update every <version> tag in pom.xml files using the command
mvn org.codehaus.mojo:versions-maven-plugin:2.16.1:set -DgenerateBackupPoms=false -DprocessAllModules=true -DnewVersion=X.X.X
  1. Update Versions#API_VERSION in NMS/Common module
  2. Update the version in the README file
  3. Open terminal in main folder and try to compile with mvn clean package -U. At the end of compilation, make sure that every module's version has been updated to the new one.
  4. Push to GitHub (commit named Update version to X.X.X)
  5. Wait for Jenkins to finish building
  6. Open pull request from dev to main (with Update to X.X.X as title and the changelog as comment)
    Template:
* Updated version to X.X.X
* Updated to Minecraft 1.X.X
* Updated CommandAPI to X.X.X
* Changelog
* Changelog by @user
  1. Merge pull request (remember to keep the changelog as comment)
  2. Wait for Jenkins to finish building
  3. On GitHub desktop:
    1. Checkout the main branch
    2. Pull
    3. Open the History tab
    4. Right-click the last commit and press Create Tag...
    5. Call the tag as the version to publish (i.e. X.X.X)
    6. Push
    7. Checkout the dev branch
    8. Merge the main branch into dev USING THE GUI
    9. Push
  4. Checkout the main branch
  5. Open terminal in main folder and deploy to maven repo using: mvn clean deploy -U
  6. Checkout the dev branch. This avoids making further changes on the main branch by mistake!

Javadoc

  1. Open site folder and go to SITE-MAIN-FOLDER/javadocs/UltimateAdvancementAPI/
  2. Create a folder called as the version to publish (i.e. X.X.X)
  3. Do cp -r ./build-server/main/* X.X.X/

Wiki

  1. Open https://github.com/frengor/UltimateAdvancementAPI/wiki
  2. Update the old version in every maven snippet
    Known pages where the update is to be done:
  3. If configuration changed, then the Configuration page should be adjusted
  1. Update the version in the maven snippet in the main page
  2. Update the remaining parts of the main page (remember the title)
  3. Update the resource
    Remember to use the file downloaded from Jenkins
    BB-Code changelog template (use [icode] for inline code):
[COLOR=#808080][B]Release X.X.X:[/B][/COLOR]
[LIST]
[*]Added support for Minecraft 1.X.X
[*]Updated CommandAPI to X.X.X
[*]Changelog here
[*]Changelog here (by @User)
[/LIST]
  1. Update the version in the maven snippet in the main page
  2. Update the remaining parts of the main page
  3. Update the resource
    Remember to use the file downloaded from Jenkins
    Select the loaders: Bukkit, Spigot, Paper
    Select all the supported versions
    Upload the mojang-mapped artifact as additional file
    Markdown template:
* Added support for Minecraft 1.X.X
* Updated CommandAPI to X.X.X
* Changelog here
* Changelog here (by [User](https://github.com/user))
  1. Update the version in the maven snippet in the main page
  2. Update the remaining parts of the main page
  3. Update the resource
    Remember to use the file downloaded from Jenkins
    Select the loader: Paper
    Select all the supported versions
    Markdown template (or just copy it from Modrinth):
* Added support for Minecraft 1.X.X
* Updated CommandAPI to X.X.X
* Changelog here
* Changelog here (by [User](https://github.com/user))

Discord

  1. Post a message in the announcements channel
    Message template:
**X.X.X Update**
Download it from:
*Modrinth:* https://modrinth.com/plugin/ultimateadvancementapi/version/X.X.X
*Spigot:* https://www.spigotmc.org/resources/95585/
*Hangar:* https://hangar.papermc.io/DevHeim/UltimateAdvancementAPI/versions/X.X.X

> **Changelog:**
> * Added support for Minecraft 1.X.X
> * Updated CommandAPI to X.X.X
> * Changelog here
> * Changelog here (by @User)
> * Sublist title:
>   * Changelog here
>   * Changelog here (by @User)
||@UltimateAdvancementAPI||