Browse Source

fix(phantomjs binary): fixed PR #2832 so that it works on linux, now phantomjs based server side rendershould work on mac and linux, maybe even windows

Torkel Ödegaard 10 years ago
parent
commit
81a660eae4
2 changed files with 10 additions and 6 deletions
  1. 1 0
      .gitignore
  2. 9 6
      tasks/options/phantomjs.js

+ 1 - 0
.gitignore

@@ -6,6 +6,7 @@ awsconfig
 /emails/dist
 /public_gen
 /tmp
+vendor/phantomjs/phantomjs
 
 docs/AWS_S3_BUCKET
 docs/GIT_BRANCH

+ 9 - 6
tasks/options/phantomjs.js

@@ -10,7 +10,7 @@ module.exports = function(config,grunt) {
 
       var m=grunt.file.read(confDir+"location.js")
       var src=/= \"([^\"]*)\"/.exec(m)[1];
-      
+
       if (!grunt.file.isPathAbsolute(src)) {
         src = confDir+src;
       }
@@ -18,16 +18,19 @@ module.exports = function(config,grunt) {
       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 });
+        grunt.config('copy.phantom_bin', {
+          src: src,
+          dest: dest,
+          options: { mode: true},
+        });
+        grunt.task.run('copy:phantom_bin');
       } catch (err) {
         grunt.verbose.writeln(err);
         grunt.fail.warn('No working Phantomjs binary available')
       }
-      
+
     } else {
-       grunt.log.writeln('Phantomjs already imported from node');
+      grunt.log.writeln('Phantomjs already imported from node');
     }
   });
 };