Skip to content

Commit

Permalink
Add cake for build. Run . Requires a coffee executable and uglifyjs e…
Browse files Browse the repository at this point in the history
…xecutable
  • Loading branch information
mixonic committed Jul 29, 2011
1 parent 3f29e01 commit 761d204
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions Cakefile
@@ -0,0 +1,29 @@
fs = require 'fs'
path = require 'path'
{spawn, exec} = require 'child_process'

javascripts = [
'chosen/chosen.jquery.js', 'chosen/chosen.proto.js'
]

# Run a command
#
run = (cmd, args, cb) ->
proc = spawn cmd, args
proc.stderr.on 'data', (buffer) -> console.log buffer.toString()
proc.on 'exit', (status) ->
process.exit(1) if status != 0
cb() if typeof cb is 'function'

# Build Chosen. Requires `coffee` and `uglifyjs`.
#
task 'build', 'build Chosen from source', build = (cb) ->
files = fs.readdirSync 'coffee'
files = ('coffee/' + file for file in files when file.match(/\.coffee$/))
run 'coffee', ['-c', '-o', 'chosen'].concat(files), ->
cb() if typeof cb is 'function'
unless process.env.MINIFY is 'false'
for javascript in javascripts
uglified = javascript.replace /\.js$/, '.min.js'
run 'uglifyjs', ['-o', uglified, javascript], cb

0 comments on commit 761d204

Please sign in to comment.