diff --git a/.gitignore b/.gitignore index eff8053eea..353eeefb5f 100644 --- a/.gitignore +++ b/.gitignore @@ -48,9 +48,8 @@ catalog.xml ######### target -# Test build -############ -build/ +build +html # vim ###### diff --git a/build-product.sh b/build-product.sh new file mode 100755 index 0000000000..21c2ad743c --- /dev/null +++ b/build-product.sh @@ -0,0 +1,125 @@ +#!/bin/bash -e + +TOOL="asciidoctor" + +while getopts "h?auc" opt; do + case "$opt" in + h|\?) + echo "Usage: build-guide.sh [OPTION] [GUIDE]" + echo "" + echo " -a use asciidoctor (default)" + echo " -u use ccutil" + echo " -c delete built guides" + echo "" + echo "If guide is not specified all guides are built. GUIDE should be the directory" + echo "name of the specific guide to build." + exit 0 + ;; + a) TOOL="asciidoctor" + ;; + u) TOOL="ccutil" + ;; + c) TOOL="clean" + ;; + esac +done + +shift $((OPTIND-1)) +[ "$1" = "--" ] && shift + +GUIDE_DIR=$1 + +function printLine +{ + echo "************************************************************************************************" +} + +function getTitle +{ + GUIDE_DIR=`readlink -f $1` + + TITLE_KEY=`cat $GUIDE_DIR/master-docinfo.xml | grep '' | cut -d '{' -f 2 | cut -d '}' -f 1` + TITLE=`cat $GUIDE_DIR/topics/templates/document-attributes-product.adoc | grep $TITLE_KEY | sed "s/:$TITLE_KEY: //"` + + echo $TITLE +} + +function buildGuide +{ + GUIDE_DIR=`readlink -f $1` + TITLE=`getTitle $GUIDE_DIR` + + printLine + echo "" + echo "Building: $TITLE" + echo "" + + cd $GUIDE_DIR + + echo "Deleting $GUIDE_DIR/build" + rm -rf build + echo "" + + echo "Running asciidoctor..." + echo "" + asciidoctor -t -dbook -a toc -o target/html/index.html master.adoc + echo "" + + echo "Running ccutil..." + echo "" + ccutil compile --lang en_US --format html-single --main-file master.adoc + cd .. + + echo "" + echo "Done" + echo "" +} + +function clean +{ + GUIDE_DIR=`readlink -f $1` + cd $GUIDE_DIR + echo "Deleting $GUIDE_DIR/build" + rm -rf $GUIDE_DIR/build + cd .. +} + +if [ "$TOOL" = "clean" ]; then + if [ "$GUIDE_DIR" = "" ]; then + for i in `find -maxdepth 2 -name master.adoc | xargs dirname | sort`; do + getTitle $i + done + else + getTitle $GUIDE_DIR + fi +else + if [ "$GUIDE_DIR" = "" ]; then + for i in `find -maxdepth 2 -name master.adoc | xargs dirname | sort`; do + buildGuide $i + done + + printLine + + echo "" + for i in `find -maxdepth 2 -name master.adoc | xargs dirname | sort`; do + TITLE=`getTitle $i` + echo "$TITLE" + echo " - AsciiDoctor: file://$GUIDE_DIR/target/html/index.html" + echo " - ccutil: file://$GUIDE_DIR/build/tmp/en-US/html-single/index.html" + echo "" + done + + printLine + else + buildGuide $GUIDE_DIR + + printLine + TITLE=`getTitle $GUIDE_DIR` + echo "" + echo "$TITLE" + echo " - AsciiDoctor: file://$GUIDE_DIR/target/html/index.html" + echo " - ccutil: file://$GUIDE_DIR/build/tmp/en-US/html-single/index.html" + echo "" + printLine + fi +fi