-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Swapped Makefile for Cakefile providing better cross-platform support
- Loading branch information
Showing
4 changed files
with
122 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
# This file was originally created by Benjamin Lupton <b@lupton.cc> (http://balupton.com) | ||
# and is currently licensed under the Creative Commons Zero (http://creativecommons.org/publicdomain/zero/1.0/) | ||
# making it public domain so you can do whatever you wish with it without worry (you can even remove this notice!) | ||
# | ||
# If you change something here, be sure to reflect the changes in: | ||
# - the scripts section of the package.json file | ||
# - the .travis.yml file | ||
|
||
|
||
# ----------------- | ||
# Variables | ||
|
||
WINDOWS = process.platform.indexOf('win') is 0 | ||
NODE = process.execPath | ||
NPM = if WINDOWS then process.execPath.replace('node.exe','npm.cmd') else 'npm' | ||
EXT = (if WINDOWS then '.cmd' else '') | ||
APP = process.cwd() | ||
BIN = "#{APP}/node_modules/.bin" | ||
CAKE = "#{BIN}/cake#{EXT}" | ||
COFFEE = "#{BIN}/coffee#{EXT}" | ||
OUT = "#{APP}/out" | ||
SRC = "#{APP}/src" | ||
|
||
|
||
# ----------------- | ||
# Requires | ||
|
||
{exec,spawn} = require('child_process') | ||
safe = (next,fn) -> | ||
return (err) -> | ||
return next(err) if err | ||
return fn() | ||
|
||
|
||
# ----------------- | ||
# Actions | ||
|
||
clean = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
exec("rm -Rf #{OUT} node_modules *out *.log", {stdio:'inherit',cwd:APP}, next) | ||
|
||
compile = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
spawn(COFFEE, ['-co', OUT, SRC], {stdio:'inherit',cwd:APP}).on('exit',next) | ||
|
||
watch = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
spawn(COFFEE, ['-wco', OUT, SRC], {stdio:'inherit',cwd:APP}).on('exit',next) | ||
|
||
install = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
spawn(NPM, ['install'], {stdio:'inherit',cwd:APP}).on('exit',next) | ||
|
||
reset = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
clean opts, safe next, -> | ||
install opts, safe next, -> | ||
compile opts, next | ||
|
||
setup = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
install opts, safe next, -> | ||
compile opts, next | ||
|
||
test = (opts,next) -> | ||
(next = opts; opts = {}) unless next? | ||
args = [] | ||
args.push("--debug-brk") if opts.debug | ||
args.push("#{OUT}/test/everything.test.js") | ||
args.push("--joe-reporter=list") | ||
spawn(NODE, args, {stdio:'inherit',cwd:APP}, next) | ||
|
||
finish = (err) -> | ||
throw err if err | ||
console.log('OK') | ||
|
||
|
||
# ----------------- | ||
# Commands | ||
|
||
# clean | ||
task 'clean', 'clean up instance', -> | ||
clean finish | ||
|
||
# compile | ||
task 'compile', 'compile our files', -> | ||
compile finish | ||
|
||
# dev/watch | ||
task 'dev', 'watch and recompile our files', -> | ||
watch finish | ||
task 'watch', 'watch and recompile our files', -> | ||
watch finish | ||
|
||
# install | ||
task 'install', 'install dependencies', -> | ||
install finish | ||
|
||
# reset | ||
task 'reset', 'reset instance', -> | ||
reset finish | ||
|
||
# setup | ||
task 'setup', 'setup for development', -> | ||
setup finish | ||
|
||
# test | ||
task 'test', 'run our tests', -> | ||
test finish | ||
|
||
# test-debug | ||
task 'test-debug', 'run our tests in debug mode', -> | ||
test {debug:true}, finish | ||
|
||
# test-prepare | ||
task 'test-prepare', 'prepare out tests', -> | ||
setup finish | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters