0.1.1 • Published 8 years ago

grunt-gitrevision2 v0.1.1

Weekly downloads
1
License
-
Repository
github
Last release
8 years ago

grunt-gitrevision

Grunt task to add version and Git's revision information to your project files.

The idea is to use the current Git commit count as the revision number and combine it with the version string from your package.json.

We use the following command to determine Git's "revision" number:

git rev-list --count HEAD

Whenever a user/client comes back and tells you there is a bug in "revision" 1302 you could use the following Git alias:

[alias]
    show-rev-number = !sh -c 'git rev-list --reverse HEAD | nl | awk \"{ if(\\$1 == "$0") { print \\$2 }}\"'

Using git show-rev-number 1302 will print the hash for "revision" 1302

Getting Started

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-gitrevision --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-gitrevision');

The "gitrevision" task

Overview

In your project's Gruntfile, add a section named gitrevision to the data object passed into grunt.initConfig().

grunt.initConfig({
    gitrevision: {
        options: {
            prefix: '[^\\-]version[\'"]?\\s*[:=]\\s*[\'"]'
        },
        your_target: {
            files: [
                {
                    'tmp/testing.js': ['test/fixtures/testing.js']
                }
            ]
        },
    },
});

Options

options.versionPattern

Type: String Default value: '[^\\-]version[\'"]?\\s*[:=]\\s*[\'"]'

A string value representing a regular expression to identify the preceding part of the actual version information.

options.revisionPrefix

Type: String Default value: '-r'

A string value prefixing the revision number.

options.revisionSuffix

Type: String Default value: ''

A string value which should be appended to the revision information.

Usage Examples

In this example, the default options are used to replace the version part var version = '0'; from file test/fixtures/testing.js. So, if the input file contains the appropriate pattern the task will replace it with the actual version information and writes the new content to the specified output file tmp/testing.js.

gitrevision: {
    default_options: {
        files: [
            {
                'tmp/testing.js': ['test/fixtures/testing.js']
            }
        ]
    }
}

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.

License

MIT © Michael Wurster