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 2012/11/12 23:36:42 UTC

git commit: updated coho to use shelljs

Updated Branches:
  refs/heads/shelljs [created] 1ba363393


updated coho to use shelljs


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

Branch: refs/heads/shelljs
Commit: 1ba363393a5276e1331971112bb83998a76b8ba1
Parents: 68979ce
Author: steven gill <st...@apache.org>
Authored: Mon Nov 12 14:35:39 2012 -0800
Committer: steven gill <st...@apache.org>
Committed: Mon Nov 12 14:35:39 2012 -0800

----------------------------------------------------------------------
 bin/README.md |   11 +--
 coho          |  330 ++++++++++++++--------------------------------------
 package.json  |    3 +-
 3 files changed, 94 insertions(+), 250 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-coho/blob/1ba36339/bin/README.md
----------------------------------------------------------------------
diff --git a/bin/README.md b/bin/README.md
index ff8564f..565d198 100644
--- a/bin/README.md
+++ b/bin/README.md
@@ -7,15 +7,8 @@ Apache Cordova is a web platform that exposes native mobile device apis and
 data to JavaScript. Previously known as PhoneGap, the name changed
 happened when PhoneGap was donated to the Apache foundation.
 
-Currently Apache Cordova is an effort undergoing incubation at The
-Apache Software Foundation (ASF), sponsored by the Apache Incubator
-project. Incubation is required of all newly accepted projects until a
-further review indicates that the infrastructure, communications, and
-decision making process have stabilized in a manner consistent with
-other successful ASF projects. While incubation status is not
-necessarily a reflection of the completeness or stability of the code,
-it does indicate that the project has yet to be fully endorsed by the
-ASF.
+Currently Apache Cordova is a top level project at The
+Apache Software Foundation (ASF).
 
 Why?
 -------------------

http://git-wip-us.apache.org/repos/asf/incubator-cordova-coho/blob/1ba36339/coho
----------------------------------------------------------------------
diff --git a/coho b/coho
index 806356e..3bdf1d7 100755
--- a/coho
+++ b/coho
@@ -17,7 +17,6 @@
 	specific language governing permissions and limitations
 	under the License.
 */
