Difference between revisions of "Sisu/Milestones"

From Eclipsepedia

Jump to: navigation, search
m
(10 intermediate revisions by one user not shown)
Line 1: Line 1:
 
== Latest Milestones ==
 
== Latest Milestones ==
 +
 +
* 0.0.0.M0 → Initial contribution
 +
* 0.0.0.M1 → Minor fixes & Plexus additions
  
 
== Staging Process ==
 
== Staging Process ==
Line 5: Line 8:
 
* Sisu is still incubating so all milestone versions must start with <tt>0.</tt>
 
* Sisu is still incubating so all milestone versions must start with <tt>0.</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>
 
* 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 new remote branch <tt>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>0.<i>x</i>.<i>y</i>.M<i>z</i></tt> branch and stage the artifacts using <tt>mvn clean deploy -Prelease</tt>
+
* 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
* Verify artifacts before releasing, if you need to restage make sure any changes are merged 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
* Switch back to the <tt>master</tt> 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 ==
 +
 
 +
<pre>
 +
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
 +
</pre>
  
 
[[Category:Sisu]]
 
[[Category:Sisu]]

Revision as of 19: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