| /* |
| Copyright (C) 2014 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Redistribution and use in source and binary forms, with or without |
| modification, are permitted provided that the following conditions are met: |
| |
| * Redistributions of source code must retain the above copyright |
| notice, this list of conditions and the following disclaimer. |
| * Redistributions in binary form must reproduce the above copyright |
| notice, this list of conditions and the following disclaimer in the |
| documentation and/or other materials provided with the distribution. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' |
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY |
| DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
| THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| */ |
| |
| 'use strict'; |
| |
| var gulp = require('gulp'), |
| git = require('gulp-git'), |
| bump = require('gulp-bump'), |
| filter = require('gulp-filter'), |
| tagVersion = require('gulp-tag-version'); |
| |
| var TEST = [ 'test/*.js' ]; |
| var POWERED = [ 'powered-test/*.js' ]; |
| var SOURCE = [ 'src/**/*.js' ]; |
| |
| /** |
| * Bumping version number and tagging the repository with it. |
| * Please read http://semver.org/ |
| * |
| * You can use the commands |
| * |
| * gulp patch # makes v0.1.0 -> v0.1.1 |
| * gulp feature # makes v0.1.1 -> v0.2.0 |
| * gulp release # makes v0.2.1 -> v1.0.0 |
| * |
| * To bump the version numbers accordingly after you did a patch, |
| * introduced a feature or made a backwards-incompatible release. |
| */ |
| |
| function inc(importance) { |
| // get all the files to bump version in |
| return gulp.src(['./package.json']) |
| // bump the version number in those files |
| .pipe(bump({type: importance})) |
| // save it back to filesystem |
| .pipe(gulp.dest('./')) |
| // commit the changed version number |
| .pipe(git.commit('Bumps package version')) |
| // read only one file to get the version number |
| .pipe(filter('package.json')) |
| // **tag it in the repository** |
| .pipe(tagVersion({ |
| prefix: '' |
| })); |
| } |
| |
| gulp.task('patch', [ ], function () { return inc('patch'); }) |
| gulp.task('minor', [ ], function () { return inc('minor'); }) |
| gulp.task('major', [ ], function () { return inc('major'); }) |