#!/usr/bin/env bash root=$(readlink -e $(dirname $0)) set -e if [ "x" == "x$root" ] ; then root=$PWD/${0##*} fi cd $root if [ -z "$GOPATH" ]; then export GOPATH=$root/go mkdir -p $GOPATH fi if [ ! -f $GOPATH/bin/minify ]; then echo "set up minifiy" go get -v github.com/tdewolff/minify/cmd/minify fi outfile=$PWD/contrib/static/nntpchan.js lint() { if [ "x$(which jslint)" == "x" ] ; then # no jslint true else echo "jslint: $1" jslint --browser $1 fi } mini() { echo "minify $1" echo "" >> $2 echo "/* begin $1 */" >> $2 $GOPATH/bin/minify --mime=text/javascript >> $2 < $1 echo "/* end $1 */" >> $2 } # do linting too if [ "x$1" == "xlint" ] ; then echo "linting..." for f in ./contrib/js/*.js ; do lint $f done fi rm -f $outfile echo '/*' >> $outfile echo ' * For source code and license information please check https://github.com/majestrate/nntpchan' >> $outfile brandingfile=./contrib/branding.txt if [ -e $brandingfile ] ; then echo ' *' >> $outfile while read line; do echo -n ' * ' >> $outfile; echo $line >> $outfile; done < $brandingfile; fi echo ' */' >> $outfile if [ -e ./contrib/js/contrib/*.js ] ; then for f in ./contrib/js/contrib/*.js ; do mini $f $outfile done fi mini ./contrib/js/entry.js $outfile # local js for f in ./contrib/js/nntpchan/*.js ; do mini $f $outfile done # vendor js for f in ./contrib/js/vendor/*.js ; do mini $f $outfile done echo "ok"