From a808e676b3acde3d2e6d05f338135bf2741d4810 Mon Sep 17 00:00:00 2001 From: Daniel Garcia Moreno Date: Mon, 16 Nov 2015 18:07:12 +0100 Subject: [PATCH] Checking avConfig.js existence and version --- Gruntfile.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Gruntfile.js b/Gruntfile.js index b3d05dde..96e1f10d 100755 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,6 +2,7 @@ 'use strict'; var pkg = require('./package.json'); +var AV_CONFIG_VERSION = '3.1.0'; //Using exclusion patterns slows down Grunt significantly //instead of creating a set of patterns like '**/*.js' and '!**/node_modules/**' @@ -35,6 +36,32 @@ module.exports = function (grunt) { // load all grunt tasks require('load-grunt-tasks')(grunt); + // custom grunt task to check avConfig.js + grunt.registerTask('check_config', function() { + var fs = require('fs'); + var done = this.async(); + grunt.log.ok('Checking avConfig.js...'); + var conf = fs.readFile('avConfig.js', function(err, data) { + if (err) { + grunt.log.error('No avConfig.js file found'); + done(false); + } else { + var match = data.toString().match(/AV_CONFIG_VERSION = [\'\"]([\w\.]*)[\'\"];/); + if (!match) { + grunt.log.error('Invalid avConfig.js version'); + } else { + var v = match[1]; + if (v === AV_CONFIG_VERSION) { + return done(); + } else { + grunt.log.error('Invalid avConfig.js version: ' + v); + } + } + done(false); + } + }); + }); + // Project configuration. grunt.initConfig({ connect: { @@ -298,7 +325,7 @@ module.exports = function (grunt) { }); - grunt.registerTask('build',['jshint','clean:before','less','autoprefixer','dom_munger','ngtemplates','cssmin','concat','merge-json','ngAnnotate','uglify','copy','htmlmin','imagemin','clean:after']); + grunt.registerTask('build',['check_config', 'jshint','clean:before','less','autoprefixer','dom_munger','ngtemplates','cssmin','concat','merge-json','ngAnnotate','uglify','copy','htmlmin','imagemin','clean:after']); grunt.registerTask('serve', ['dom_munger:read','jshint','connect', 'watch']); grunt.registerTask('test',['dom_munger:read','karma:all_tests']);