|
1 | 1 | 'use strict'; |
2 | 2 |
|
3 | | -var semver = require('semver'); |
4 | 3 | var shell = require('shelljs'); |
5 | 4 | var child_process = require('child_process'); |
6 | 5 | var Q = require('q'); |
@@ -28,15 +27,26 @@ module.exports = function (grunt) { |
28 | 27 | }, |
29 | 28 | release: { |
30 | 29 | options: { |
| 30 | + bump: false, // remove after 3.0.0 release |
31 | 31 | commitMessage: '<%= version %>', |
32 | | - tagName: 'v<%= version %>', |
33 | | - bump: false, // we have our own bump |
34 | | - file: 'package.json' |
| 32 | + tagName: '<%= version %>', |
| 33 | + file: 'package.json', |
| 34 | + afterBump: ['updateFixtures:deps', 'commitNgFullstackDeps'], |
| 35 | + beforeRelease: ['stage'], |
| 36 | + push: false, |
| 37 | + pushTags: false, |
| 38 | + npm: false |
| 39 | + } |
| 40 | + }, |
| 41 | + commitNgFullstackDeps: { |
| 42 | + options: { |
| 43 | + cwd: 'angular-fullstack-deps', |
| 44 | + files: ['package.json', 'bower.json'] |
35 | 45 | } |
36 | 46 | }, |
37 | 47 | stage: { |
38 | 48 | options: { |
39 | | - files: ['CHANGELOG.md'] |
| 49 | + files: ['CHANGELOG.md', 'angular-fullstack-deps'] |
40 | 50 | } |
41 | 51 | }, |
42 | 52 | buildcontrol: { |
@@ -103,32 +113,34 @@ module.exports = function (grunt) { |
103 | 113 | } |
104 | 114 | }); |
105 | 115 |
|
106 | | - grunt.registerTask('bump', 'bump manifest version', function (type) { |
107 | | - var options = this.options({ |
108 | | - file: grunt.config('pkgFile') || 'package.json' |
109 | | - }); |
110 | | - |
111 | | - function setup(file, type) { |
112 | | - var pkg = grunt.file.readJSON(file); |
113 | | - var newVersion = pkg.version = semver.inc(pkg.version, type || 'patch'); |
114 | | - return { |
115 | | - file: file, |
116 | | - pkg: pkg, |
117 | | - newVersion: newVersion |
118 | | - }; |
119 | | - } |
120 | | - |
121 | | - var config = setup(options.file, type); |
122 | | - grunt.file.write(config.file, JSON.stringify(config.pkg, null, ' ') + '\n'); |
123 | | - grunt.log.ok('Version bumped to ' + config.newVersion); |
124 | | - }); |
125 | | - |
126 | 116 | grunt.registerTask('stage', 'git add files before running the release task', function () { |
127 | | - var files = this.options().files; |
| 117 | + var files = grunt.config('stage.options').files, done = this.async(); |
128 | 118 | grunt.util.spawn({ |
129 | 119 | cmd: process.platform === 'win32' ? 'git.cmd' : 'git', |
130 | 120 | args: ['add'].concat(files) |
131 | | - }, grunt.task.current.async()); |
| 121 | + }, done); |
| 122 | + }); |
| 123 | + |
| 124 | + grunt.registerTask('commitNgFullstackDeps', function() { |
| 125 | + grunt.config.requires( |
| 126 | + 'commitNgFullstackDeps.options.files', |
| 127 | + 'commitNgFullstackDeps.options.cwd' |
| 128 | + ); |
| 129 | + var ops = grunt.config.get('commitNgFullstackDeps').options; |
| 130 | + var version = require('./package.json').version || 'NO VERSION SET'; |
| 131 | + if (Array.isArray(ops.files) && ops.files.length > 0) { |
| 132 | + var done = this.async(); |
| 133 | + var cwd = path.resolve(__dirname, ops.cwd); |
| 134 | + grunt.util.spawn({ |
| 135 | + cmd: process.platform === 'win32' ? 'git.cmd' : 'git', |
| 136 | + args: ['commit', '-m', version].concat(ops.files), |
| 137 | + opts: { |
| 138 | + cwd: cwd |
| 139 | + } |
| 140 | + }, done); |
| 141 | + } else { |
| 142 | + grunt.log.writeln('No files were commited'); |
| 143 | + } |
132 | 144 | }); |
133 | 145 |
|
134 | 146 | grunt.registerTask('generateDemo', 'generate demo', function () { |
|
0 commit comments