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