From 50300593d213b755f97a29a027994cf794f8e15f Mon Sep 17 00:00:00 2001 From: Mark Pilgrim Date: Thu, 16 Jul 2009 23:35:20 -0400 Subject: [PATCH] build fiddling --- publish | 61 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/publish b/publish index 950dfd9..2b59dec 100755 --- a/publish +++ b/publish @@ -1,5 +1,10 @@ #!/bin/sh +die () { + echo "$1" >/dev/stderr + exit 1 +} + echo "started build" # make build directory and copy original files there for preflighting @@ -16,68 +21,68 @@ echo "minimizing HTML" # minimize HTML (NB: this script is quite fragile and relies on knowledge of how I write HTML) for f in *.html; do - python3 util/htmlminimizer.py "$f" build/"$f" + python3 util/htmlminimizer.py "$f" build/"$f" || die "Failed to minimize $f" done # build sitemap -ls build/*.html | sed -e "s|build/|http://diveintopython3.org/|g" -e "s|/index.html|/|g" > build/sitemap.txt +ls build/*.html | sed -e "s|build/|http://diveintopython3.org/|g" -e "s|/index.html|/|g" > build/sitemap.txt || die "Failed to build sitemap" echo "adding evil tracking code" # add Google Analytics script for f in build/*.html; do - cat "$f" j/ga.js > build/tmp - mv build/tmp "$f" + cat "$f" j/ga.js > build/tmp && \ + mv build/tmp "$f" || die "Could not add tracking code to $f" done # minimize JS and CSS echo "minimizing JS" revision=`hg log|grep changeset|cut -d":" -f3|head -1` -java -jar util/yuicompressor-2.4.2.jar build/j/prettify.js > build/j/prettify.min.js -java -jar util/yuicompressor-2.4.2.jar build/j/dip3.js > build/j/dip3.min.js +java -jar util/yuicompressor-2.4.2.jar build/j/prettify.js > build/j/prettify.min.js && \ + java -jar util/yuicompressor-2.4.2.jar build/j/dip3.js > build/j/dip3.min.js || die "Failed to minimize JS" # combine jQuery and our script echo "combining JS" -cat build/j/jquery.min.js build/j/prettify.min.js build/j/dip3.min.js > build/j/$revision.js -sed -i -e "s|||g" build/*.html -sed -i -e "s|||g" build/*.html -sed -i -e "s|||g" build/*.html || && \ + sed -i -e "s|||g" build/*.html || && \ + sed -i -e "s|