grafana/tasks/build_task.js
2015-02-05 12:27:58 +01:00

69 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',
'karma:test',
'clean:on_start',
'less:src',
'concat:cssDark',
'concat:cssLight',
'copy:everything_but_less_to_temp',
'htmlmin:build',
'ngtemplates',
'cssmin:build',
'build:grafanaVersion',
'ngAnnotate:build',
'requirejs:build',
'concat:js',
'filerev',
'usemin',
'clean:temp',
//'uglify:dest'
]);
grunt.registerTask('build-post-process', function() {
var mode = grunt.config.get('mode');
if (mode === 'backend') {
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/*', 'vendor/**/*', '!conf/grafana.dev.ini'],
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');
}
});
grunt.registerTask('build:grafanaVersion', function() {
grunt.config('string-replace.config', {
files: {
'<%= tempDir %>/app/app.js': '<%= tempDir %>/app/app.js'
},
options: {
replacements: [{ pattern: /@grafanaVersion@/g, replacement: '<%= pkg.version %>' }]
}
});
grunt.task.run('string-replace:config');
});
};