You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by st...@apache.org on 2014/09/25 03:18:28 UTC

[01/13] git commit: cb-7224: updated release doc

Repository: cordova-coho
Updated Branches:
  refs/heads/master 08eca9ff9 -> c005147f9


cb-7224: updated release doc


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/b7615cad
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/b7615cad
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/b7615cad

Branch: refs/heads/master
Commit: b7615cadb9c7b80d3a91e1fccbc190a26682612d
Parents: 1b0b7a0
Author: Steven Gill <st...@gmail.com>
Authored: Wed Aug 20 18:03:29 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:03 2014 -0700

----------------------------------------------------------------------
 docs/platforms-release-process.md | 48 ++++++++++++++--------------------
 1 file changed, 20 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b7615cad/docs/platforms-release-process.md
----------------------------------------------------------------------
diff --git a/docs/platforms-release-process.md b/docs/platforms-release-process.md
index 05fbef9..60fd181 100644
--- a/docs/platforms-release-process.md
+++ b/docs/platforms-release-process.md
@@ -51,7 +51,7 @@ TODO: Create a new release bug script for independant platform releases.
 
 TODO: mobile-spec should have it's own release process instead of being a part of platform release process
 
-TODO: app-hello-world should be tagged with tools
+TODO: app-hello-world should be tagged with tools instead of platform release
 
 This should be done *before* creating branches on other repos.
 
@@ -129,16 +129,16 @@ Ensure you have the svn repos checked out:
     
 Create archives from your tags:
 
-    coho foreach -r cadence "git checkout 3.4.x"
-    coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/rc
+    coho foreach -r android "git checkout 3.4.x"
+    coho create-archive -r android --dest cordova-dist-dev/$JIRA/rc
 
 Sanity Check:
 
     coho verify-archive cordova-dist-dev/$JIRA/rc/*.zip
 
-Upload:
+Upload: (replace `android` with your platform)
 
-    (cd cordova-dist-dev && svn add $JIRA && svn commit -m "$JIRA Uploading release candidates for cadence release")
+    (cd cordova-dist-dev && svn add $JIRA && svn commit -m "$JIRA Uploading release candidates for android release")
 
 Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
 
@@ -235,6 +235,7 @@ Use the same coho commands as for the RCs (it will update JS & VERSION):
     coho tag-release --version 3.5.0 -r js -r app-hello-world -r mobile-spec
 
 ## Branching & Tagging cordova-docs
+TODO: Update to new docs release process. Not apart of platofrms release process anymore
 
  1. Cherry pick relevant commits from master to 3.5.x branch
  2. Generate the docs for the release on the 3.5.x branch.
@@ -247,34 +248,34 @@ See [Generating a Version Release](https://git-wip-us.apache.org/repos/asf?p=cor
 ## Publish final archives to dist/dev
 Create archives from your tags:
 
-    coho foreach -r cadence "git checkout 3.4.x"
-    coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/final
+    coho foreach -r android "git checkout 3.4.x"
+    coho create-archive -r android --dest cordova-dist-dev/$JIRA/final
 
 Sanity Check:
 
     coho verify-archive cordova-dist-dev/$JIRA/final/*.zip
 
-Upload:
+Upload: (replace `android` with your platform) 
 
-    (cd cordova-dist-dev && svn add $JIRA/final && svn commit -m "$JIRA Uploading archives for cadence release vote")
+    (cd cordova-dist-dev && svn add $JIRA/final && svn commit -m "$JIRA Uploading archives for android release vote")
 
 Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
 
 ## Prepare Blog Post
  * Combine highlights from RELEASENOTES.md into a Release Announcement blog post
    * Instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md)
- * Get blog post proofread via [piratepad](http://piratepad.net/front-page/).
+ * Get blog post proofread via [Github](http://github.com/cordova/apache-blog-posts).
 
 ## Start VOTE Thread
-Send an email to dev ML with:
+Send an email to dev ML with: (replace `android` with your platform)
 
 __Subject:__
 
-    [Vote] 3.5.0 Cadence Release
+    [Vote] 3.5.0 Android Release
 
 __Body:__
 
-    Please review and vote on this 3.5.0 Cadence Release.
+    Please review and vote on this 3.5.0 Android Release.
 
     Release issue: https://issues.apache.org/jira/browse/CB-XXXX
 
@@ -282,7 +283,7 @@ __Body:__
     https://dist.apache.org/repos/dist/dev/cordova/CB-XXXX/final
 
     The packages were published from their corresponding git tags:
-    PASTE OUTPUT OF: coho print-tags -r cadence
+    PASTE OUTPUT OF: coho print-tags -r android
 
     Upon a successful vote I will upload the archives to dist/, publish them to NPM, and post the corresponding blog post.
 
@@ -322,28 +323,18 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
 
 ## Otherwise: Publish to dist/
 
+(replace `android` with your platform)
+
     cd cordova-dist
     svn up
     svn rm tools/cordova-cli-*
     svn rm tools/cordova-js*
-    svn rm platforms/*
-    cp ../cordova-dist-dev/$JIRA/final/cordova-js* tools/
+    svn rm platforms/cordova-android*
     cp ../cordova-dist-dev/$JIRA/final/cordova-cli* tools/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-mobile-spec* tools/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-app-hello* tools/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-docs* docs/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-ios* platforms/
     cp ../cordova-dist-dev/$JIRA/final/cordova-android* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-blackberry* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-windows* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-wp8* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-firefoxos* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-ubuntu* platforms/
-    cp ../cordova-dist-dev/$JIRA/final/cordova-amazon-fireos* platforms/
     svn add tools/*
     svn add platforms/*
-    svn add docs/*
-    svn commit -m "$JIRA Published cadence release to dist"
+    svn commit -m "$JIRA Published android release to dist"
 
     cd ../cordova-dist-dev
     svn up
@@ -362,6 +353,7 @@ Find your release here: https://dist.apache.org/repos/dist/release/cordova/
  * And the instructions at https://svn.apache.org/repos/asf/cordova/site/README.md
 
 ### Update the Docs
+TODO: Change this to new docs release process
  1. Upload the new docs to http://cordova.apache.org/docs
    * Website README.md explains [How to update the docs](https://svn.apache.org/repos/asf/cordova/site/README.md)
    * Commit should look like [this one](http://svn.apache.org/viewvc?view=revision&revision=r1478171)


[07/13] git commit: Added cordova.js to tools release process

Posted by st...@apache.org.
Added cordova.js to tools release process

Cordova-js need to be released when updated because it is a dependency to cordova-lib when using --browserify.


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/81287998
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/81287998
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/81287998

Branch: refs/heads/master
Commit: 812879983bf1d838eed4213122c7df22816f8d4b
Parents: f7ec9a8
Author: Steve Gill <st...@gmail.com>
Authored: Wed Aug 27 16:43:13 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:01:40 2014 -0700

----------------------------------------------------------------------
 docs/tools-release-process.md | 49 +++++++++++++++++++++++++-------------
 1 file changed, 33 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/81287998/docs/tools-release-process.md
----------------------------------------------------------------------
diff --git a/docs/tools-release-process.md b/docs/tools-release-process.md
index 02d28c9..bd9aa8b 100644
--- a/docs/tools-release-process.md
+++ b/docs/tools-release-process.md
@@ -19,7 +19,7 @@
 #
 -->
 
-# Release Process for ''Plugman and CLI and Cordova-lib''
+# Release Process for ''Plugman, CLI, Cordova-lib, and Cordova-js''
 
 Before cutting any releases, read the Apache's [Releases Policy](http://www.apache.org/dev/release)
 
@@ -70,6 +70,7 @@ Ensure license headers are present everywhere. For reference, see this [backgrou
     coho audit-license-headers -r cli | less
     coho audit-license-headers -r plugman | less
     coho audit-license-headers -r lib | less
+    coho audit-license-headers -r js | less
 
 Ensure that mobilespec creates okay via CLI:
 
@@ -88,8 +89,10 @@ Ensure that mobilespec creates okay via plugman:
 Ensure unit tests pass:
 
     (cd cordova-lib/cordova-lib; npm test)
+
     # plugman tests are included in cordova-lib above
     (cd cordova-cli; npm test)
+    (cd cordova-js; grunt test --platformVersion=3.6.0)
 
 Add a comment to the JIRA issue stating what you tested, and what the results were.
 
@@ -97,7 +100,7 @@ Add a comment to the JIRA issue stating what you tested, and what the results we
 
 Increase the version within package.json using SemVer, and remove the ''-dev'' suffix
 
-    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; if [[ $v = *-dev ]]; then v2="${v%-dev}"; echo "$l: Setting version to $v2"; sed -i '' -E 's/version":.*/version": "'$v2'",/' package.json; fi) ; done
+    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli cordova-js; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; if [[ $v = *-dev ]]; then v2="${v%-dev}"; echo "$l: Setting version to $v2"; sed -i '' -E 's/version":.*/version": "'$v2'",/' package.json; fi) ; done
 
 If the changes merit it, manually bump the major / minor version instead of the micro. List the changes via:
 
