Developer Guide

This is a guide for developers to follow for various parts of the repository.

Releasing

When a release is to be made, it is performed in another branch and becomes separate from trunk. This means that trunk is always in a state of perpetual development. Within these branches, there are bug fixes and releases. When a commit is ready for a release then it should just be tagged and built accordingly. It is best to avoid having releases and such in the trunk branch because it will complicate bug fixes and other things. So when a release is to be made:

Bug-fix and Otherwise Releases

If a bug-fix or otherwise has to be done on a release version, since the release is in its own branch, the work can be done in that branch. Any fixes should have already been made in trunk if applicable, then it can be cherry picked into the release branch. Then once the fixes have been made and a new version is released the release version should be incremented (that is 0.2.0 to 0.2.1 to 0.2.2). Then any of the release related stuff should be done.

Common Release Stuff

When a release is done, all of the binaries and according information must be updated. It is assumed that SQUIRRELJME is an environment variable to the root of the SquirrelJME source tree. Checkout the tag or commit which the release is to be done on. Then run the following command:

This will perform an auto-build of everything and then store the release in the $__release_version__ directory, these binaries are important. Once the binaries and sources are built, they should be uploaded to the following locations: