aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932015-08-13 21:57:08 +0100
committermrmr19932015-08-13 21:57:08 +0100
commit718c883abc489d4602f7cf95e059997c50ee72fd (patch)
tree78240b63c5b841dce03430fe3eeab1eb5db911b0
parent02c2f8172a3456bfae1a560ba4c9ee48673a60dc (diff)
downloadvimium-718c883abc489d4602f7cf95e059997c50ee72fd.tar.bz2
Use spawnSync rather than spawn to provide synchronous processes
-rw-r--r--Cakefile25
1 files changed, 14 insertions, 11 deletions
diff --git a/Cakefile b/Cakefile
index 514c67e1..f9744858 100644
--- a/Cakefile
+++ b/Cakefile
@@ -3,16 +3,21 @@ fs = require "fs"
path = require "path"
child_process = require "child_process"
-spawn = (procName, optArray, silent=false) ->
+spawn = (procName, optArray, silent = false, sync = false) ->
if process.platform is "win32"
# if win32, prefix arguments with "/c {original command}"
# e.g. "coffee -c c:\git\vimium" becomes "cmd.exe /c coffee -c c:\git\vimium"
optArray.unshift "/c", procName
procName = "cmd.exe"
- proc = child_process.spawn procName, optArray
- unless silent
- proc.stdout.on 'data', (data) -> process.stdout.write data
- proc.stderr.on 'data', (data) -> process.stderr.write data
+ if sync
+ proc = child_process.spawnSync procName, optArray, {
+ stdio: [undefined, process.stdout, process.stderr]
+ }
+ else
+ proc = child_process.spawn procName, optArray
+ unless silent
+ proc.stdout.on 'data', (data) -> process.stdout.write data
+ proc.stderr.on 'data', (data) -> process.stderr.write data
proc
spawnMultiple = (spawnDetailsArray, callback) ->
@@ -74,12 +79,10 @@ task "package", "Builds a zip file for submission to the Chrome store. The outpu
["-r", ".", "dist/vimium"],
blacklist.map((item) -> ["--exclude", "#{item}"]))
- spawnMultiple [
- {procName: "rm", optArray: ["-rf", "dist/vimium"]},
- {procName: "mkdir", optArray: ["-p", "dist/vimium"]},
- {procName: "rsync", optArray: rsyncOptions},
- {procName: "zip", optArray: ["-r", "dist/vimium-#{vimium_version}.zip", "dist/vimium"]}
- ]
+ spawn "rm", ["-rf", "dist/vimium"], false, true
+ spawn "mkdir", ["-p", "dist/vimium"], false, true
+ spawn "rsync", rsyncOptions, false, true
+ spawn "zip", ["-r", "dist/vimium-#{vimium_version}.zip", "dist/vimium"], false, true
# This builds a CRX that's distributable outside of the Chrome web store. Is this used by folks who fork
# Vimium and want to distribute their fork?