Skip to content
This repository has been archived by the owner on Dec 16, 2023. It is now read-only.

Commit

Permalink
Cakefile now reports more of what's going on.
Browse files Browse the repository at this point in the history
  • Loading branch information
assaf committed Dec 22, 2010
1 parent 17c3656 commit a95a1c9
Showing 1 changed file with 26 additions and 15 deletions.
41 changes: 26 additions & 15 deletions Cakefile
Expand Up @@ -2,6 +2,7 @@ fs = require("fs")
path = require("path") path = require("path")
{spawn, exec} = require("child_process") {spawn, exec} = require("child_process")
markdown = require("node-markdown").Markdown markdown = require("node-markdown").Markdown
sys = require("sys")


# ANSI Terminal Colors. # ANSI Terminal Colors.
bold = "\033[0;1m" bold = "\033[0;1m"
Expand All @@ -16,8 +17,8 @@ log = (message, color, explanation) ->
# Handle error, do nothing if null # Handle error, do nothing if null
onerror = (err)-> onerror = (err)->
if err if err
log err.stack, red sys.puts "#{red}#{err.stack}#{reset}"
process.exit -1 process.stdout.on "drain", -> process.exit -1




## Setup ## ## Setup ##
Expand All @@ -40,13 +41,15 @@ task "setup", "Install development dependencies", ->


build = (callback)-> build = (callback)->
log "Compiling CoffeeScript to JavaScript ...", green log "Compiling CoffeeScript to JavaScript ...", green
exec "rm -rf lib && coffee -c -l -b -o lib src", callback exec "rm -rf lib && coffee -c -l -b -o lib src", (err, stdout)->
log stdout + "Done", green
callback err
task "build", "Compile CoffeeScript to JavaScript", -> build onerror task "build", "Compile CoffeeScript to JavaScript", -> build onerror


task "watch", "Continously compile CoffeeScript to JavaScript", -> task "watch", "Continously compile CoffeeScript to JavaScript", ->
cmd = spawn("coffee", ["-cw", "-o", "lib", "src"]) cmd = spawn("coffee", ["-cw", "-o", "lib", "src"])
cmd.stdout.on "data", (data)-> log data, green cmd.stdout.on "data", (data)-> sys.print green + data + reset
cmd.stderr.on "data", (data)-> log data, red cmd.on "error", onerror




task "clean", "Remove temporary files and such", -> task "clean", "Remove temporary files and such", ->
Expand All @@ -57,9 +60,8 @@ task "clean", "Remove temporary files and such", ->


runTests = (callback)-> runTests = (callback)->
log "Running test suite ...", green log "Running test suite ...", green
exec "vows --spec", (err, stdout, stderr)-> exec "vows --spec", (err, stdout)->
log stdout, green sys.puts stdout
log stderr, red
callback err callback err
task "test", "Run all tests", -> runTests onerror task "test", "Run all tests", -> runTests onerror


Expand All @@ -75,7 +77,7 @@ toHTML = (source, title, callback)->
onerror err onerror err
fs.readFile source, "utf8", (err, text)-> fs.readFile source, "utf8", (err, text)->
onerror err onerror err
log "Creating #{target} ...", green log "Creating #{target}", green
exec "ronn --html #{source}", (err, stdout, stderr)-> exec "ronn --html #{source}", (err, stdout, stderr)->
onerror err onerror err
title ||= stdout.match(/<h1>(.*)<\/h1>/)[1] title ||= stdout.match(/<h1>(.*)<\/h1>/)[1]
Expand All @@ -93,20 +95,23 @@ documentPages = (callback)->
onerror err onerror err
toHTML "CHANGELOG.md", null, (err)-> toHTML "CHANGELOG.md", null, (err)->
onerror err onerror err
sys.puts ""
exec "cp -f doc/*.css html/", callback exec "cp -f doc/*.css html/", callback


documentSource = (callback)-> documentSource = (callback)->
log "Documenting source files ...", green log "Documenting source files ...", green
exec "docco src/*.coffee src/**/*.coffee", (err)-> exec "docco src/*.coffee src/**/*.coffee", (err, stdout, stderr)->
log stdout, green
onerror err onerror err
log "Copying to html/source ...", green log "Copying to html/source", green
exec "mkdir -p html && cp -rf docs/ html/source && rm -rf docs", callback exec "mkdir -p html && cp -rf docs/ html/source && rm -rf docs", callback


generateMan = (callback)-> generateMan = (callback)->
log "Generating man file ...", green log "Generating man file ...", green
fs.mkdir "man1", 0777, -> fs.mkdir "man1", 0777, ->
exec "ronn --roff README.md", (err, stdout, stderr)-> exec "ronn --roff README.md", (err, stdout, stderr)->
onerror err onerror err
log "Done", green
fs.writeFile "man1/zombie.1", stdout, "utf8", callback fs.writeFile "man1/zombie.1", stdout, "utf8", callback


generateDocs = (callback)-> generateDocs = (callback)->
Expand All @@ -129,7 +134,9 @@ publishDocs = (callback)->
generateDocs (err)-> generateDocs (err)->
onerror err onerror err
log "Uploading documentation ...", green log "Uploading documentation ...", green
exec "rsync -cr --del --progress html/ labnotes.org:/var/www/zombie/", callback exec "rsync -cr --del --progress html/ labnotes.org:/var/www/zombie/", (err, stdout, stderr)->
log stdout, green
callback err
task "doc:publish", "Publish documentation to site", -> publishDocs onerror task "doc:publish", "Publish documentation to site", -> publishDocs onerror


task "publish", "Publish new version (Git, NPM, site)", -> task "publish", "Publish new version (Git, NPM, site)", ->
Expand All @@ -138,13 +145,17 @@ task "publish", "Publish new version (Git, NPM, site)", ->
fs.readFile "package.json", "utf8", (err, package)-> fs.readFile "package.json", "utf8", (err, package)->
version = JSON.parse(package).version version = JSON.parse(package).version
log "Tagging v#{version} ...", green log "Tagging v#{version} ...", green
exec "git tag v#{version}", -> exec "git tag v#{version}", (err, stdout, stderr)->
exec "git push --tags origin master" log stdout, green
exec "git push --tags origin master", (err, stdout, stderr)->
log stdout, green


log "Publishing to NPM ...", green log "Publishing to NPM ...", green
build (err)-> build (err)->
onerror err onerror err
exec "npm publish ./", onerror exec "npm publish ./", (err, stdout, stderr)->
log stdout, green
onerror err


# Publish documentation # Publish documentation
publishDocs onerror publishDocs onerror

0 comments on commit a95a1c9

Please sign in to comment.