From 2debe0d5c506900d52b3cdfb80ed442b9f5d5d40 Mon Sep 17 00:00:00 2001 From: coderaiser Date: Tue, 18 Nov 2014 07:10:26 -0500 Subject: [PATCH] feature(cl) cl.getVersion -> cl --- gulp/cl.js | 33 ++++++++++++------------- gulp/tasks/changelog.js | 22 +++++------------ gulp/tasks/docs.js | 54 ++++++++++++++++++++--------------------- gulp/tasks/package.js | 13 ++++------ gulpfile.js | 11 ++++++++- 5 files changed, 63 insertions(+), 70 deletions(-) diff --git a/gulp/cl.js b/gulp/cl.js index a49dc741..fb1ca6e4 100644 --- a/gulp/cl.js +++ b/gulp/cl.js @@ -4,31 +4,30 @@ var DIR = '../', minor = require('minor'), Info = require(DIR + 'package'), + ERROR = Error('ERROR: version is missing. gulp package --v or --major --minor --patch'), + Version; - exports.getVersion = function() { - var versionNew, + module.exports = function(callback) { + var versionNew, error, argv = process.argv, length = argv.length - 1, last = process.argv[length], regExp = /^--(major|minor|patch)?/, match = last.match(regExp); - if (!Version && regExp.test(last)) { - if (match[1]) - versionNew = minor(match[1], Info.version); - else - versionNew = last.substr(3); - - Version = versionNew; - } + if (!Version) + if (!regExp.test(last)) { + error = ERROR; + } else { + if (match[1]) + versionNew = minor(match[1], Info.version); + else + versionNew = last.substr(3); + + Version = versionNew; + } - return Version; - }; - - exports.showVersionError = function() { - var msg = 'ERROR: version is missing. gulp package --v'; - - console.log(msg); + callback(error, Version); }; })(); diff --git a/gulp/tasks/changelog.js b/gulp/tasks/changelog.js index 90966bb3..e7c665fe 100644 --- a/gulp/tasks/changelog.js +++ b/gulp/tasks/changelog.js @@ -1,25 +1,15 @@ (function() { 'use strict'; - var DIR = '../../', - changelog = require('changelog-io'), - cl = require('../cl'), - Info = require(DIR + 'package'); + var changelog = require('changelog-io'), + cl = require('../cl'); - module.exports = function() { - var version = 'v' + Info.version, - versionNew = cl.getVersion(); - - if (versionNew) - versionNew = 'v' + versionNew; - else - versionNew = version + '?'; - - changelog(versionNew, function(error, msg) { + module.exports = function(callback) { + cl(function(error, versionNew) { if (error) - console.error(error.message); + callback(error); else - console.log(msg); + changelog(versionNew, callback); }); }; })(); diff --git a/gulp/tasks/docs.js b/gulp/tasks/docs.js index 5b988757..73bf7ee6 100644 --- a/gulp/tasks/docs.js +++ b/gulp/tasks/docs.js @@ -8,44 +8,42 @@ Util = require(DIR + 'lib/util'), Info = require(DIR + 'package'); - module.exports = function() { + module.exports = function(callback) { var history = 'Version history\n---------------\n', link = '//github.com/cloudcmd/archive/raw/master/cloudcmd', template = '- *{{ date }}*, ' + '**[v{{ version }}]' + '(' + link + '-v{{ version }}.zip)**\n', - version = Info.version, - versionNew = cl.getVersion(); + version = Info.version; - if (!versionNew) { - cl.showVersionError(); - } else { - replaceVersion('README.md', version, versionNew); - replaceVersion('HELP.md', version, versionNew, function() { - var historyNew = history + Util.render(template, { - date : Util.getShortDate, - version : versionNew + cl(function(error, versionNew) { + if (error) { + callback(error); + } else { + replaceVersion('README.md', version, versionNew, callback); + replaceVersion('HELP.md', version, versionNew, function() { + var historyNew = history + Util.render(template, { + date : Util.getShortDate, + version : versionNew + }); + + replaceVersion('HELP.md', history, historyNew, callback); }); - - replaceVersion('HELP.md', history, historyNew); - }); - } + } + }); }; function replaceVersion(name, version, versionNew, callback) { - fs.readFile(name, 'utf8', function(error, data) { - if (error) { - console.log(error); - } else { - data = data.replace(version, versionNew); - - fs.writeFile(name, data, function(error) { - var msg = 'done: ' + name; - - console.log(error || msg); - Util.exec(callback); + fs.readFile(name, 'utf8', function(error, data) { + if (error) + callback(error); + else + fs.writeFile( + name, + data.replace(version, versionNew), + function(error) { + callback(error, 'done: ' + name); }); - } - }); + }); } })(); diff --git a/gulp/tasks/package.js b/gulp/tasks/package.js index 56151be7..17662e4d 100644 --- a/gulp/tasks/package.js +++ b/gulp/tasks/package.js @@ -4,17 +4,14 @@ var version = require('version-io'), cl = require('../cl'); - module.exports = function() { - var versionNew = cl.getVersion(); - - if (!versionNew) - cl.showVersionError(); - else + module.exports = function(callback) { + cl(function(error, versionNew) { version(versionNew, function(error) { if (error) - console.error(error.message); + callback(error); else - console.log('package: done'); + callback(null, 'package: done'); }); + }); }; })(); diff --git a/gulpfile.js b/gulpfile.js index b530ebe4..d1c409fc 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -25,7 +25,16 @@ ]; ['changelog', 'docs', 'package'].forEach(function(name) { - gulp.task(name, require('./gulp/tasks/' + name)); + gulp.task(name, function() { + var task = require('./gulp/tasks/' + name); + + task(function(error, msg) { + if (error) + console.error(error.message); + else + console.log(msg); + }); + }.bind(null, name)); }); gulp.task('jshint', function() {