-
-
Notifications
You must be signed in to change notification settings - Fork 6
Dev Maintainers Guide
This project uses Semantic Versioning for versioning. The major version is only incremented on very large UI changes or when we break compatibility. The minor version is only incremented when new features are added. The patch version is used only for bug fixes. We use the postfix 'rc' to denote release candidates. For example "1.0.0-rc.1".
Features are developed in branches named feature/myFeature
that are based on the develop
branch. When the feature is done, it is reviewed and merged into develop
.
The release is developed as features and bug fixes towards the "develop" branch. When the release is feature complete it is branched from "develop" to "release/x.y.z". Any changes to "release/x.y.z" are merged back into develop. When the release is ready, it is merged into "master" and tagged with an annotated tag "x.y.z".
A bug-fix or 'patch' release is branched from the tag in master
which the bug fix is for and named hotfix/x.y.z
. When the hotfix is complete it is merged back into develop
to propagate the fix to future versions and also merged into master
and tagged as an annotated tag x.y.z
.
In the branch which the release is made from (release/x.y.z or hotfix/x.y.z) alter:
- The
src/lisong_mechlab/view/LSML.java
file so that the VERSION_STRING reads correctly asx.y.z
, please notice the leading space, it is intended. - The
build/LSML Setup.wxs
file as to contain a new uniqueProduct ID
and also bump theg_version
string to bex.y.z
.
Typically you'll build the JAR file from eclipse:
- Right click the LSML project and choose
Export...
- Select
Runnable JAR file
- Make sure the "Launch configuration" reads:
ProgramInit - LSML
and "Export destination" reads:LSML\build\lsml.jar
, also check that "Library handling" is set toPackage required libraries into generated JAR
. - Click finish.
We use WiX Toolset for building installers. The .wxs file accepts a parameter "g_64bit" which should be set to "yes" if building a 64bit installer or "no" otherwise. The typical way of building the installers is this:
candle -d"g_64bit"=yes *.wxs
light -ext WixUIExtension *.wixobj
mv "LSML Setup.msi" "LSML Setup-x.y.z (64bit).msi"
candle -d"g_64bit"=no *.wxs
light -ext WixUIExtension *.wixobj
mv "LSML Setup.msi" "LSML Setup-x.y.z (32bit).msi"
If you are allowed to publish a release, you will have been given access to a shared google drive folder where to put the built .msi installers from the previous step. Update the downloads page on the wiki. More specifically:
- Update the link to the current version to point to the newly built msi installers
- Write release notes by reading through all closed issues on the issue tracker for the release.
- Post the release notes on the MWO forum thread