-
 PLATFORM = process.argv[2]
 if (!PLATFORM) {
     PLATFORM = "all";
@@ -26,256 +25,107 @@ VERSION = process.argv[3]
 var util           = require('util')
 ,   exec           = require('child_process').exec
 ,   fs             = require('fs')
-,   ios            = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-ios.git'
-,   blackberry     = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks.git'
-,   android        = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-android.git'
-,   windows        = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-windows.git'
-,   windowsph      = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-wp7.git'
-,   webos          = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-webos.git'
-,   bada       	   = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-bada.git'
-,   badaWac	   = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac.git'
-,   docs      	   = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-docs.git'
-,   cordovajs      = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-js.git'
-,   tizen          = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-tizen.git'
-,   qt             = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-qt.git'
-,   mac            = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-mac.git'
-,   mobilespec     = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec.git'
-,   helloworld     = 'https://git-wip-us.apache.org/repos/asf/incubator-cordova-app-hello-world.git'
-,   iosdir         = 'incubator-cordova-ios'
-,   blackberrydir  = 'incubator-cordova-blackberry-webworks'
-,   androiddir	   = 'incubator-cordova-android'
-,	windowsphdir   = 'incubator-cordova-wp7'
-,   windowsdir	   = 'incubator-cordova-windows'
-,   webosdir	   = 'incubator-cordova-webos'
-,   badadir        = 'incubator-cordova-bada'
-,   badaWacdir	   = 'incubator-cordova-bada-wac'
-,   docsdir        = 'incubator-cordova-docs'
-,   cordovajsdir   = 'incubator-cordova-js'
-,   tizendir       = 'incubator-cordova-tizen'
-,   qtdir          = 'incubator-cordova-qt'
-,   macdir         = 'incubator-cordova-mac'
-,   mobilespecdir  = 'incubator-cordova-mobile-spec'
-,   helloworlddir  = 'incubator-cordova-app-hello-world'
+,   shjs           = require('shelljs')
 ,   tempRepoDir    = 'temp/repositories'
 ,   releaseSrcDir  = '../../release/src/cordova-'+VERSION
+,   repoCount      = 15
+,   tracker        = 0
 ,   oldVer         = process.argv[4];
 
-var commandQueue = [],
-    child;
-
-
+var cordovaSrcZip = "cordova-"+VERSION+"-src.zip";
+var cordovaSrcAsc = cordovaSrcZip+".asc";
+var cordovaSrcMd5 = cordovaSrcZip+".md5";
+var cordovaSrcSha = cordovaSrcZip+".sha";
 
+shjs.rm('-rf', 'temp')
+shjs.mkdir('-p', ['temp/repositories','temp/release/src/cordova-'+VERSION])
+
+var platformDict = {
+  "iOS" : ['https://git-wip-us.apache.org/repos/asf/incubator-cordova-ios.git','incubator-cordova-ios'],
+  "Android":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-android.git', 'incubator-cordova-android'],
+  "BlackBerry":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-blackberry-webworks.git', 'incubator-cordova-blackberry-webworks'],
+  "Windows":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-windows.git', 'incubator-cordova-windows'],
+  "Windows Phone":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-wp7.git', 'incubator-cordova-wp7'],
+  "Bada":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-bada.git', 'incubator-cordova-bada'],
+  "BadaWac":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac.git', 'incubator-cordova-bada-wac'],
+  "WebOS":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-webos.git', 'incubator-cordova-webos'],
+  "Tizen":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-tizen.git', 'incubator-cordova-tizen'],
+  "QT":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-qt.git', 'incubator-cordova-qt'],
+  "OSX":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-mac.git', 'incubator-cordova-mac'],
+  "Docs":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-docs.git', 'incubator-cordova-docs'],
+  "MobileSpec":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-mobile-spec.git', 'incubator-cordova-mobile-spec'],
+  "CordovaJS":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-js.git', 'incubator-cordova-js'],
+  "Hello World App":['https://git-wip-us.apache.org/repos/asf/incubator-cordova-app-hello-world.git', 'incubator-cordova-app-hello-world']
+};
+
+
+shjs.cd(tempRepoDir)
+shjs.echo(shjs.ls('.'))
+
+//keys into top level directory
+shjs.echo('Moving KEYS file to release');
+shjs.cp('../../KEYS', '../release/KEYS');
 
-function queueCommand(cmd) {
-    commandQueue.push(cmd);
-}
-
-// Run through all queued commands in a synchronous manner.
-// If there's an error it will stop executing commands.
-// The callback parameter will fire once all commands have completed.
-function executeCommands(callback) {
-    var cmd = commandQueue.shift();
-    if (cmd) {
-		child = exec(cmd, function(err, stdout, stderr) {
-        	if (err !== null) {
-        		console.log('ERROR!' + err);
-          		util.puts(stderr);
-		  		executeCommands(callback);
-        	} else {
-          		util.puts(stdout);
-          		executeCommands(callback);
-        	}
-		});
-    	if (commandQueue.length === 0) {
-    		// Attach the callback to the child since this is the last command.
-    		child.on('exit', callback);
-   		}
-    } else {
-    	console.log('All done');
+// notice, license, readme, disclaimer file to be put into official release artifact
+shjs.echo('Moving notice, license, readme, and disclaimer files to release artifact');
+shjs.cp('../../bin/*', '../release/src/cordova-'+VERSION);
+
+
+//git clone & checkout version
+function prep(){
+    tracker = 0;
+    for(key in platformDict){
+        shjs.echo('Cloning ' + key);
+        shjs.exec("git clone "+platformDict[key][0]+" && cd "+platformDict[key][1]+" && git fetch --tags && git checkout "+VERSION, {async:true, silent:true}, function(e, stdout, stderr) {
+            tracker +=1;
+            if (tracker == repoCount){
+                repoZip();
+            }
+    	});   
     }
 }
 
-queueCommand("rm -rf temp && mkdir temp && cd temp && mkdir repositories && mkdir release");
-queueCommand("cd temp/release && mkdir src && mkdir src/cordova-"+VERSION);
-
-//ios
-if (PLATFORM === "all" || PLATFORM === "ios") {
-    queueCommand("echo 'Cloning iOS'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+ios+" && cd "+iosdir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + iosdir + " && git archive --format zip -o " + releaseSrcDir+"/"+iosdir+".zip "+VERSION);
-}
-
-//blackberry
-if (PLATFORM === "all" || PLATFORM === "blackberry") {
-    queueCommand("echo 'Cloning BlackBerry'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+blackberry+" && cd "+blackberrydir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + blackberrydir + " && git archive --format zip -o " + releaseSrcDir+"/"+blackberrydir+".zip "+VERSION);
-}
-
-//android
-if (PLATFORM === "all" || PLATFORM === "android") {
-    queueCommand("echo 'Cloning Android'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+android+" && cd "+androiddir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + androiddir + " && git archive --format zip -o " + releaseSrcDir+"/"+androiddir+".zip "+VERSION);
-}
-
-//windows 
-if (PLATFORM === "all" || PLATFORM === "windows") {
-    queueCommand("echo 'Cloning Windows Phone'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+windows+" && cd "+windowsdir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + windowsdir + " && git archive --format zip -o " + releaseSrcDir+"/"+windowsdir+".zip "+VERSION);
-}
-
-//windows phone
-if (PLATFORM === "all" || PLATFORM === "wp") {
-    queueCommand("echo 'Cloning Windows Phone'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+windowsph+" && cd "+windowsphdir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + windowsphdir + " && git archive --format zip -o " + releaseSrcDir+"/"+windowsphdir+".zip "+VERSION);
-}
-
-//webos
-if (PLATFORM === "all" || PLATFORM === "webos") {
-    queueCommand("echo 'Cloning WebOS'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+webos+" && cd "+webosdir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + webosdir + " && git archive --format zip -o " + releaseSrcDir+"/"+webosdir+".zip "+VERSION);
-}
-
-//bada
-if (PLATFORM === "all" || PLATFORM === "bada") {
-    queueCommand("echo 'Cloning Bada'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+bada+" && cd "+badadir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + badadir + " && git archive --format zip -o " + releaseSrcDir+"/"+badadir+".zip "+VERSION);
-}
-
-//badaWac
-if (PLATFORM === "all" || PLATFORM === "badaWac") {
-    queueCommand("echo 'Cloning BadaWac'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+badaWac+" && cd "+badaWacdir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + badaWacdir + " && git archive --format zip -o " + releaseSrcDir+"/"+badaWacdir+".zip "+VERSION);
-}
-
-//docs
-if (PLATFORM === "all" || PLATFORM === "docs") {
-    queueCommand("echo 'Cloning Documentation'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+docs+" && cd "+docsdir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + docsdir + " && git archive --format zip -o " + releaseSrcDir+"/"+docsdir+".zip "+VERSION);
-}
-
-//cordovajs
-if (PLATFORM === "all" || PLATFORM === "cordovajs") {
-    queueCommand("echo 'Cloning Cordova JS'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+cordovajs+" && cd "+cordovajsdir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + cordovajsdir + " && git archive --format zip -o " + releaseSrcDir+"/"+cordovajsdir+".zip "+VERSION);
-}
-
-//tizen
-if (PLATFORM === "all" || PLATFORM === "tizen") {
-    queueCommand("echo 'Cloning Tizen'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+tizen+" && cd "+tizendir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + tizendir + " && git archive --format zip -o " + releaseSrcDir+"/"+tizendir+".zip "+VERSION);
-}
-
-//qt
-if (PLATFORM === "all" || PLATFORM === "qt") {
-    queueCommand("echo 'Cloning QT'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+qt+" && cd "+qtdir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + qtdir + " && git archive --format zip -o " + releaseSrcDir+"/"+qtdir+".zip "+VERSION);
-}
-
-//mac
-if (PLATFORM === "all" || PLATFORM === "mac") {
-    queueCommand("echo 'Cloning Mac'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+mac+" && cd "+macdir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + macdir + " && git archive --format zip -o " + releaseSrcDir+"/"+macdir+".zip "+VERSION);
-}
-
-//mobile spec
-if (PLATFORM === "all" || PLATFORM === "mobilespec") {
-    queueCommand("echo 'Cloning mobile spec'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+mobilespec+" && cd "+mobilespecdir+" && git fetch --tags && git checkout "+VERSION);
-    queueCommand("cd " + tempRepoDir + " && cd " + mobilespecdir + " && git archive --format zip -o " + releaseSrcDir+"/"+mobilespecdir+".zip "+VERSION);
-}
-
-//hello world app
-if (PLATFORM === "all" || PLATFORM === "helloworld") {
-    queueCommand("echo 'Cloning hello world app'");
-    queueCommand("cd " + tempRepoDir + " && git clone "+helloworld+" && cd "+helloworlddir+" && git fetch --tags && git checkout "+VERSION);
-	queueCommand("cd " + tempRepoDir + " && cd " + helloworlddir + " && git archive --format zip -o " + releaseSrcDir+"/"+helloworlddir+".zip "+VERSION);
+//zip repos into release directory
+function repoZip(){
+    tracker = 0;
+    for(key in platformDict){
+        shjs.exec("cd " + platformDict[key][1] + " && git archive --format zip -o " + releaseSrcDir+"/"+platformDict[key][1]+".zip "+VERSION, {async:true}, function(){
+            tracker += 1;
+            if (tracker == repoCount){
+                changelog();
+            }
+        });
+    }
 }
 
-// keys into top level directory
-queueCommand("echo 'Moving KEYS file to release'");
-queueCommand("cp KEYS temp/release/KEYS")
-
-// notice, license, readme, disclaimer file to be put into official release artifact
-queueCommand("echo 'Moving notice, license, readme, and disclaimer files to release artifact'");
-queueCommand("cp bin/README.md temp/release/src/cordova-"+VERSION+"/README.MD")
-queueCommand("cp bin/NOTICE temp/release/src/cordova-"+VERSION+"/NOTICE");
-queueCommand("cp bin/LICENSE temp/release/src/cordova-"+VERSION+"/LICENSE");
-queueCommand("cp bin/DISCLAIMER temp/release/src/cordova-"+VERSION+"/DISCLAIMER");
+//generates the changelog
+function changelog(){
+    //keeps track of directoires of created changelogs
+    var tempArray = []
+    if (oldVer != undefined){
+        exec('cd ../release/src/cordova-'+VERSION+' && echo "CHANGELOG" > changelog');
+        tempArray.push('../release/src/cordova-'+VERSION+'/changelog');
+        tracker = 0;
+        for(key in platformDict){
+            tempArray.push(platformDict[key][1]+'/changelog');
+            exec("cd "+platformDict[key][1]+" && echo '\n"+key+" \n---\n' > changelog && git log --format='%h %s' "+oldVer+".."+VERSION+" >> changelog", function(){
+                tracker +=1
+                if (tracker == repoCount){
+                    //concatenate all changelogs to one changelog 
+                    shjs.cat(tempArray).to('../release/src/cordova-'+VERSION+'/changelog');
+                    signZip();
+                }
+            });
+        }
+    }
+}   
 
-if (oldVer != undefined){
-	queueCommand("echo iOS")
-	queueCommand("cd temp/release/src/cordova-"+VERSION+"/ && touch changelog && echo 'CHANGELOG' > changelog")
-	queueCommand("echo '\niOS \n---\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+iosdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo BlackBerry")
-	queueCommand("echo '\nBlackBerry \n----------\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+blackberrydir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo ANDROID")
-	queueCommand("echo '\nAndroid \n-------\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+androiddir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo WINDOWS")
-	queueCommand("echo '\nWindows \n-------------\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+windowsdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo WINDOWS PHONE 7")
-	queueCommand("echo '\nWindows Phone 7 \n-------------\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+windowsphdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo WEBOS")
-	queueCommand("echo '\nWebOS \n-----\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+webosdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo BADA")
-	queueCommand("echo '\nBada \n----\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+badadir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo BADAWAC")
-	queueCommand("echo '\nBadaWac \n-------\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+badaWacdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo TIZEN")
-	queueCommand("echo '\nTizen \n-----\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+tizendir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo MAC")
-	queueCommand("echo '\nMac \n---\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+macdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
-	queueCommand("echo QT")
-	queueCommand("echo '\nQt \n--\n' >> temp/release/src/cordova-"+VERSION+"/changelog")
-	queueCommand("cd " + tempRepoDir + "/"+qtdir+" && git log --format='%h %s' "+oldVer+".."+VERSION+" >> "+releaseSrcDir+"/changelog")
+// zip and sign cordova release folder
+function signZip(){
+    shjs.echo('Zipping and signing src');
+    shjs.exec("cd ../release/src && zip -rq "+ cordovaSrcZip +" * && gpg --armor --output "+cordovaSrcAsc+" --detach-sig "+cordovaSrcZip+" && gpg --print-md MD5 "+cordovaSrcZip+" > " + cordovaSrcMd5 +" && gpg --print-md SHA512 " + cordovaSrcZip + " > " + cordovaSrcSha, {async:true}, function(){
+        shjs.echo("Created temp/release/src/"+cordovaSrcZip+" with corresponding asc, md5, and sha files.");
+    });   
 }
 
-// zip and sign bin/src/doc folders
-var cordovaSrcZip = "cordova-"+VERSION+"-incubating-src.zip";
-var cordovaSrcAsc = cordovaSrcZip+".asc";
-var cordovaSrcMd5 = cordovaSrcZip+".md5";
-var cordovaSrcSha = cordovaSrcZip+".sha";
-
-// remove git files before we zip
-queueCommand("echo 'Cleaning up .git files from repositories before zipping em'");
-queueCommand("cd temp/release/src/cordova-"+VERSION+" && find `pwd` -name .git -type d -print0 | xargs -0 rm -r");
-queueCommand("cd temp/release/src/cordova-"+VERSION+" && find `pwd` -name .git* -type f -print0 | xargs -0 rm -r");
-queueCommand("cd temp/ && find `pwd` -name .DS_Store | xargs rm -r");
-
-queueCommand("echo 'Zipping and signing src'");
-queueCommand("cd temp/release/src && zip -rq "+ cordovaSrcZip +" * && gpg --armor --output "+cordovaSrcAsc+" --detach-sig "+cordovaSrcZip+" && gpg --print-md MD5 "+cordovaSrcZip+" > " + cordovaSrcMd5 +" && gpg --print-md SHA512 " + cordovaSrcZip + " > " + cordovaSrcSha);
-queueCommand("echo Created temp/release/src/"+cordovaSrcZip+" with corresponding asc, md5, and sha files.");
-
-/* clean up
-queueCommand("echo 'Final clean up'");
-queueCommand("cd temp/release/bin && ls | grep -v "+cordovaBinZip+" | xargs rm -r");
-if (PLATFORM === "all" || PLATFORM === "docs") {
-	queueCommand("cd temp/release/doc && ls | grep -v "+cordovaDocZip+" | xargs rm -r");
-}
-queueCommand("cd temp/release/src && ls | grep -v "+cordovaSrcZip+" | xargs rm -r");
-*/
-executeCommands(function(){
-	exec("say DONE", function(e, stdout, stderr) {
-	});
-});
+prep();

http://git-wip-us.apache.org/repos/asf/incubator-cordova-coho/blob/1ba36339/package.json
----------------------------------------------------------------------
diff --git a/package.json b/package.json
index deee5c2..7bb630b 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,8 @@
   },
   "devDependencies": {
     "coffee-script": ">=1.2.0",
-    "nodeunit": "0.7.4"
+    "nodeunit": "0.7.4",
+    "shelljs": "0.0.8"
   },
   "scripts": {
     "start": "./coho all 2.2.0 2.1.0",