diff --git a/tasks/build_task.js b/tasks/build_task.js index 0ca987ddf38..364c3dc797c 100644 --- a/tasks/build_task.js +++ b/tasks/build_task.js @@ -11,6 +11,7 @@ module.exports = function(grunt) { 'copy:public_to_gen', 'typescript:build', 'karma:test', + 'phantomjs', 'css', 'htmlmin:build', 'ngtemplates', diff --git a/tasks/default_task.js b/tasks/default_task.js index 03f1b667941..8c11631d0e4 100644 --- a/tasks/default_task.js +++ b/tasks/default_task.js @@ -9,6 +9,7 @@ module.exports = function(grunt) { 'tslint', 'clean:gen', 'copy:public_to_gen', + 'phantomjs', 'css', 'typescript:build' ]); diff --git a/tasks/options/phantomjs.js b/tasks/options/phantomjs.js new file mode 100644 index 00000000000..ee5aa996d1d --- /dev/null +++ b/tasks/options/phantomjs.js @@ -0,0 +1,33 @@ +module.exports = function(config,grunt) { + 'use strict'; + + grunt.registerTask('phantomjs', 'Copy phantomjs binary from node', function() { + + var dest = './vendor/phantomjs/phantomjs'; + var confDir = './node_modules/karma-phantomjs-launcher/node_modules/phantomjs/lib/' + + if (!grunt.file.exists(dest)){ + + var m=grunt.file.read(confDir+"location.js") + var src=/= \"([^\"]*)\"/.exec(m)[1]; + + if (!grunt.file.isPathAbsolute(src)) { + src = confDir+src; + } + + var exec = require('child_process').execFileSync; + + try { + var ph=exec(src,['-v'], { stdio: 'ignore' }); + grunt.verbose.writeln('Using '+ src); + grunt.file.copy(src, dest, { encoding: null }); + } catch (err) { + grunt.verbose.writeln(err); + grunt.fail.warn('No working Phantomjs binary available') + } + + } else { + grunt.log.writeln('Phantomjs already imported from node'); + } + }); +}; diff --git a/vendor/phantomjs/phantomjs b/vendor/phantomjs/phantomjs deleted file mode 100755 index e249c26674d..00000000000 Binary files a/vendor/phantomjs/phantomjs and /dev/null differ