grunt-next-version
Version:
Change version numbers in files, including the option to change the revision number to the number of Git commits.
125 lines (90 loc) • 3.35 kB
Markdown
# grunt-next-version
> Change version numbers in files, including the option to change the revision number to the number of Git commits.
## Getting Started
This plugin requires Grunt `~0.4.1`
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-next-version --save-dev
```
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-next-version');
```
## The "next_version" task
This task changes version numbers in files, including the option to change the revision number to the number of Git commits.
The task can make use of the `git` command and expects it to be globally installed.
### Overview
In your project's Gruntfile, add a section named `next_version` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
next_version: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
},
},
})
```
### Options
#### options.major
Type: `Boolean|Number`
Default value: `false`
#### options.minor
Type: `Boolean|Number`
Default value: `false`
#### options.patch
Type: `Boolean|Number`
Default value: `true`
#### options.version
Type: `String`
#### options.git
Type: `Boolean`
Default value: `false`
Appends a build number based on the number of GIT commits, ie: v1.2.3+897.
#### options.regex
Type: `Regexp|Regexp[]`
Default value: `/\d+\.\d+\.\d+/`
### Command line options
Versioning options can be used by CLI, which is very useful for bumping majors and minors. The following overrides the setup from the gruntfile and sets the major version of all files:
`grunt next_version --major=3`
Other options are:
`grunt next_version --minor=3`
`grunt next_version --patch=3`
`grunt next_version --vs="2.3.4"`
### Usage Examples
#### Default Options
In this example, the default options are used to do something with whatever. So if the `testing` file has the content `Testing` and the `123` file had the content `1 2 3`, the generated result would be `Testing, 1 2 3.`
```js
grunt.initConfig({
next_version: {
files: ['src/testing/file0.js']
}
})
```
```js
/*
* Example
* @version 1.0.1
*/
(function(){
'use strict';
return {};
})();
```
#### Custom Options
In this example, custom options are used to do something else with whatever else. So if the `testing` file has the content `Testing` and the `123` file had the content `1 2 3`, the generated result in this case would be `Testing: 1 2 3 !!!`
```js
grunt.initConfig({
next_version: {
options: {
},
src: ['src/testing', 'src/123']
}
})
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## Release History
_(Nothing yet)_