@@ -106,14 +109,17 @@ If the changes merit it, manually bump the major / minor version instead of the
     ( cd cordova-plugman; git log --pretty=format:'* %s' --topo-order --no-merges $(git describe --tags --abbrev=0)..master | grep -v "Incremented plugin version" )
 
     ( cd cordova-cli; git log --pretty=format:'* %s' --topo-order --no-merges $(git describe --tags --abbrev=0)..master | grep -v "Incremented plugin version" )
+    
+    ( cd cordova-js; git log --pretty=format:'* %s' --topo-order --no-merges $(git describe --tags --abbrev=0)..master | grep -v "Incremented plugin version" )
 
 Update each repo's RELEASENOTES.md file with changes
 
     # Add new heading to release notes with version and date
     DATE=$(date "+%h %d, %Y")
-    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; echo -e "\n### $v ($DATE)" >> RELEASENOTES.md; git log --pretty=format:'* %s' --topo-order --no-merges $(git describe --tags --abbrev=0)..master | grep -v "Incremented plugin version" >> RELEASENOTES.md); done
-    # Then curate: (note that the newest notes are at the bottom of the file and should be manually moved to the top)
-    vim cordova-lib/cordova-lib/RELEASENOTES.md cordova-cli/RELEASENOTES.md cordova-plugman/RELEASENOTES.md
+
+    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli cordova-js; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; echo -e "\n### $v ($DATE)" >> RELEASENOTES.md; git log --pretty=format:'* %s' --topo-order --no-merges $(git describe --tags --abbrev=0)..master | grep -v "Incremented plugin version" >> RELEASENOTES.md); done
+    # Then curate:
+    vim cordova-lib/cordova-lib/RELEASENOTES.md cordova-cli/RELEASENOTES.md cordova-plugman/RELEASENOTES.md cordova-js/RELEASENOTES.md
 
 Update the version of cordova-js that lib depends on. (TODO: why does this dependency exist?)
 
@@ -122,6 +128,11 @@ Update the version of cordova-lib that cli and plugman depend on:
     v="$(grep '"version"' cordova-lib/cordova-lib/package.json | cut -d'"' -f4)"
     sed -i '' -E 's/"cordova-lib":.*/"cordova-lib": "'$v'",/' cordova-cli/package.json
     sed -i '' -E 's/"cordova.lib":.*/"cordova-lib": "'$v'",/' cordova-plugman/package.json
+    
+Update the version of cordova-js that cordova-lib depends on:
+    
+    v="$(grep '"version"' cordova-js/package.json | cut -d'"' -f4)"
+    sed -i '' -E 's/"cordova-js":.*/"cordova-js"*: "'$v'",/' cordova-lib/cordova-lib/package.json
 
 Before creating the shrinkwrap on the cli, do the following so that the shrinkwrap will have the correct content.
 
@@ -163,28 +174,32 @@ Create npm-shrinkwrap.json in the cli. This is important especially when the cli
 
     (cd cordova-cli; npm shrinkwrap;)
 
-Commit these three changes together into one commit
+Commit these four changes together into one commit
 
     for l in cordova-plugman cordova-cli; do ( cd $l; git add npm-shrinkwrap.json; v="$(grep '"version"' package.json | cut -d'"' -f4)"; git commit -am "$JIRA Updated version and RELEASENOTES.md for release $v" ); done
 
 ## Tag
 
     # Review commits:
-    for l in cordova-plugman cordova-cli; do ( cd $l; git log -p origin/master..master ); done
+    for l in cordova-plugman cordova-cli cordova-lib cordova-js; do ( cd $l; git log -p origin/master..master ); done
     # Tag
-    for l in cordova-plugman cordova-cli; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; git tag $v ); done
+    for l in cordova-plugman cordova-cli cordova-lib/cordova-lib cordova-js; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; git tag $v ); done
 
 ## Re-introduce -dev suffix to versions and remove shrinkwrap
 
-    (cd cordova-cli; git rm npm-shrinkwrap.json)
+    (cd cordova-lib/cordova-lib; git rm npm-shrinkwrap.json;)
+    (cd cordova-cli; git rm npm-shrinkwrap.json;)
+    (cd cordova-plugman; git rm npm-shrinkwrap.json;)
+    (cd cordova-js; git rm npm-shrinkwrap.json;)
 
