aboutsummaryrefslogtreecommitdiff
path: root/node_modules/utila/CakeFile
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/utila/CakeFile
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
downloadwallet-core-de98e0b232509d5f40c135d540a70e415272ff85.tar.xz
node_modules
Diffstat (limited to 'node_modules/utila/CakeFile')
-rw-r--r--node_modules/utila/CakeFile86
1 files changed, 86 insertions, 0 deletions
diff --git a/node_modules/utila/CakeFile b/node_modules/utila/CakeFile
new file mode 100644
index 000000000..7e01443b1
--- /dev/null
+++ b/node_modules/utila/CakeFile
@@ -0,0 +1,86 @@
+
+exec = require('child_process').exec
+fs = require 'fs'
+sysPath = require 'path'
+
+task 'compile:coffee', ->
+
+ unless fs.existsSync './scripts/js'
+
+ fs.mkdirSync './scripts/js'
+
+ exec 'node ./node_modules/coffee-script/bin/coffee -bco ./scripts/js ./scripts/coffee',
+
+ (error) ->
+
+ if fs.existsSync '-p'
+
+ fs.rmdirSync '-p'
+
+ if error?
+
+ console.log 'Compile failed: ' + error
+
+ return
+
+task 'build', ->
+
+ invoke 'compile:coffee'
+
+# This is in place until we replace the test suite runner with popo
+task 'test', ->
+
+ runTestsIn 'scripts/coffee/test', '_prepare.coffee'
+
+runInCoffee = (path, cb) ->
+
+ exec 'node ./node_modules/coffee-script/bin/coffee ' + path, cb
+
+runTestsIn = (shortPath, except) ->
+
+ fullPath = sysPath.resolve shortPath
+
+ fs.readdir fullPath, (err, files) ->
+
+ if err then throw Error err
+
+ for file in files
+
+ return if file is except
+
+ fullFilePath = sysPath.resolve(fullPath, file)
+ shortFilePath = shortPath + '/' + file
+
+ if sysPath.extname(file) is '.coffee'
+
+ runAsTest shortFilePath, fullFilePath
+
+ else if fs.statSync(fullFilePath).isDirectory()
+
+ runTestsIn shortFilePath
+
+ return
+
+didBeep = no
+
+runAsTest = (shortPath, fullPath) ->
+
+ runInCoffee fullPath, (error, stdout, stderr) ->
+
+ output = 'Running ' + shortPath + '\n'
+
+ if stderr
+
+ unless didBeep
+
+ `console.log("\007")`
+
+ didBeep = yes
+
+ output += 'Error\n' + stdout + stderr + '\n'
+
+ else if stdout
+
+ output += '\n' + stdout
+
+ console.log output \ No newline at end of file