Jump to: navigation, search

Difference between revisions of "Sisu/Milestones"

(3 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
 
* 0.0.0.M0 → Initial contribution
 
* 0.0.0.M0 → Initial contribution
 +
* 0.0.0.M1 → Minor fixes & Plexus additions
  
 
== Staging Process ==
 
== Staging Process ==
Line 8: Line 9:
 
* 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 ==
  
 
<pre>
 
<pre>
Line 26: Line 28:
  
 
mvn clean deploy -Psonatype-oss-release -Dgpg.keyname=mcculls@gmail.com -Dgpg.useagent
 
mvn clean deploy -Psonatype-oss-release -Dgpg.keyname=mcculls@gmail.com -Dgpg.useagent
 +
 +
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 checkout master
 
git checkout master
 +
 +
git branch -D staging-0.0.0.M1
  
 
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0-SNAPSHOT
 
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=0.0.0-SNAPSHOT
Line 34: Line 42:
  
 
git diff origin/master
 
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
 
git push --tags

Revision as of 18:11, 16 October 2012

Latest Milestones

  • 0.0.0.M0 → Initial contribution
  • 0.0.0.M1 → Minor fixes & Plexus additions

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

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 tag -u mcculls@gmail.com milestones/0.0.0.M1 staging-0.0.0.M1

git tag -v milestones/0.0.0.M1

git checkout master

git branch -D staging-0.0.0.M1

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 --tags