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) {