Release Process - mirah/mirah GitHub Wiki
To begin with, the build should be passing on Travis-CI
#Update Versions
src/org/mirah/tool/mirah_arguments.mirah
change @@VERSION
##Ruby library version
In lib/mirah/version.rb
, change Mirah::VERSION to the release version, eg 0.0.11.dev
to 0.0.11
.
##Maven Versions
Change the version in the pom.xml
files to the release version. Usually this means removing -SNAPSHOT from the contents of the <version>
tag.
eg
<!-- ... -->
<packaging>pom</packaging>
<version>0.0.11</version>
<name>Mirah Shared</name>
<!-- ... -->
The versions to change appear in
-
pom.xml
(the following have the version in two places) maven/mirah-complete/pom.xml
maven/mirah/pom.xml
Commit the version changes with a message like Bump version to <new-version>
.
Get the commits since the last tagged release in oneline format.
$ git log --oneline 0.0.10...master
and add them to History.txt, with a header like
=== 0.0.11 Pre-Hackathon Edition / 2012-04-09
235e887 set version to 0.0.11
...
eg
$ git tag -a 0.0.11 -m "version 0.0.11 Pre-Hackathon Edition"
$ git push --tags
Ensure you're building for Java 6.
To build the gem and zip files, just run the dist
task.
$ rake dist
If you're using rvm, create a new gemset for jruby. If not, you uninstall mirah if it's installed. Then install the gem from the .gem file and double check that the mirah binary works.
$ gem install pkg/mirah-*-java.gem
# ... install notes
$ mirah -e 'puts "it appears to be working"'
it appears to be working
java -cp dist/mirah-complete.jar org.mirah.MirahCommand run test.mirah
1
If you have rights to push the gem to rubygems.org, just run
$ gem push pkg/mirah-*-java.gem
If you use JRuby, you may need to install jruby-openssl
to get it to work.
Go to the releases page, and create a draft release for the tag you just pushed.
Upload the zip file for the release from dist
.
Follow the instructions in the README in the maven directory.
changing the same set of files, go and bump the version number to the next release, adding .dev
in lib/mirah/version.rb
and -SNAPSHOT
in the pom.xml
files.