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:34 UTC
[07/13] git commit: Added cordova.js to tools release process
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.