@@ -131,6 +131,22 @@ module.exports = function(grunt) {
131
131
}
132
132
} ,
133
133
134
+ bump : {
135
+ options : {
136
+ files : [ 'package.json' ] ,
137
+ updateConfigs : [ 'pkg' ] ,
138
+ commit : true ,
139
+ commitMessage : 'Release v%VERSION%' ,
140
+ commitFiles : [ 'package.json' , 'dist/' ] , // '-a' for all files
141
+ createTag : true ,
142
+ tagName : 'v%VERSION%' ,
143
+ tagMessage : 'Version %VERSION%' ,
144
+ push : true ,
145
+ pushTo : 'origin' ,
146
+ gitDescribeOptions : '--tags --always --abbrev=1 --dirty=-d' // options to use with '$ git describe'
147
+ }
148
+ } ,
149
+
134
150
watch : {
135
151
files : [ 'libs/*.js' , 'src/*.js' , 'Gruntfile.js' ] ,
136
152
tasks : [ 'concat' , 'uglify' , 'cssmin' ]
@@ -144,8 +160,16 @@ module.exports = function(grunt) {
144
160
grunt . loadNpmTasks ( 'grunt-contrib-uglify' ) ;
145
161
grunt . loadNpmTasks ( 'grunt-contrib-cssmin' ) ;
146
162
grunt . loadNpmTasks ( 'grunt-contrib-yuidoc' ) ;
163
+ grunt . loadNpmTasks ( 'grunt-bump' ) ;
147
164
148
165
// Default task.
149
- grunt . registerTask ( 'default' , [ 'jshint' , 'concat' , 'uglify' , 'cssmin' , 'yuidoc' ] ) ;
166
+ grunt . registerTask ( 'default' , [ 'jshint' , 'concat' , 'uglify' , 'cssmin' ] ) ;
167
+ grunt . registerTask ( 'build' , [ 'default' ] ) ;
168
+ grunt . registerTask ( 'docs' , [ 'yuidoc' ] ) ;
169
+
170
+ grunt . registerTask ( 'release' , [ 'build' , 'bump-only:patch' , 'build' , 'docs' , 'bump-commit' ] ) ;
171
+ grunt . registerTask ( 'release:minor' , [ 'build' , 'bump-only:minor' , 'build' , 'docs' , 'bump-commit' ] ) ;
172
+ grunt . registerTask ( 'release:major' , [ 'build' , 'bump-only:major' , 'build' , 'docs' , 'bump-commit' ] ) ;
173
+ grunt . registerTask ( 'release:git' , [ 'build' , 'bump-only:git' , 'build' , 'docs' , 'bump-commit' ] ) ;
150
174
151
175
} ;
0 commit comments