Install git-describe grunt plugin
npm install grunt-git-describe --save-dev
One the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-git-describe');
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
'git-describe': {
options: {
},
dist: {}
},
});
grunt.registerTask('saveRevision', function() {
grunt.event.once('git-describe', function (rev) {
grunt.option('gitRevision', rev.object);
});
grunt.task.run('git-describe');
});
grunt.registerTask('tag-revision', 'Tag the current build revision', function () {
grunt.task.requires('git-describe');
grunt.file.write('dist/version.json', JSON.stringify({
version: grunt.config('pkg.version'),
revision: grunt.option('gitRevision'),
date: grunt.template.today()
}, null, 2));
});
grunt.registerTask('version', ['saveRevision', 'tag-revision']);