diff --git a/package.json b/package.json index 0cf1629d9bd..4baea4d854a 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,8 @@ }, "license": "Apache License", "dependencies": { - "grunt-contrib-concat": "^0.4.0" + "grunt-contrib-concat": "^0.4.0", + "grunt-filerev": "^0.2.1", + "grunt-usemin": "^2.1.1" } } diff --git a/tasks/build_task.js b/tasks/build_task.js index 70d3ae12f4e..134e340ef69 100644 --- a/tasks/build_task.js +++ b/tasks/build_task.js @@ -6,11 +6,13 @@ module.exports = function(grunt) { 'jshint:tests', 'clean:on_start', 'less:src', + 'concat:css', 'copy:everything_but_less_to_temp', 'htmlmin:build', 'cssmin:build', 'ngmin:build', 'requirejs:build', + 'filerev', 'clean:temp', 'build:write_revision', 'uglify:dest' @@ -19,6 +21,7 @@ module.exports = function(grunt) { // run a string replacement on the require config, using the latest revision number as the cache buster grunt.registerTask('build:write_revision', function() { grunt.event.once('git-describe', function (desc) { + grunt.config('string-replace.config', { files: { '<%= destDir %>/app/components/require.config.js': '<%= destDir %>/app/components/require.config.js', @@ -41,4 +44,4 @@ module.exports = function(grunt) { }); grunt.task.run('git-describe'); }); -}; \ No newline at end of file +}; diff --git a/tasks/options/filerev.js b/tasks/options/filerev.js new file mode 100644 index 00000000000..dd81c38a965 --- /dev/null +++ b/tasks/options/filerev.js @@ -0,0 +1,13 @@ +module.exports = function(config) { + return { + options: { + encoding: 'utf8', + algorithm: 'md5', + length: 8, + }, + css: { + src: '<%= srcDir %>/css/default.min.css', + dest: '<%= destDir %>/css' + } + }; +}; diff --git a/tasks/options/usemin.js b/tasks/options/usemin.js new file mode 100644 index 00000000000..154969bec32 --- /dev/null +++ b/tasks/options/usemin.js @@ -0,0 +1,8 @@ +module.exports = function(config) { + return { + html: '<%= destDir %>/index.html', + options: { + assetsDirs: ['<%= destDir %>/css/'] + } + }; +}; diff --git a/tasks/options/useminPrepare.js b/tasks/options/useminPrepare.js new file mode 100644 index 00000000000..23bab7e3f22 --- /dev/null +++ b/tasks/options/useminPrepare.js @@ -0,0 +1,5 @@ +module.exports = function(config) { + return { + html: 'tmp/index.html', + }; +};