From 761d2040f550518088a54d2622ba63b65bf1899b Mon Sep 17 00:00:00 2001 From: Matthew Beale Date: Fri, 29 Jul 2011 09:25:56 +0200 Subject: [PATCH] Add cake for build. Run . Requires a coffee executable and uglifyjs executable --- Cakefile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 Cakefile diff --git a/Cakefile b/Cakefile new file mode 100644 index 0000000..345876e --- /dev/null +++ b/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 +