grafana/tasks/build_task.js
2015-03-13 11:11:31 +01:00

76 lines
1.8 KiB
JavaScript

module.exports = function(grunt) {
"use strict";
// Concat and Minify the src directory into dist
grunt.registerTask('build', [
'jshint:source',
'jshint:tests',
'jscs',
'karma:test',
'clean:on_start',
'less:src',
'concat:cssDark',
'concat:cssLight',
'copy:everything_but_less_to_temp',
'htmlmin:build',
'ngtemplates',
'cssmin:build',
'ngAnnotate:build',
'requirejs:build',
'concat:js',
'filerev',
'remapFilerev',
'usemin',
'clean:temp',
'uglify:dest'
]);
// task to add [[.AppSubUrl]] to reved path
grunt.registerTask('remapFilerev', function(){
var root = grunt.config().destDir;
var summary = grunt.filerev.summary;
var fixed = {};
for(var key in summary){
if(summary.hasOwnProperty(key)){
var orig = key.replace(root, root+'/[[.AppSubUrl]]');
var revved = summary[key].replace(root, root+'/[[.AppSubUrl]]');
fixed[orig] = revved;
}
}
grunt.filerev.summary = fixed;
});
grunt.registerTask('build-post-process', function() {
grunt.config('copy.dist_to_tmp', {
expand: true,
cwd: '<%= destDir %>',
src: '**/*',
dest: '<%= tempDir %>/public/',
});
grunt.config('clean.dest_dir', ['<%= destDir %>']);
grunt.config('copy.backend_bin', {
cwd: 'bin',
expand: true,
src: ['grafana'],
options: { mode: true},
dest: '<%= tempDir %>'
});
grunt.config('copy.backend_files', {
expand: true,
src: ['conf/defaults.ini', 'conf/sample.ini', 'vendor/**/*', 'scripts/*'],
options: { mode: true},
dest: '<%= tempDir %>'
});
grunt.task.run('copy:dist_to_tmp');
grunt.task.run('clean:dest_dir');
grunt.task.run('copy:backend_bin');
grunt.task.run('copy:backend_files');
});
};