Official Release and Server Update
From Arianne
Note: The content on this page is only of historic interest.
Contents |
Pre-Release
- In a period of about 2 days to a week before a planned release, risky changes should be postponed until after the release. This "feature freeze" phase should be announced on the #arianne channel. Some testing should be done to ensure the changes since the last release work properly and don't introduce unwanted side effects.
- Shortly before the release create a branch called VERSION_00_RELEASE_xx.
Building
Building the normal distribution
- Update the version and version.old properties in the file ant.properties. The version.old is the version to base the update on. It needs to be a full release, not just an "bugfix" update.
This is mostly covered in other articles which are linked on the Stendhal page. Please make sure that you do a clean build deleting the build directory.
cd stendhal rm -rf build ant dist
Building the client update
- Download and unzip the old client into the folder build-archive
- make sure that the version numbers are correct in ant.properties
- ant -f release.xml
This will create a stendhal-diff-x.xx-y.xx.jar and stendhal-data-diff-x.xx-y.xx.jar in your build/lib folder. If you want to include other files like marauroa.jar, you will need to add them to the release.xml
- Create a new file called update.properties.XXX based on the old update.properties downloaded from the net (see update.properties)
Preparing Update
Doing a release is quite a bit of work that has to be done non automated. Therefore it may be a good idea, to prepare the release before actually doing it.
Preparing File Release
Preparing Client Update
- unzip the soundless distribution to http://arianne.sf.net/stendhal/updates (for new webstart players)
- upload the build/lib/*-diff-* file to http://arianne.sf.net/stendhal/updates
- create a update.properties.XXX based on the old update.properties
Webstart
- On a normal release no update of the webstarter is needed because it will fetch the right files automatically based on update.properties.
Preparing Update of our Server
- Upload the stendhal-server-x.xx.zip
Doing the release
File Release
Client Updater
- rename update.properties.XXX to update.properties in http://arianne.sf.net/stendhal/updates
- adjust version number in http://arianne.sf.net/stendhal.version
Our Server
- notify players
- unzip stendhal-server-x.xx.zip to $HOME/marauroa/games/stendhal
- delete the old files
- delete the symlink stendhal-server.jar
- create new symlink stendhal-server.jar -> stendhal-server-x.xx.jar
- killall java
Announcements
Emergency Update
Client
- Checkout the branch
- do your changes there and commit them
- increase the 3rd component of the version number by one
- adjust version and version.old in build.properties
- do the normal build
- ant -f release.xml
- upload the build/lib/*-diff-* file to http://arianne.sf.net/stendhal/updates
- create a update.properties.XXX based on the old update.properties
- test it and rename update.properties.XXX to update.properties afterwards
Server
- Checkout the branch
- do your changes there and commit them
- do the normal build
- upload stendhal-server-x.xx.zip and unzip it to $HOME/marauroa/games/stendhal
- checkout the branch
- in case the version number was changed
- delete the old files
- delete the symlink stendhal-server.jar
- create new symlink stendhal-server.jar -> stendhal-server-x.xx.jar
- killall java