-    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; if [[ $v != *-dev ]]; then v2="$(echo $v|awk -F"." '{$NF+=1}{print $0RT}' OFS="." ORS="")-dev"; echo "$l: Setting version to $v2"; sed -i '' -E 's/version":.*/version": "'$v2'",/' package.json; fi); done
-    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli; do (cd $l; git commit -am "$JIRA Incremented package version to -dev"; git show ); done
+    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli cordova-js; do ( cd $l; v="$(grep '"version"' package.json | cut -d'"' -f4)"; if [[ $v != *-dev ]]; then v2="$(echo $v|awk -F"." '{$NF+=1}{print $0RT}' OFS="." ORS="")-dev"; echo "$l: Setting version to $v2"; sed -i '' -E 's/version":.*/version": "'$v2'",/' package.json; fi); done
+    for l in cordova-lib/cordova-lib cordova-plugman cordova-cli cordova-js; do (cd $l; git commit -am "$JIRA Incremented package version to -dev"; git show ); done
 
 ## Push
 
     # Push
-    for l in cordova-plugman cordova-cli; do ( cd $l; git push && git push --tags ); done
+
+    for l in cordova-lib cordova-plugman cordova-cli cordova-js; do ( cd $l; git push && git push --tags ); done
 
 If the push fails due to not being fully up-to-date, either:
 1. Pull in new changes via `git pull --rebase`, and include them in the release notes / re-tag
@@ -197,8 +212,7 @@ Ensure you have the svn repos checked out:
 
 Create archives from your tags: (the archives for lib were already created above)
 
-    coho create-archive -r plugman --dest cordova-dist-dev/$JIRA --tag 0.22.10
-    coho create-archive -r cli --dest cordova-dist-dev/$JIRA --tag 3.6.3-0.2.13
+    coho create-archive -r plugman -r cli -r lib -r js --dest cordova-dist-dev/$JIRA
 
 Sanity Check:
 
@@ -233,6 +247,7 @@ __Body:__
     https://dist.apache.org/repos/dist/dev/cordova/CB-XXXX/
 
     The packages were published from their corresponding git tags:
+
     PASTE OUTPUT OF: coho print-tags -r js -r lib -r plugman -r cli
 
     Upon a successful vote I will upload the archives to dist/, publish them to NPM, and post the corresponding blog post.
@@ -291,8 +306,10 @@ Find your release here: https://dist.apache.org/repos/dist/release/cordova/tools
 
 ## Publish to NPM
 
-    npm publish --tag rc cordova-dist/tools/cordova-cli-*.tgz
-    npm publish --tag rc cordova-dist/tools/cordova-plugman-*.tgz
+    npm publish --tag cordova-dist/tools/cordova-lib-*.tgz
+    npm publish --tag cordova-dist/tools/cordova-cli-*.tgz
+    npm publish --tag cordova-dist/tools/cordova-plugman-*.tgz
+    npm publish --tag cordova-dist/tools/cordova-js-*.tgz
 
 If npm publish fails for you, run `npm owner ls PACKAGENAME` to see if you are an owner. If you aren't, ask one of the owners to add you.
 


[02/13] git commit: cb-7224: added suuport for platforms release process

Posted by st...@apache.org.
cb-7224: added suuport for platforms release process


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/1b0b7a0b
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/1b0b7a0b
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/1b0b7a0b

Branch: refs/heads/master
Commit: 1b0b7a0b3952d266a800ed0ae719cc3dd95ee3d3
Parents: 08eca9f
Author: Steven Gill <st...@gmail.com>
Authored: Wed Aug 20 17:41:42 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:03 2014 -0700

----------------------------------------------------------------------
 docs/platforms-release-process.md | 411 +++++++++++++++++++++++++++++++++
 src/main.js                       |   4 +-
 src/platform-release.js           | 302 ++++++++++++++++++++++++
 3 files changed, 715 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/1b0b7a0b/docs/platforms-release-process.md
----------------------------------------------------------------------
diff --git a/docs/platforms-release-process.md b/docs/platforms-release-process.md
new file mode 100644
index 0000000..05fbef9
--- /dev/null
+++ b/docs/platforms-release-process.md
@@ -0,0 +1,411 @@
+<!--
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+-->
+
+# Release Process for ''Platforms Releases''
+
+Before cutting any releases, read the Apache's [Releases Policy](http://www.apache.org/dev/release)
+
+This page describes the technical steps for releasing a `Platforms Release` (see: [versioning-and-release-strategy.md](versioning-and-release-strategy.md)).
+
+TODO: We may want to be using [signed tags](http://git-scm.com/book/en/Git-Basics-Tagging), or at least annotated tags.
+
+## Getting Buy-in & Assigning a Release Manager
+
+ 1. Email the dev mailing-list and see if anyone has reason to postpone the release.
+   * If so, agree upon a branching date / time.
+ 1. Ask for a volunteer to be Release Manager for the release (or volunteer yourself)
+
+## Creating JIRA issues
+
+TODO: Create a new release bug script for independant platform releases.
+
+* Create the release bug for the Release Candidate:
+
+      `coho create-release-bug --version=3.0.0 --username=JiraUser --password=JiraPassword`
+    
+* Comments should be added to this bug after each top-level step below is taken
+
+* Set a variable for use later on:
+
+    `JIRA="CB-????"` # Set this to the release bug.
+
+## Branch & Tag for: cordova-mobile-spec and cordova-app-hello-world 
+
+TODO: mobile-spec should have it's own release process instead of being a part of platform release process
+
+TODO: app-hello-world should be tagged with tools
+
+This should be done *before* creating branches on other repos.
+
+This step involves:
+ * Updating version numbers
+ * Creating release branches
+ * Creating git tags
+
+Coho automates these steps:
+
+    coho prepare-release-branch --version 3.5.0 -r app-hello-world -r mobile-spec
+    coho repo-status -r app-hello-world -r mobile-spec -b master -b 3.5.x
+    # If changes look right:
+    coho repo-push -r app-hello-world -r mobile-spec -b master -b 3.5.x
+    coho tag-release --version 3.5.0 -r app-hello-world -r mobile-spec
+
+If the JS ever needs to be re-tagged, rerun the `tag-release` command, and then re-run the `prepare-release-branch` command for the platform repos.
+
+## Branch & Tag for Platform Repositories
+
+### Before creating the release branch:
+
+ 1. Run [Apache RAT](http://creadur.apache.org/rat/) to ensure copyright headers are present
+   * `coho audit-license-headers -r android | less`
+ 2. Update the copy of app-hello-world (if there were any changes to it)
+   * This usually lives within bin/templates somewhere
+   * TODO: More details needed here
+ 3. For iOS only:
+   * Update [CordovaLib/Classes/CDVAvailability.h](https://github.com/apache/cordova-ios/blob/master/CordovaLib/Classes/CDVAvailability.h)
+
+by adding a new macro for the new version, e.g.
+
+    #define __CORDOVA_2_1_0  20100
+
+
+and update `CORDOVA_VERSION_MIN_REQUIRED` with the latest version macro, e.g.
+
+    #ifndef CORDOVA_VERSION_MIN_REQUIRED
+        #define CORDOVA_VERSION_MIN_REQUIRED __CORDOVA_2_1_0
+    #endif
+
+### Creating the release branch
+
+This step involves:
+ * Updating cordova.js snapshots
+ * Updating version numbers
+ * Creating release branches
+ * Creating git tags
+ * Updating version in package.json files
+
+Coho automates these steps (replace android with your platform):
+
+    coho prepare-release-branch --version 3.5.0 -r android
+    coho repo-status -r android -b master -b 3.5.x
+    # If changes look right:
+    coho repo-push -r android -b master -b 3.5.x
+    coho tag-release --version 3.5.0 -r android
+
+## Tagging RC1 of cordova-cli
+
+cordova-cli doesn't use a release branch. Follow the instructions at [tools-release-process.md](tools-release-process.md), but in addition:
+
+Update the tool to point to the new repo versions (within `cordova-cli/platforms.js`)
+
+Instead of the normal `npm publish` flow:
+
+    npm publish --tag rc
+
+** WATCH OUT! You may have to run `npm tag cordova@x.x.x latest` due to a bug in npm: https://github.com/npm/npm/issues/4837
+
+## Publish RC to dist/dev
+Ensure you have the svn repos checked out:
+
+    coho repo-clone -r dist -r dist/dev
+    
+Create archives from your tags:
+
+    coho foreach -r cadence "git checkout 3.4.x"
+    coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/rc
+
+Sanity Check:
+
+    coho verify-archive cordova-dist-dev/$JIRA/rc/*.zip
+
+Upload:
+
+    (cd cordova-dist-dev && svn add $JIRA && svn commit -m "$JIRA Uploading release candidates for cadence release")
+
+Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
+
+## Testing & Documentation
+
+Once all the repos are branched & tagged, we focus on testing & fixing all of the regressions we find.
+
+When a regression is found:
+
+ * Create a JIRA issue for it, and mark it as a blocker.
+
+To submit a fix:
+
+    git checkout master
+    git commit -am 'Your commit message'
+    git push origin master
+    git log     # note the first five or six digits of the commit hash
+    git checkout 2.7.x
+    git cherry-pick -x commit_hash
+    git push origin 2.7.x
+
+### What to Test
+
+ * Run [mobile-spec](http://git-wip-us.apache.org/repos/asf/cordova-mobile-spec.git)
+   * Don't forget to checkout mobile-spec at the appropriate tag instead of using master.
+   * Don't forget to set up your white-list
+   * Don't forget to run through the manual tests in addition to the automatic tests
+   * Test loading the app over HTTP (via "cordova serve" and setting the config.xml start page)
+ * Run each platform's ./bin/create script
+   * Ensure generated project builds & runs both through an IDE and through the cordova/* scripts
+ * Test Project Upgrades (old-style):
+   1. Create a project using the previous version of cordova
+     * `coho foreach "git checkout 2.9.0"`
+     * `coho foreach -r active-platform "./bin/create foo org.apache.foo foo"`
+   2. Upgrade the project via the bin/update_project script:
+     * `coho foreach "git checkout 3.0.x"`
+     * `coho foreach -r active-platform "cd foo && ../bin/update_project"`
+   3. Test the result:
+     * Project should run
+     * cordova/version should report the new version
+ * Test Project Upgrades (new-style):
+   1. Create a project using the previous version of cordova
+     * `coho foreach "git checkout 2.9.0"`
+     * `./cordova-mobile-spec/createmobilespec.sh`
+   2. Upgrade the project via the update command:
+     * `../cordova-cli/bin/cordova platform update PLATFORM`
+   3. Test the result:
+     * Project should run
+     * cordova/version should report the new version
+     * Mobile Spec should still run.
+
+#### Android Extras
+
+ * Unit tests in: [test](https://github.com/apache/incubator-cordova-android/tree/master/test) directory
+
+#### iOS Extras
+
+ * Unit tests in: [CordovaLibTests/CordovaTests.xcodeproj](https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;a=tree;f=CordovaLibTests;h=88ba8e3c286159151b378efb1b0c39ef26dac550;hb=HEAD)
+ * Test the Makefile via `make`
+ * Run `bin/diagnose_project` on a newly created project and ensure it reports no errors.
+
+### Documentation To Update
+
+For each repository:
+ 1. Update RELEASENOTES.md (if the file is missing, use the iOS one as a reference: [RELEASENOTES.md](https://github.com/apache/cordova-ios/blob/master/RELEASENOTES.md))
+
+Grab changes from the previous release until now.
+
+    # Changes:
+    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x
+    # Commit count:
+    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x | wc -l
+    # Author Count:
+    git log --pretty=format:'%an' --topo-order --no-merges origin/3.2.x..origin/3.3.x | sort | uniq | wc -l
+
+Edit the commit descriptions - don't add the commits verbatim, usually they are meaningless to the user. Only show the ones relevant for the user (fixes, new features)
+
+ 2. Update README.md (if necessary)
+ 3. Ensure the [Upgrade Guide](http://docs.phonegap.com/en/edge/guide_upgrading_index.md.html) for your platform is up-to-date
+ 4. Ensure the other guides listed in the sidebar are up-to-date for your platform
+
+## Final Tagging (non-RC)
+
+This is done for all repos once testing is complete, and documentation is up-to-date. If nothing has changed since the earlier tag, no need to run the steps below. If changes have occured, make sure to cherry-pick them into the release branch and rerun commands below.
+
+Note: If you get an error due to the tag already existing on the server, view the moving tags section at the bottom of this readme on how to delete a remote git tag.
+
+Use the same coho commands as for the RCs (it will update JS & VERSION):
+
+    coho prepare-release-branch --version 3.5.0 -r js -r app-hello-world -r mobile-spec
+    coho repo-status -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
+    # If changes look right:
+    coho repo-push -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
+    coho tag-release --version 3.5.0 -r js -r app-hello-world -r mobile-spec
+
+## Branching & Tagging cordova-docs
+
+ 1. Cherry pick relevant commits from master to 3.5.x branch
+ 2. Generate the docs for the release on the 3.5.x branch.
+ 3. Commit & tag on the 3.5.x branch.
+ 4. Cherry pick commit into master.
+
+
+See [Generating a Version Release](https://git-wip-us.apache.org/repos/asf?p=cordova-docs.git;a=blob;f=README.md#l127) for more details.
+
+## Publish final archives to dist/dev
+Create archives from your tags:
+
+    coho foreach -r cadence "git checkout 3.4.x"
+    coho create-archive -r cadence --dest cordova-dist-dev/$JIRA/final
+
+Sanity Check:
+
+    coho verify-archive cordova-dist-dev/$JIRA/final/*.zip
+
+Upload:
+
+    (cd cordova-dist-dev && svn add $JIRA/final && svn commit -m "$JIRA Uploading archives for cadence release vote")
+
+Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
+
+## Prepare Blog Post
+ * Combine highlights from RELEASENOTES.md into a Release Announcement blog post
+   * Instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md)
+ * Get blog post proofread via [piratepad](http://piratepad.net/front-page/).
+
+## Start VOTE Thread
+Send an email to dev ML with:
+
+__Subject:__
+
+    [Vote] 3.5.0 Cadence Release
+
+__Body:__
+
+    Please review and vote on this 3.5.0 Cadence Release.
+
+    Release issue: https://issues.apache.org/jira/browse/CB-XXXX
+
+    Repos ready to be released have been published to dist/dev:
+    https://dist.apache.org/repos/dist/dev/cordova/CB-XXXX/final
+
+    The packages were published from their corresponding git tags:
+    PASTE OUTPUT OF: coho print-tags -r cadence
+
+    Upon a successful vote I will upload the archives to dist/, publish them to NPM, and post the corresponding blog post.
+
+    Voting guidelines: https://github.com/apache/cordova-coho/blob/master/docs/release-voting.md
+
+    Voting will go on for a minimum of 48 hours.
+
+    I vote +1:
+    * Ran coho audit-license-headers over the relevant repos
+    * Used `license-checker` to ensure all dependencies have Apache-compatible licenses
+    * Ensured continuous build was green when repos were tagged
+
+
+## Email the result of the vote
+Respond to the vote thread with:
+
+    The vote has now closed. The results are:
+
+    Positive Binding Votes: (# of PMC members that +1'ed)
+
+    .. names of all +1 PMC members ..
+
+    Negative Binding Votes: (# of PMC members that -1'ed)
+
+    .. names of all -1 PMC members ..
+
+    The vote has passed.
+
+_Note: list of PMC members: http://people.apache.org/committers-by-project.html#cordova-pmc_
+
+## If the Vote does *not* Pass
+* Revert adding of `-dev`
+* Address the concerns
+* Re-tag release using `git tag -f`
+* Add back `-dev`
+* Start a new vote
+
+## Otherwise: Publish to dist/
+
+    cd cordova-dist
+    svn up
+    svn rm tools/cordova-cli-*
+    svn rm tools/cordova-js*
+    svn rm platforms/*
+    cp ../cordova-dist-dev/$JIRA/final/cordova-js* tools/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-cli* tools/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-mobile-spec* tools/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-app-hello* tools/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-docs* docs/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-ios* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-android* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-blackberry* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-windows* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-wp8* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-firefoxos* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-ubuntu* platforms/
+    cp ../cordova-dist-dev/$JIRA/final/cordova-amazon-fireos* platforms/
+    svn add tools/*
+    svn add platforms/*
+    svn add docs/*
+    svn commit -m "$JIRA Published cadence release to dist"
+
+    cd ../cordova-dist-dev
+    svn up
+    svn rm $JIRA
+    svn commit -m "$JIRA Removing release candidates from dist/dev"
+    cd ..
+
+
+Find your release here: https://dist.apache.org/repos/dist/release/cordova/
+
+## Final Details
+
+### Update cordova.apache.org
+
+ * Refer to [this commit](http://svn.apache.org/viewvc?view=revision&revision=r1478146) (also includes updating the DOAP file)
+ * And the instructions at https://svn.apache.org/repos/asf/cordova/site/README.md
+
+### Update the Docs
+ 1. Upload the new docs to http://cordova.apache.org/docs
+   * Website README.md explains [How to update the docs](https://svn.apache.org/repos/asf/cordova/site/README.md)
+   * Commit should look like [this one](http://svn.apache.org/viewvc?view=revision&revision=r1478171)
+ 1. Ask Michael Brooks to update the docs.cordova.io redirect.
+   * Check out the branch `cordova-labs:redirect-docs-cordova-io`
+   * Repository README.md explains [How to update the HTTP redirect](https://github.com/apache/cordova-labs/tree/redirect-docs-cordova-io#usage)
+   * Nodejitsu is limited to one deployer, so Michael Brooks is currently the point of contact.
+
+### Push platforms and tools to npm
+Refer to [tools-release-process.md](tools-release-process.md)
+
+### Tell JIRA it's Released
+
+ * Visit https://issues.apache.org/jira/plugins/servlet/project-config/CB/versions
+ * Fill in the Release Date field and mark it as released.
+
+### Announce It!
+ 1. Announce the release to the world!
+   * Create a blog post for it (instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md))
+   * Tweet it on https://twitter.com/apachecordova
+   * Announce to [G+ Page](https://plus.google.com/u/0/113178331525415522084/posts)
+   * Get it posted to Apache's announce mailing list: send an mail to announce@apache.org, sent from your @apache.org email address. Send in plain text, and copy the model of other announcements in the archive(s). You'll then need to wait for the moderator to accept the message. The www.a.o home page is automatically updated with the announcement after the moderator approves.
+   * For major project milestones, email press@apache.org and they can provide custom help.
+
+# Additional Information
+ * [IOSReleaseChecklist](https://wiki.apache.org/cordova/IOSReleaseChecklist)
+ * [AndroidReleaseChecklist](https://wiki.apache.org/cordova/AndroidReleaseChecklist)
+
+## Moving Tags
+
+If you need to move a tag before the release, here is how to do that:
+
+    $ git tag -d 3.1.0
+    Deleted tag '3.1.0' (was 2a9bc20)
+    $ git push origin :refs/tags/3.1.0
+    To https://git-wip-us.apache.org/repos/asf/cordova-docs.git
+     - [deleted]         3.1.0
+    $ git tag 3.1.0 7cf9fea03d7d02a13aef97a09a459e8128bd3198
+    $ git push origin 3.1.0 --tags
+    Total 0 (delta 0), reused 0 (delta 0)
+    To https://git-wip-us.apache.org/repos/asf/cordova-docs.git
+     * [new tag]         3.1.0 -> 3.1.0
+
+Then send a note to the mailing list:
+
+    To verify you have the updated tag in your local clone, doing a "git rev-parse 3.1.0" in cordova-docs should reply with "7cf9fea03d7d02a13aef97a09a459e8128bd3198". If it is wrong, do "git fetch --tags".
+

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/1b0b7a0b/src/main.js
----------------------------------------------------------------------
diff --git a/src/main.js b/src/main.js
index 37aae0b..96d2a4a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -67,11 +67,11 @@ module.exports = function() {
     var releaseCommands = [{
             name: 'prepare-release-branch',
             desc: 'Branches, updates JS, updates VERSION. Safe to run multiple times.',
-            entryPoint: lazyRequire('./cadence-release', 'prepareReleaseBranchCommand')
+            entryPoint: lazyRequire('./platform-release', 'prepareReleaseBranchCommand')
         }, {
             name: 'tag-release',
             desc: 'Tags repos for a release.',
-            entryPoint: lazyRequire('./cadence-release', 'tagReleaseBranchCommand')
+            entryPoint: lazyRequire('./platform-release', 'tagReleaseBranchCommand')
         }, {
             name: 'audit-license-headers',
             desc: 'Uses Apache RAT to look for missing license headers.',

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/1b0b7a0b/src/platform-release.js
----------------------------------------------------------------------
diff --git a/src/platform-release.js b/src/platform-release.js
new file mode 100644
index 0000000..20c0a19
--- /dev/null
+++ b/src/platform-release.js
@@ -0,0 +1,302 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+var fs = require('fs');
+var path = require('path');
+var optimist = require('optimist');
+var shelljs = require('shelljs');
+var apputil = require('./apputil');
+var executil = require('./executil');
+var flagutil = require('./flagutil');
+var gitutil = require('./gitutil');
+var repoutil = require('./repoutil');
+var repoupdate = require('./repo-update');
+var print = apputil.print;
+
+function createPlatformDevVersion(version) {
+    // e.g. "3.1.0" -> "3.2.0-dev".
+    // e.g. "3.1.2-0.8.0-rc2" -> "3.2.0-0.8.0-dev".
+    version = version.replace(/-rc.*$/, '');
+    var parts = version.split('.');
+    parts[1] = String(+parts[1] + 1);
+    var cliSafeParts = parts[2].split('-');
+    cliSafeParts[0] = '0';
+    parts[2] = cliSafeParts.join('-');
+    return parts.join('.') + '-dev';
+}
+
+function getVersionBranchName(version) {
+    if (/-dev$/.test(version)) {
+        return 'master';
+    }
+    return version.replace(/\d+(-?rc\d)?$/, 'x');
+}
+
+function cpAndLog(src, dest) {
+    print('Coping File:', src, '->', dest);
+    // Throws upon failure.
+    shelljs.cp('-f', src, dest);
+    if (shelljs.error()) {
+        apputil.fatal('Copy failed.');
+    }
+}
+
+function configureReleaseCommandFlags(opt) {
+    var opt = flagutil.registerRepoFlag(opt)
+    opt = opt
+        .options('version', {
+            desc: 'The version to use for the branch. Must match the pattern #.#.#[-rc#]',
+            demand: true
+         });
+    opt = flagutil.registerHelpFlag(opt);
+    argv = opt.argv;
+
+    if (argv.h) {
+        optimist.showHelp();
+        process.exit(1);
+    }
+    var version = flagutil.validateVersionString(argv.version);
+    return argv;
+}
+
+var hasBuiltJs = '';
+
+function *updateJsSnapshot(repo, version) {
+    function *ensureJsIsBuilt() {
+        var cordovaJsRepo = repoutil.getRepoById('js');
+        
+        if (hasBuiltJs != version) {
+            yield repoutil.forEachRepo([cordovaJsRepo], function*() {
+yield executil.execHelper(executil.ARGS('ls'));
+                yield gitutil.stashAndPop(cordovaJsRepo, function*() {
+                    //git fetch and update master for cordovajs
+                    yield repoupdate.updateRepos([cordovaJsRepo], ['master'], false);
+                    yield gitutil.gitCheckout('master'); 
+                    yield executil.execHelper(executil.ARGS('grunt compile:' +repo.id + ' --platformVersion='+version));
+                    hasBuiltJs = version;
+                });
+            });
+        }
+    }
+
+    if (repoutil.repoGroups.platform.indexOf(repo) == -1) {
+        return;
+    }
+
+    if (repo.cordovaJsPaths) {
+        yield ensureJsIsBuilt();
+        repo.cordovaJsPaths.forEach(function(jsPath) {
+            var src = path.join('..', 'cordova-js', 'pkg', repo.cordovaJsSrcName || ('cordova.' + repo.id + '.js'));
+            cpAndLog(src, jsPath);
+        });
+        if (yield gitutil.pendingChangesExist()) {
+            yield executil.execHelper(executil.ARGS('git commit -am', 'Update JS snapshot to version ' + version + ' (via coho)'));
+        }
+    } else if (repoutil.repoGroups.all.indexOf(repo) != -1) {
+        print('*** DO NOT KNOW HOW TO UPDATE cordova.js FOR THIS REPO ***');
+    }
+}
+
+function *updateRepoVersion(repo, version) {
+    // Update the VERSION files.
+    var versionFilePaths = repo.versionFilePaths || ['VERSION'];
+    if (fs.existsSync(versionFilePaths[0])) {
+        versionFilePaths.forEach(function(versionFilePath) {
+            fs.writeFileSync(versionFilePath, version + '\n');
+        });
+        shelljs.config.fatal = true;
+        if (repo.id == 'android') {
+            shelljs.sed('-i', /CORDOVA_VERSION.*=.*;/, 'CORDOVA_VERSION = "' + version + '";', path.join('framework', 'src', 'org', 'apache', 'cordova', 'CordovaWebView.java'));
+            shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'cordova', 'version'));
+        } else if (repo.id == 'firefoxos') {
+            shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'project','cordova', 'version'));
+        }
+        shelljs.config.fatal = false;
+        if (!(yield gitutil.pendingChangesExist())) {
+            print('VERSION file was already up-to-date.');
+        }
+    } else {
+        console.warn('No VERSION file exists in repo ' + repo.repoName);
+    }
+    
+    // Update the package.json VERSION.
+    var packageFilePaths = repo.packageFilePaths || ['package.json'];
+    if (fs.existsSync(packageFilePaths[0])) {
+        fs.readFile(packageFilePaths[0], {encoding: 'utf-8'},function (err, data) {
+            if (err) throw err;
+            var packageJSON = JSON.parse(data);
+            packageJSON.version = version;
+            fs.writeFileSync(packageFilePaths[0], JSON.stringify(packageJSON, null, "    "));
+        }); 
+        if (!(yield gitutil.pendingChangesExist())) {
+            print('package.json file was already up-to-date.');
+        }
+    } else {
+        console.warn('No package.json file exists in repo ' + repo.repoName);
+    }
+
+    if (yield gitutil.pendingChangesExist()) {
+        yield executil.execHelper(executil.ARGS('git commit -am', 'Set VERSION to ' + version + ' (via coho)'));
+    }
+}
+
+exports.prepareReleaseBranchCommand = function*() {
+    var argv = configureReleaseCommandFlags(optimist
+        .usage('Prepares release branches but does not create tags. This includes:\n' +
+               '    1. Creating the branch if it doesn\'t already exist\n' +
+               '    2. Generates and updates the cordova.js snapshot and VERSION file from master.\n' +
+               '\n' +
+               'Command is safe to run multiple times, and can be run for the purpose\n' +
+               'of checking out existing release branches.\n' +
+               '\n' +
+               'Command can also be used to update the JS snapshot after release \n' +
+               'branches have been created.\n' +
+               '\n' +
+               'Usage: $0 prepare-release-branch --version=3.6.0 -r platform')
+    );
+    var repos = flagutil.computeReposFromFlag(argv.r);
+    var version = flagutil.validateVersionString(argv.version);
+    var branchName = getVersionBranchName(version);
+
+    // First - perform precondition checks.
+    yield repoupdate.updateRepos(repos, [], true);
+    
+    yield repoutil.forEachRepo(repos, function*(repo) {
+        yield gitutil.stashAndPop(repo, function*() {
+            // git fetch + update master
+            yield repoupdate.updateRepos([repo], ['master'], false);
+
+            // Either create or pull down the branch.
+            if (yield gitutil.remoteBranchExists(repo, branchName)) {
+                print('Remote branch already exists for repo: ' + repo.repoName);
+                // Check out and rebase.
+                yield repoupdate.updateRepos([repo], [branchName], true);
+                yield gitutil.gitCheckout(branchName);
+            } else if (yield gitutil.localBranchExists(branchName)) {
+                yield executil.execHelper(executil.ARGS('git checkout ' + branchName));
+            } else {
+                yield gitutil.gitCheckout('master');
+                yield executil.execHelper(executil.ARGS('git checkout -b ' + branchName));
+            }
+            yield updateJsSnapshot(repo, version);
+            print(repo.repoName + ': ' + 'Setting VERSION to "' + version + '" on branch + "' + branchName + '".');
+            yield updateRepoVersion(repo, version);
+
+            yield gitutil.gitCheckout('master');
+            var devVersion = createPlatformDevVersion(version);
+            print(repo.repoName + ': ' + 'Setting VERSION to "' + devVersion + '" on branch + "master".');
+            yield updateRepoVersion(repo, devVersion);
+            yield updateJsSnapshot(repo, devVersion);
+            yield gitutil.gitCheckout(branchName);
+        });
+    });
+
+    executil.reportGitPushResult(repos, ['master', branchName]);
+}
+
+function *tagJs(repo, version, pretend) {
+
+    function *execOrPretend(cmd) {
+        if (pretend) {
+            print('PRETENDING TO RUN: ' + cmd.join(' '));
+        } else {
+            yield executil.execHelper(cmd);
+        }
+    }
+
+    //tag cordova.js platform-version
+    var cordovaJsRepo = repoutil.getRepoById('js');
+    yield repoutil.forEachRepo([cordovaJsRepo], function*() {
+        yield gitutil.stashAndPop(cordovaJsRepo, function*() {
+            // git fetch
+            yield repoupdate.updateRepos([cordovaJsRepo], ['master'], false);
+
+            if (yield gitutil.tagExists(repo.id + '-' + version)) {
+                yield execOrPretend(executil.ARGS('git tag ' + repo.id + '-' + version + ' --force'));
+            } else {
+                yield execOrPretend(executil.ARGS('git tag ' + repo.id + '-' + version));
+            }
+            yield execOrPretend(executil.ARGS('git push --tags ' + repo.remoteName)); 
+        });
+    });
+}
+
+
+exports.tagReleaseBranchCommand = function*(argv) {
+    var argv = configureReleaseCommandFlags(optimist
+        .usage('Tags a release branches.\n' +
+               '\n' +
+               'Usage: $0 tag-release --version=2.8.0-rc1 -r platform')
+        .options('pretend', {
+            desc: 'Don\'t actually run git commands, just print out what would be run.',
+            type: 'boolean'
+         })
+    );
+    var repos = flagutil.computeReposFromFlag(argv.r);
+    var version = flagutil.validateVersionString(argv.version);
+    var pretend = argv.pretend;
+    var branchName = getVersionBranchName(version);
+
+    // First - perform precondition checks.
+    yield repoupdate.updateRepos(repos, [], true);
+
+    function *execOrPretend(cmd) {
+        if (pretend) {
+            print('PRETENDING TO RUN: ' + cmd.join(' '));
+        } else {
+            yield executil.execHelper(cmd);
+        }
+    }
+    yield repoutil.forEachRepo(repos, function*(repo) {
+        yield gitutil.stashAndPop(repo, function*() {
+            // git fetch.
+            yield repoupdate.updateRepos([repo], [], false);
+
+            if (yield gitutil.remoteBranchExists(repo, branchName)) {
+                print('Remote branch already exists for repo: ' + repo.repoName);
+                yield gitutil.gitCheckout(branchName);
+            } else {
+                apputil.fatal('Release branch does not exist for repo ' + repo.repoName);
+            }
+
+            // git merge
+            yield repoupdate.updateRepos([repo], [branchName], true);
+
+            // Create/update the tag.
+            var tagName = yield gitutil.retrieveCurrentTagName();
+            console.log(tagName);
+            console.log(repo);
+            if (tagName != version) {
+                if (yield gitutil.tagExists(version)) {
+                    yield execOrPretend(executil.ARGS('git tag ' + version + ' --force'));
+                } else {
+                    yield execOrPretend(executil.ARGS('git tag ' + version));
+                }
+                yield execOrPretend(executil.ARGS('git push --tags ' + repo.remoteName + ' ' + branchName));
+            } else {
+                print('Repo ' + repo.repoName + ' is already tagged.');
+            }
+            yield tagJs(repo, version, pretend);
+                
+        });
+    });
+
+    print('');
+    print('All work complete.');
+}


[04/13] git commit: copied over changes in cadence process to platforms process

Posted by st...@apache.org.
copied over changes in cadence process to platforms process


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/0b8755fe
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/0b8755fe
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/0b8755fe

Branch: refs/heads/master
Commit: 0b8755fe4cf32b2b4e2dd7826975364bc1c684f9
Parents: 59db742
Author: Steven Gill <st...@gmail.com>
Authored: Wed Aug 27 14:52:18 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:04 2014 -0700

----------------------------------------------------------------------
 src/platform-release.js | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/0b8755fe/src/platform-release.js
----------------------------------------------------------------------
diff --git a/src/platform-release.js b/src/platform-release.js
index 20c0a19..5a54672 100644
--- a/src/platform-release.js
+++ b/src/platform-release.js
@@ -121,12 +121,16 @@ function *updateRepoVersion(repo, version) {
             fs.writeFileSync(versionFilePath, version + '\n');
         });
         shelljs.config.fatal = true;
-        if (repo.id == 'android') {
+        if (repo.id == 'android' || repo.id == 'amazon-fireos') {
             shelljs.sed('-i', /CORDOVA_VERSION.*=.*;/, 'CORDOVA_VERSION = "' + version + '";', path.join('framework', 'src', 'org', 'apache', 'cordova', 'CordovaWebView.java'));
             shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'cordova', 'version'));
+        } else if (repo.id == 'blackberry') {
+            shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'project','cordova', 'lib', 'version.js'));
         } else if (repo.id == 'firefoxos') {
             shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'project','cordova', 'version'));
-        }
+        } else if (repo.id == 'ubuntu') {
+            shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'build', 'version'));
+        } 
         shelljs.config.fatal = false;
         if (!(yield gitutil.pendingChangesExist())) {
             print('VERSION file was already up-to-date.');


[09/13] git commit: removed incorrect mobile-spec-release doc

Posted by st...@apache.org.
removed incorrect mobile-spec-release doc


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/4808fa51
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/4808fa51
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/4808fa51

Branch: refs/heads/master
Commit: 4808fa51428f1277af0d1be1734f0ca1c4c0ddb0
Parents: 687dca8
Author: Steven Gill <st...@gmail.com>
Authored: Fri Aug 29 12:49:38 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:01:41 2014 -0700

----------------------------------------------------------------------
 docs/mobile-spec-release.md | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/4808fa51/docs/mobile-spec-release.md
----------------------------------------------------------------------
diff --git a/docs/mobile-spec-release.md b/docs/mobile-spec-release.md
deleted file mode 100644
index 01c0f3f..0000000
--- a/docs/mobile-spec-release.md
+++ /dev/null
@@ -1 +0,0 @@
-###


[11/13] git commit: Create mobile-spec-release.md

Posted by st...@apache.org.
Create mobile-spec-release.md


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/d6306792
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/d6306792
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/d6306792

Branch: refs/heads/master
Commit: d6306792115140591e95457f6f4ead5f1f390502
Parents: 0e0f843
Author: Steve Gill <st...@gmail.com>
Authored: Wed Aug 27 15:28:14 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:14:24 2014 -0700

----------------------------------------------------------------------
 docs/mobile-spec-release.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/d6306792/docs/mobile-spec-release.md
----------------------------------------------------------------------
diff --git a/docs/mobile-spec-release.md b/docs/mobile-spec-release.md
new file mode 100644
index 0000000..01c0f3f
--- /dev/null
+++ b/docs/mobile-spec-release.md
@@ -0,0 +1 @@
+###


[06/13] git commit: Create mobile-spec-release.md

Posted by st...@apache.org.
Create mobile-spec-release.md


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/f7ec9a8d
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/f7ec9a8d
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/f7ec9a8d

Branch: refs/heads/master
Commit: f7ec9a8d1f1f06a9cc2e4d504f378385d0fca3cb
Parents: 7c27d32
Author: Steve Gill <st...@gmail.com>
Authored: Wed Aug 27 15:28:14 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:05 2014 -0700

----------------------------------------------------------------------
 docs/mobile-spec-release.md | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/f7ec9a8d/docs/mobile-spec-release.md
----------------------------------------------------------------------
diff --git a/docs/mobile-spec-release.md b/docs/mobile-spec-release.md
new file mode 100644
index 0000000..01c0f3f
--- /dev/null
+++ b/docs/mobile-spec-release.md
@@ -0,0 +1 @@
+###


[03/13] git commit: Update versioning-and-release-strategy.md

Posted by st...@apache.org.
Update versioning-and-release-strategy.md


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/7c27d32a
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/7c27d32a
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/7c27d32a

Branch: refs/heads/master
Commit: 7c27d32acd4f588981aba4bef4b83af857645fc9
Parents: 0b8755f
Author: Steve Gill <st...@gmail.com>
Authored: Wed Aug 27 15:27:31 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:04 2014 -0700

----------------------------------------------------------------------
 docs/versioning-and-release-strategy.md | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/7c27d32a/docs/versioning-and-release-strategy.md
----------------------------------------------------------------------
diff --git a/docs/versioning-and-release-strategy.md b/docs/versioning-and-release-strategy.md
index fb02c07..9bc6193 100644
--- a/docs/versioning-and-release-strategy.md
+++ b/docs/versioning-and-release-strategy.md
@@ -25,26 +25,13 @@
  1. `SemVer` ([Semantic Version](http://www.semver.org))
    * Used by platforms, plugman, CLI, core plugins
    * Is important when describing dependencies in a sane way (e.g. within plugin.xml files)
-   * Referenced sparingly by docs / blogs (e.g. only by release notes)
- 2. `CadVer` (Cadence Version)
-   * Used by CLI, mobile-spec, cordova-js
-   * Also referred to as the "Cordova Version"
-   * Referenced by our website, blogs & docs
-   * Used by JIRA for the "Fix Version" field
-   * Each `CadVer` maps to a set of repo `SemVer`s
-     * E.g. 3.0.0 uses `cordova-blackberry@3.0.0, cordova-ios@3.0.0, cordova-android@3.0.0`
-     * E.g. 3.1.0 uses `cordova-blackberry@3.1.0, cordova-ios@3.0.1, cordova-android@4.0.0`
-     * E.g. 3.2.0 uses `cordova-blackberry@3.1.1, cordova-ios@3.1.0, cordova-android@4.0.1`
-     * E.g. 3.2.1 uses `cordova-blackberry@3.1.2, cordova-ios@3.1.0, cordova-android@4.0.1`
 
 CLI exists in both lists because its version has the format: `CadVer-SemVer`
  * E.g.: `3.0.0-0.5.1`
 
-
 ## Release Strategies
  1. __On-Demand Releases__
    * Any repository can do an on-demand release at any time.
-   * These happen only when the team decides that a release cannot wait for the next regular release to happen.
    * These releases contain critical bug fixes that can't wait for the next scheduled release.
  2. __Weekly Releases__
    * These occur at most once a week (if there are no commits worth releasing, then skip the release).
@@ -53,10 +40,9 @@ CLI exists in both lists because its version has the format: `CadVer-SemVer`
    * These releases apply to: `CLI`, `Plugman`, and `Core Plugins`.
    * These releases contain non-critical bug fixes as well as new features.
    * Releases generally happen on Thursdays, but can be done on any day so long as it's been a week since the previous release.
- 3. __Cadence Releases__
-   * These follow the 10 releases per year, as enumerated on RoadmapProjects.
-   * The `CadVer` is increased (either MAJOR or MINOR) on each release.
-   * The `SemVer` is increased only if there are changes since the previous release.
+ 3. __Platform Releases__
+   * Release whenever platform mainters decide they want to release
+   * Tools also get updated with a platform release
 
 Related docs:
 * [storing-repo-versions-design.md](storing-repo-versions-design.md)


[08/13] git commit: added ios version script update

Posted by st...@apache.org.
added ios version script update


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/687dca82
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/687dca82
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/687dca82

Branch: refs/heads/master
Commit: 687dca82dda4853bb4292b6139ea46582be80097
Parents: 8128799
Author: Steven Gill <st...@gmail.com>
Authored: Fri Aug 29 12:43:15 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:01:40 2014 -0700

----------------------------------------------------------------------
 src/platform-release.js | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/687dca82/src/platform-release.js
----------------------------------------------------------------------
diff --git a/src/platform-release.js b/src/platform-release.js
index 5a54672..debf053 100644
--- a/src/platform-release.js
+++ b/src/platform-release.js
@@ -124,6 +124,8 @@ function *updateRepoVersion(repo, version) {
         if (repo.id == 'android' || repo.id == 'amazon-fireos') {
             shelljs.sed('-i', /CORDOVA_VERSION.*=.*;/, 'CORDOVA_VERSION = "' + version + '";', path.join('framework', 'src', 'org', 'apache', 'cordova', 'CordovaWebView.java'));
             shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'cordova', 'version'));
+        } else if (repo.id == 'ios') {
+            shelljs.sed('-i', /VERSION.*=.*/, 'VERSION="' + version + '"', path.join('bin', 'templates', 'scripts', 'cordova', 'version'));   
         } else if (repo.id == 'blackberry') {
             shelljs.sed('-i', /VERSION.*=.*;/, 'VERSION = "' + version + '";', path.join('bin', 'templates', 'project','cordova', 'lib', 'version.js'));
         } else if (repo.id == 'firefoxos') {


[13/13] git commit: removed incorrect mobile-spec-release doc

Posted by st...@apache.org.
removed incorrect mobile-spec-release doc


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/c005147f
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/c005147f
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/c005147f

Branch: refs/heads/master
Commit: c005147f9bd08d90015347a53317550a548324ec
Parents: b474dd4
Author: Steven Gill <st...@gmail.com>
Authored: Fri Aug 29 12:49:38 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:17:39 2014 -0700

----------------------------------------------------------------------
 docs/mobile-spec-release.md | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/c005147f/docs/mobile-spec-release.md
----------------------------------------------------------------------
diff --git a/docs/mobile-spec-release.md b/docs/mobile-spec-release.md
deleted file mode 100644
index 01c0f3f..0000000
--- a/docs/mobile-spec-release.md
+++ /dev/null
@@ -1 +0,0 @@
-###


[05/13] git commit: CB-7224 Updated platforms-release-process.md

Posted by st...@apache.org.
CB-7224 Updated platforms-release-process.md


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/59db7421
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/59db7421
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/59db7421

Branch: refs/heads/master
Commit: 59db74216e5ec06cf7745ad9e76ea637c9ac2697
Parents: b7615ca
Author: Steve Gill <st...@gmail.com>
Authored: Thu Aug 21 17:04:39 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 17:17:04 2014 -0700

----------------------------------------------------------------------
 docs/platforms-release-process.md | 127 +++++++++++----------------------
 1 file changed, 42 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/59db7421/docs/platforms-release-process.md
----------------------------------------------------------------------
diff --git a/docs/platforms-release-process.md b/docs/platforms-release-process.md
index 60fd181..a1564ba 100644
--- a/docs/platforms-release-process.md
+++ b/docs/platforms-release-process.md
@@ -27,50 +27,34 @@ This page describes the technical steps for releasing a `Platforms Release` (see
 
 TODO: We may want to be using [signed tags](http://git-scm.com/book/en/Git-Basics-Tagging), or at least annotated tags.
 
-## Getting Buy-in & Assigning a Release Manager
+Replace `Android` with the platform you are releasing. 
 
- 1. Email the dev mailing-list and see if anyone has reason to postpone the release.
-   * If so, agree upon a branching date / time.
- 1. Ask for a volunteer to be Release Manager for the release (or volunteer yourself)
+## Get Buy-in
 
-## Creating JIRA issues
-
-TODO: Create a new release bug script for independant platform releases.
-
-* Create the release bug for the Release Candidate:
-
-      `coho create-release-bug --version=3.0.0 --username=JiraUser --password=JiraPassword`
-    
-* Comments should be added to this bug after each top-level step below is taken
-
-* Set a variable for use later on:
+Email the dev mailing-list and see if anyone has reason to postpone the release.
 
-    `JIRA="CB-????"` # Set this to the release bug.
+E.g.:
 
-## Branch & Tag for: cordova-mobile-spec and cordova-app-hello-world 
+    Subject: [DISCUSS] Cordova-Android Release
 
-TODO: mobile-spec should have it's own release process instead of being a part of platform release process
+    Does anyone have any reason to delay a cordova-android platform release?
+    Any outstanding patches to land?
 
-TODO: app-hello-world should be tagged with tools instead of platform release
+    If not, I will start the release tomorrow.
 
-This should be done *before* creating branches on other repos.
-
-This step involves:
- * Updating version numbers
- * Creating release branches
- * Creating git tags
+## Creating JIRA issues
 
-Coho automates these steps:
+ * Create a JIRA issue to track the status of the release.
+   * Make it of type "Task"
+   * Title should be "Cordova-Android Platform Release _August 21, 2014_"
+   * Description should be: "Following steps at https://github.com/apache/cordova-coho/blob/master/docs/platforms-release-process.md"
+ * Comments should be added to this bug after each top-level step below is taken
+ * Set a variable in your terminal for use later on:
 
-    coho prepare-release-branch --version 3.5.0 -r app-hello-world -r mobile-spec
-    coho repo-status -r app-hello-world -r mobile-spec -b master -b 3.5.x
-    # If changes look right:
-    coho repo-push -r app-hello-world -r mobile-spec -b master -b 3.5.x
-    coho tag-release --version 3.5.0 -r app-hello-world -r mobile-spec
 
-If the JS ever needs to be re-tagged, rerun the `tag-release` command, and then re-run the `prepare-release-branch` command for the platform repos.
+    JIRA="CB-????" # Set this to the release bug.
 
-## Branch & Tag for Platform Repositories
+## Branch & Tag for Platform Repository
 
 ### Before creating the release branch:
 
@@ -96,13 +80,13 @@ and update `CORDOVA_VERSION_MIN_REQUIRED` with the latest version macro, e.g.
 ### Creating the release branch
 
 This step involves:
- * Updating cordova.js snapshots
+ * Updating cordova.js snapshot
  * Updating version numbers
- * Creating release branches
- * Creating git tags
- * Updating version in package.json files
+ * Creating a release branch
+ * Creating git tags for platform and js
+ * Updating version in package.json file
 
-Coho automates these steps (replace android with your platform):
+Coho automates these steps:
 
     coho prepare-release-branch --version 3.5.0 -r android
     coho repo-status -r android -b master -b 3.5.x
@@ -129,7 +113,7 @@ Ensure you have the svn repos checked out:
     
 Create archives from your tags:
 
-    coho foreach -r android "git checkout 3.4.x"
+    coho foreach -r android "git checkout 3.5.x"
     coho create-archive -r android --dest cordova-dist-dev/$JIRA/rc
 
 Sanity Check:
@@ -156,9 +140,9 @@ To submit a fix:
     git commit -am 'Your commit message'
     git push origin master
     git log     # note the first five or six digits of the commit hash
-    git checkout 2.7.x
+    git checkout 3.5.x
     git cherry-pick -x commit_hash
-    git push origin 2.7.x
+    git push origin 3.5.x
 
 ### What to Test
 
@@ -167,24 +151,24 @@ To submit a fix:
    * Don't forget to set up your white-list
    * Don't forget to run through the manual tests in addition to the automatic tests
    * Test loading the app over HTTP (via "cordova serve" and setting the config.xml start page)
- * Run each platform's ./bin/create script
+ * Run your platform's ./bin/create script
    * Ensure generated project builds & runs both through an IDE and through the cordova/* scripts
  * Test Project Upgrades (old-style):
    1. Create a project using the previous version of cordova
-     * `coho foreach "git checkout 2.9.0"`
-     * `coho foreach -r active-platform "./bin/create foo org.apache.foo foo"`
+     * `coho foreach -r android "git checkout 3.4.0"`
+     * `coho foreach -r android "./bin/create foo org.apache.foo foo"`
    2. Upgrade the project via the bin/update_project script:
-     * `coho foreach "git checkout 3.0.x"`
-     * `coho foreach -r active-platform "cd foo && ../bin/update_project"`
+     * `coho foreach -r android "git checkout 3.5.x"`
+     * `coho foreach -r android "cd foo && ../bin/update_project"`
    3. Test the result:
      * Project should run
      * cordova/version should report the new version
  * Test Project Upgrades (new-style):
    1. Create a project using the previous version of cordova
-     * `coho foreach "git checkout 2.9.0"`
+     * `coho foreach "git checkout 3.4.0"`
      * `./cordova-mobile-spec/createmobilespec.sh`
    2. Upgrade the project via the update command:
-     * `../cordova-cli/bin/cordova platform update PLATFORM`
+     * `../cordova-cli/bin/cordova platform update android`
    3. Test the result:
      * Project should run
      * cordova/version should report the new version
@@ -202,17 +186,17 @@ To submit a fix:
 
 ### Documentation To Update
 
-For each repository:
+For your platform:
  1. Update RELEASENOTES.md (if the file is missing, use the iOS one as a reference: [RELEASENOTES.md](https://github.com/apache/cordova-ios/blob/master/RELEASENOTES.md))
 
 Grab changes from the previous release until now.
 
     # Changes:
-    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x
+    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.4.x..origin/3.5.x
     # Commit count:
-    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.2.x..origin/3.3.x | wc -l
+    git log --pretty=format:'* %s' --topo-order --no-merges origin/3.4.x..origin/3.5.x | wc -l
     # Author Count:
-    git log --pretty=format:'%an' --topo-order --no-merges origin/3.2.x..origin/3.3.x | sort | uniq | wc -l
+    git log --pretty=format:'%an' --topo-order --no-merges origin/3.4.x..origin/3.5.x | sort | uniq | wc -l
 
 Edit the commit descriptions - don't add the commits verbatim, usually they are meaningless to the user. Only show the ones relevant for the user (fixes, new features)
 
@@ -220,35 +204,11 @@ Edit the commit descriptions - don't add the commits verbatim, usually they are
  3. Ensure the [Upgrade Guide](http://docs.phonegap.com/en/edge/guide_upgrading_index.md.html) for your platform is up-to-date
  4. Ensure the other guides listed in the sidebar are up-to-date for your platform
 
-## Final Tagging (non-RC)
-
-This is done for all repos once testing is complete, and documentation is up-to-date. If nothing has changed since the earlier tag, no need to run the steps below. If changes have occured, make sure to cherry-pick them into the release branch and rerun commands below.
-
-Note: If you get an error due to the tag already existing on the server, view the moving tags section at the bottom of this readme on how to delete a remote git tag.
-
-Use the same coho commands as for the RCs (it will update JS & VERSION):
-
-    coho prepare-release-branch --version 3.5.0 -r js -r app-hello-world -r mobile-spec
-    coho repo-status -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
-    # If changes look right:
-    coho repo-push -r js -r app-hello-world -r mobile-spec -b master -b 3.5.x
-    coho tag-release --version 3.5.0 -r js -r app-hello-world -r mobile-spec
-
-## Branching & Tagging cordova-docs
-TODO: Update to new docs release process. Not apart of platofrms release process anymore
-
- 1. Cherry pick relevant commits from master to 3.5.x branch
- 2. Generate the docs for the release on the 3.5.x branch.
- 3. Commit & tag on the 3.5.x branch.
- 4. Cherry pick commit into master.
-
-
-See [Generating a Version Release](https://git-wip-us.apache.org/repos/asf?p=cordova-docs.git;a=blob;f=README.md#l127) for more details.
 
 ## Publish final archives to dist/dev
 Create archives from your tags:
 
-    coho foreach -r android "git checkout 3.4.x"
+    coho foreach -r android "git checkout 3.5.x"
     coho create-archive -r android --dest cordova-dist-dev/$JIRA/final
 
 Sanity Check:
@@ -262,7 +222,7 @@ Upload: (replace `android` with your platform)
 Find your release here: https://dist.apache.org/repos/dist/dev/cordova/
 
 ## Prepare Blog Post
- * Combine highlights from RELEASENOTES.md into a Release Announcement blog post
+ * Gather highlights from RELEASENOTES.md into a Release Announcement blog post
    * Instructions on [sites page README](https://svn.apache.org/repos/asf/cordova/site/README.md)
  * Get blog post proofread via [Github](http://github.com/cordova/apache-blog-posts).
 
@@ -294,7 +254,7 @@ __Body:__
     I vote +1:
     * Ran coho audit-license-headers over the relevant repos
     * Used `license-checker` to ensure all dependencies have Apache-compatible licenses
-    * Ensured continuous build was green when repos were tagged
+    * Ensured continuous build was green when repo was tagged
 
 
 ## Email the result of the vote
@@ -327,13 +287,9 @@ _Note: list of PMC members: http://people.apache.org/committers-by-project.html#
 
     cd cordova-dist
     svn up
-    svn rm tools/cordova-cli-*
-    svn rm tools/cordova-js*
     svn rm platforms/cordova-android*
-    cp ../cordova-dist-dev/$JIRA/final/cordova-cli* tools/
     cp ../cordova-dist-dev/$JIRA/final/cordova-android* platforms/
-    svn add tools/*
-    svn add platforms/*
+    svn add platforms/cordova-android*
     svn commit -m "$JIRA Published android release to dist"
 
     cd ../cordova-dist-dev
@@ -353,7 +309,8 @@ Find your release here: https://dist.apache.org/repos/dist/release/cordova/
  * And the instructions at https://svn.apache.org/repos/asf/cordova/site/README.md
 
 ### Update the Docs
-TODO: Change this to new docs release process
+TODO: Change this to new docs release process; maybe with tools process?
+
  1. Upload the new docs to http://cordova.apache.org/docs
    * Website README.md explains [How to update the docs](https://svn.apache.org/repos/asf/cordova/site/README.md)
    * Commit should look like [this one](http://svn.apache.org/viewvc?view=revision&revision=r1478171)


[10/13] git commit: cb-7224: added suuport for platforms release process

Posted by st...@apache.org.
cb-7224: added suuport for platforms release process


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/0e0f8432
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/0e0f8432
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/0e0f8432

Branch: refs/heads/master
Commit: 0e0f84326d4c43b45767cce8528b984bc5397b74
Parents: 4808fa5
Author: Steven Gill <st...@gmail.com>
Authored: Wed Aug 20 17:41:42 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:09:03 2014 -0700

----------------------------------------------------------------------
 docs/platforms-release-process.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/0e0f8432/docs/platforms-release-process.md
----------------------------------------------------------------------
diff --git a/docs/platforms-release-process.md b/docs/platforms-release-process.md
index a1564ba..273e90a 100644
--- a/docs/platforms-release-process.md
+++ b/docs/platforms-release-process.md
@@ -80,6 +80,7 @@ and update `CORDOVA_VERSION_MIN_REQUIRED` with the latest version macro, e.g.
 ### Creating the release branch
 
 This step involves:
+
  * Updating cordova.js snapshot
  * Updating version numbers
  * Creating a release branch
@@ -204,7 +205,6 @@ Edit the commit descriptions - don't add the commits verbatim, usually they are
  3. Ensure the [Upgrade Guide](http://docs.phonegap.com/en/edge/guide_upgrading_index.md.html) for your platform is up-to-date
  4. Ensure the other guides listed in the sidebar are up-to-date for your platform
 
-
 ## Publish final archives to dist/dev
 Create archives from your tags:
 


[12/13] git commit: Added cordova.js to tools release process

Posted by st...@apache.org.
Added cordova.js to tools release process

Cordova-js need to be released when updated because it is a dependency to cordova-lib when using --browserify.


Project: http://git-wip-us.apache.org/repos/asf/cordova-coho/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-coho/commit/b474dd41
Tree: http://git-wip-us.apache.org/repos/asf/cordova-coho/tree/b474dd41
Diff: http://git-wip-us.apache.org/repos/asf/cordova-coho/diff/b474dd41

Branch: refs/heads/master
Commit: b474dd41d225151d76c63ccdd88deb07730b80a2
Parents: d630679
Author: Steve Gill <st...@gmail.com>
Authored: Wed Aug 27 16:43:13 2014 -0700
Committer: Steven Gill <st...@gmail.com>
Committed: Wed Sep 24 18:17:38 2014 -0700

----------------------------------------------------------------------
 docs/tools-release-process.md | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b474dd41/docs/tools-release-process.md
----------------------------------------------------------------------
diff --git a/docs/tools-release-process.md b/docs/tools-release-process.md
index bd9aa8b..eabc5a0 100644
--- a/docs/tools-release-process.md
+++ b/docs/tools-release-process.md
@@ -89,6 +89,7 @@ Ensure that mobilespec creates okay via plugman:
 Ensure unit tests pass:
 
     (cd cordova-lib/cordova-lib; npm test)
+    (cd cordova-js; grunt test --platformVersion=3.6.0)
 
     # plugman tests are included in cordova-lib above
     (cd cordova-cli; npm test)
@@ -121,7 +122,7 @@ Update each repo's RELEASENOTES.md file with changes
     # Then curate:
     vim cordova-lib/cordova-lib/RELEASENOTES.md cordova-cli/RELEASENOTES.md cordova-plugman/RELEASENOTES.md cordova-js/RELEASENOTES.md
 
-Update the version of cordova-js that lib depends on. (TODO: why does this dependency exist?)
+Update the version of cordova-js that lib depends on. 
 
 Update the version of cordova-lib that cli and plugman depend on:
 
@@ -197,8 +198,6 @@ Commit these four changes together into one commit
 
 ## Push
 
-    # Push
-
     for l in cordova-lib cordova-plugman cordova-cli cordova-js; do ( cd $l; git push && git push --tags ); done
 
 If the push fails due to not being fully up-to-date, either: