snowflake/proxy/Cakefile
2016-01-14 16:44:43 -08:00

40 lines
1 KiB
CoffeeScript

fs = require 'fs'
{exec} = require 'child_process'
# All coffeescript files required.
FILES = [
'shims.coffee'
'util.coffee'
'proxypair.coffee'
'websocket.coffee'
'snowflake.coffee'
]
OUTFILE = 'build/snowflake.coffee'
STATIC = 'static'
concatCoffeeFiles = -> exec 'cat ' + FILES.join(' ') + ' | cat > ' + OUTFILE
copyStaticFiles = -> exec 'cp ' + STATIC + '/* build/'
compileCoffee = ->
exec 'coffee -o build -c build/snowflake.coffee', (err, stdout, stderr) ->
throw err if err
task 'test', 'snowflake unit tests', ->
exec 'mkdir -p test'
testFile = 'test/snowflake.bundle.coffee'
exec 'cat ' + FILES.join(' ') + ' snowflake_test.coffee | cat > ' + testFile
exec 'coffee ' + testFile + ' -v', (err, stdout, stderr) ->
throw err if err
console.log stdout + stderr
task 'build', 'build the snowflake proxy', ->
exec 'mkdir -p build'
concatCoffeeFiles()
copyStaticFiles()
compileCoffee()
console.log 'Snowflake prepared.'
task 'clean', 'remove all built files', ->
exec 'rm -r build'
exec 'rm -r test'