Jump to: navigation, search

Difference between revisions of "Sisu/Milestones"

Line 8: Line 8:
 
* Set milestone version using <tt>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.<i>x</i>.<i>y</i>.M<i>z</i></tt>
 
* Set milestone version using <tt>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.<i>x</i>.<i>y</i>.M<i>z</i></tt>
 
* Commit version change and create a temporary local branch <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> based on this commit
 
* Commit version change and create a temporary local branch <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> based on this commit
* Reset version to the next <tt>SNAPSHOT</tt> development version and push commit to <tt>master</tt> branch
 
 
* Switch to the <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> branch and stage the artifacts using <tt>mvn clean deploy -Psonatype-oss-release</tt>
 
* Switch to the <tt>staging-0.<i>x</i>.<i>y</i>.M<i>z</i></tt> branch and stage the artifacts using <tt>mvn clean deploy -Psonatype-oss-release</tt>
* Verify the artifacts before releasing, if you need to restage make sure any fixes are merged back to the <tt>master</tt> branch
+
* Verify the artifacts before releasing, if you need to restage make sure any last minute fixes are merged back to the <tt>master</tt> branch
 
* Tag the staging branch as <tt>milestones/0.<i>x</i>.<i>y</i>.M<i>z</i></tt> using <tt>git tag -u &lt;key-id&gt; ...</tt> to sign the tag
 
* Tag the staging branch as <tt>milestones/0.<i>x</i>.<i>y</i>.M<i>z</i></tt> using <tt>git tag -u &lt;key-id&gt; ...</tt> to sign the tag
* Switch back to the <tt>master</tt> branch, delete the temporary local branch, and continue development ;)
+
* Switch back to the <tt>master</tt> branch and delete the temporary staging branch
 +
* Reset development version using <tt>mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.<i>x</i>.<i>y</i>-SNAPSHOT</tt>
 +
* Commit version change, push to remote, and continue development ;)
  
 
== Example Process ==
 
== Example Process ==

Revision as of 18:27, 16 October 2012

Latest Milestones

  • 0.0.0.M0 → Initial contribution

Staging Process

  • Sisu is still incubating so all milestone versions must start with 0.
  • Set milestone version using mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.x.y.Mz
  • Commit version change and create a temporary local branch staging-0.x.y.Mz based on this commit
  • Switch to the staging-0.x.y.Mz branch and stage the artifacts using mvn clean deploy -Psonatype-oss-release
  • Verify the artifacts before releasing, if you need to restage make sure any last minute fixes are merged back to the master branch
  • Tag the staging branch as milestones/0.x.y.Mz using git tag -u <key-id> ... to sign the tag
  • Switch back to the master branch and delete the temporary staging branch
  • Reset development version using mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.x.y-SNAPSHOT
  • Commit version change, push to remote, and continue development ;)

Example Process

mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0.M1

git add . ; git commit -m "Milestone 0.0.0.M1"

git checkout --no-track -b staging-0.0.0.M1

git diff milestones/0.0.0.M0 --patience --color-words=[^[:space:]]

mvn clean deploy -Psonatype-oss-release -Dgpg.keyname=mcculls@gmail.com -Dgpg.useagent

git checkout master

mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0-SNAPSHOT

git add . ; git commit -m "Prepare for next round of development"

git diff origin/master

git push

git tag -u mcculls@gmail.com milestones/0.0.0.M1 staging-0.0.0.M1

git tag -v milestones/0.0.0.M1

git branch -D staging-0.0.0.M1

git push --tags