Merge pull request #13 from maraoz/master

add ability to release major, minor, or patch versions
This commit is contained in:
Yemel Jardi 2015-01-21 14:15:27 -03:00
commit 96d5d05002
2 changed files with 34 additions and 19 deletions

View File

@ -37,6 +37,7 @@ var jshint = require('gulp-jshint');
var mocha = require('gulp-mocha'); var mocha = require('gulp-mocha');
var rename = require('gulp-rename'); var rename = require('gulp-rename');
var runsequence = require('run-sequence'); var runsequence = require('run-sequence');
runsequence.use(gulp);
var shell = require('gulp-shell'); var shell = require('gulp-shell');
var uglify = require('gulp-uglify'); var uglify = require('gulp-uglify');
var bump = require('gulp-bump'); var bump = require('gulp-bump');
@ -203,13 +204,13 @@ function startGulp(name, opts) {
releaseFiles.push('./bower.json'); releaseFiles.push('./bower.json');
} }
gulp.task('release:bump', function() { var bump_version = function(importance) {
return gulp.src(releaseFiles) return gulp.src(releaseFiles)
.pipe(bump({ .pipe(bump({
type: 'patch' type: importance
})) }))
.pipe(gulp.dest('./')); .pipe(gulp.dest('./'));
}); };
gulp.task('release:checkout-releases', function(cb) { gulp.task('release:checkout-releases', function(cb) {
git.checkout('releases', { git.checkout('releases', {
@ -282,37 +283,51 @@ function startGulp(name, opts) {
'npm publish' 'npm publish'
])); ]));
// requires https://hub.github.com/ // requires https://hub.github.com/
gulp.task('release', function(cb) { var release = function(importance, cb) {
runsequence( var bumper = 'release:bump:' + importance;
return runsequence(
// Checkout the `releases` branch // Checkout the `releases` branch
['release:checkout-releases'], 'release:checkout-releases',
// Merge the master branch // Merge the master branch
['release:merge-master'], 'release:merge-master',
// Run npm install // Run npm install
['release:install'], 'release:install',
// Run tests with gulp test // Run tests with gulp test
['test'], 'test',
// Update package.json and bower.json // Update package.json and bower.json
['release:bump'], bumper,
// Commit // Commit
['release:build-commit'], 'release:build-commit',
// Run git push bitpay $VERSION // Run git push bitpay $VERSION
['release:push-tag'], 'release:push-tag',
// Push to releases branch // Push to releases branch
['release:push-releases'], 'release:push-releases',
// Run npm publish // Run npm publish
['release:publish'], 'release:publish',
// Checkout the `master` branch // Checkout the `master` branch
['release:checkout-master'], 'release:checkout-master',
// Bump package.json and bower.json, again // Bump package.json and bower.json, again
['release:bump'], bumper,
// Version commit with no binary files to master // Version commit with no binary files to master
['release:version-commit'], 'release:version-commit',
// Push to master // Push to master
['release:push'], 'release:push',
cb); cb);
};
['patch', 'minor', 'major'].forEach(function(importance) {
gulp.task('release:' + importance, function(cb) {
release(importance, cb);
});
gulp.task('release:bump:' + importance, function() {
bump_version(importance);
});
}); });
gulp.task('release', ['release:patch']);
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "bitcore-build", "name": "bitcore-build",
"version": "0.4.2", "version": "0.5.0",
"description": "A helper for common tasks to build bitcore modules'", "description": "A helper for common tasks to build bitcore modules'",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {