You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ag...@apache.org on 2014/04/24 21:17:19 UTC

[2/2] git commit: Unbreak the -r auto flag. Fix for-each command's arg handling

Unbreak the -r auto flag. Fix for-each command's arg handling


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

Branch: refs/heads/master
Commit: b8f3a0f9899e9543d9270e1031dd585105d382bf
Parents: 73630d2
Author: Andrew Grieve <ag...@chromium.org>
Authored: Thu Apr 24 15:14:04 2014 -0400
Committer: Andrew Grieve <ag...@chromium.org>
Committed: Thu Apr 24 15:16:51 2014 -0400

----------------------------------------------------------------------
 src/apputil.js         |  6 +++---
 src/cadance-release.js |  1 +
 src/for-each.js        |  9 +++++----
 src/main.js            | 16 ++++++++++------
 src/repoutil.js        | 14 +++++++-------
 5 files changed, 26 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b8f3a0f9/src/apputil.js
----------------------------------------------------------------------
diff --git a/src/apputil.js b/src/apputil.js
index 2c6d492..c172abb 100644
--- a/src/apputil.js
+++ b/src/apputil.js
@@ -21,14 +21,14 @@ var path = require('path');
 
 var origWorkingDir = process.cwd();
 
-exports.initWorkingDir = function() {
+exports.initWorkingDir = function(chdir) {
     var curDir = path.resolve(origWorkingDir);
-    var newDir = path.resolve(path.join(__dirname), '..', '..');
+    var newDir = chdir ? path.resolve(path.join(__dirname), '..', '..') : curDir;
     if (curDir != newDir) {
-        console.log('Running from ' + newDir);
         process.chdir(newDir);
         origWorkingDir = newDir;
     }
+    console.log('Running from ' + newDir);
 }
 
 exports.fatal = function() {

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b8f3a0f9/src/cadance-release.js
----------------------------------------------------------------------
diff --git a/src/cadance-release.js b/src/cadance-release.js
index b068bb7..8d8056f 100644
--- a/src/cadance-release.js
+++ b/src/cadance-release.js
@@ -208,6 +208,7 @@ exports.tagReleaseBranchCommand = function*(argv) {
                'Usage: $0 tag-release --version=2.8.0-rc1')
         .options('pretend', {
             desc: 'Don\'t actually run git commands, just print out what would be run.',
+            type: 'boolean'
          })
     );
     var repos = flagutil.computeReposFromFlag(argv.r);

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b8f3a0f9/src/for-each.js
----------------------------------------------------------------------
diff --git a/src/for-each.js b/src/for-each.js
index fcea16e..0ec6c71 100644
--- a/src/for-each.js
+++ b/src/for-each.js
@@ -23,13 +23,13 @@ var executil = require('./executil');
 var flagutil = require('./flagutil');
 var repoutil = require('./repoutil');
 
-module.exports = function*(argv) {
+module.exports = function*() {
     var opt = flagutil.registerRepoFlag(optimist)
     opt = flagutil.registerHelpFlag(opt);
     var argv = opt
         .usage('Performs the supplied shell command in each repo directory.\n' +
                '\n' +
-               'Usage: $0 foreach "shell command"')
+               'Usage: $0 for-each "shell command"')
         .argv;
 
     if (argv.h) {
@@ -37,9 +37,10 @@ module.exports = function*(argv) {
         process.exit(1);
     }
     var repos = flagutil.computeReposFromFlag(argv.r);
-    var cmd = argv._[1];
+    var cmd = [process.env['SHELL'] || 'sh', '-c', argv._[1]];
+
     yield repoutil.forEachRepo(repos, function*(repo) {
-         yield executil.execHelper(argv._.slice(1), false, true);
+         yield executil.execHelper(cmd, false, true);
     });
 }
 

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b8f3a0f9/src/main.js
----------------------------------------------------------------------
diff --git a/src/main.js b/src/main.js
index f69c37a..58d4ffa 100644
--- a/src/main.js
+++ b/src/main.js
@@ -108,6 +108,8 @@ module.exports = function() {
     repoCommands.forEach(addToCommandMap);
     releaseCommands.forEach(addToCommandMap);
     otherCommands.forEach(addToCommandMap);
+    // aliases:
+    commandMap['foreach'] = commandMap['for-each'];
 
     var usage = 'Usage: $0 command [options]\n\n';
     function addCommandUsage(cmd) {
@@ -124,18 +126,20 @@ module.exports = function() {
     usage += 'Some examples:\n';
     usage += '    ./cordova-coho/coho repo-clone -r plugins -r mobile-spec -r android -r ios -r cli\n';
     usage += '    ./cordova-coho/coho repo-update\n';
-    usage += '    ./cordova-coho/coho foreach -r plugins "git checkout master"\n';
-    usage += '    ./cordova-coho/coho foreach -r plugins "git clean -fd"\n';
+    usage += '    ./cordova-coho/coho for-each -r plugins "git checkout master"\n';
+    usage += '    ./cordova-coho/coho for-each -r plugins "git clean -fd"\n';
     usage += '    ./cordova-coho/coho last-week --me';
 
     var command;
     var argv = optimist
         .usage(usage)
+        .options('chdir', {
+            desc: 'Use --no-chdir to run in your CWD instead of the parent of cordova-coho/',
+            type: 'boolean',
+            default: true
+         })
         .check(function(argv) {
             command = argv._[0];
-            if (command == 'foreach') {
-                argv._[0] = command = 'for-each';
-            }
             if (!command) {
                 throw 'No command specified.';
             }
@@ -145,7 +149,7 @@ module.exports = function() {
         }).argv;
 
     // Change directory to be a sibling of coho.
-    apputil.initWorkingDir();
+    apputil.initWorkingDir(argv.chdir);
 
     var entry = commandMap[command].entryPoint;
     co(entry)();

http://git-wip-us.apache.org/repos/asf/cordova-coho/blob/b8f3a0f9/src/repoutil.js
----------------------------------------------------------------------
diff --git a/src/repoutil.js b/src/repoutil.js
index fad3067..6e6ce99 100644
--- a/src/repoutil.js
+++ b/src/repoutil.js
@@ -360,15 +360,8 @@ var otherRepos = [
 
 var allRepos = platformRepos.concat(nonPlatformRepos).concat(pluginRepos).concat(otherRepos);
 
-function computeExistingRepos() {
-    return allRepos.filter(function(repo) {
-        return fs.existsSync(repo.repoName);
-    });
-}
-
 var repoGroups = {
     'all': allRepos,
-    'auto': computeExistingRepos(),
     'platform': platformRepos,
     'plugins': pluginRepos,
     'active-platform': platformRepos.filter(function(r) { return !r.inactive }),
@@ -376,6 +369,13 @@ var repoGroups = {
 };
 repoGroups['cadence'] = repoGroups['active-platform'].concat([getRepoById('cli'), getRepoById('js'), getRepoById('mobile-spec'), getRepoById('app-hello-world'), getRepoById('docs')]);
 
+repoGroups.__defineGetter__('auto', function() {
+    return allRepos.filter(function(repo) {
+        return fs.existsSync(repo.repoName);
+    });
+});
+
+
 exports.repoGroups = repoGroups;
 
 function getRepoById(id, opt_repos) {