Merge branch 'b-3.6.1' into mebil
[kivitendo-erp.git] / scripts / build_doc.sh
index 0f3a7af..2efa9b9 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 # Usage:
-#   cd /path/to/lx-office
+#   cd /path/to/kivitendo
 #   ./scripts/build_doc.sh
 
 set -e
@@ -11,16 +11,21 @@ if [[ ! -d doc ]]; then
   exit 1
 fi
 
+doc=${PWD}/doc
+
 html=1
 pdf=1
+images=1
 
 if [[ ! -z $1 ]] ; then
   html=0
   pdf=0
+  images=0
   while [[ ! -z $1 ]] ; do
     case $1 in
-      html) html=1 ;;
-      pdf)  pdf=1  ;;
+      html)   html=1   ;;
+      pdf)    pdf=1    ;;
+      images) images=1 ;;
       *)
         echo "Unknown parameter $1"
         exit 1
@@ -34,7 +39,7 @@ fi
 dobudish=$(ls -d doc/build/dobudish* 2> /dev/null)
 
 if [[ -z $dobudish ]] || [[ ! -d ${dobudish} ]]; then
-  echo "There's no dobudish directory inside doc/build."
+  echo "There's no dobudish directory inside doc/build OR more than one file / dir starting with dobudish (hint: zip file downloaded there?)."
   exit 1
 fi
 
@@ -52,18 +57,30 @@ custom=${base}/custom-cfg
 rm -rf ${input} ${custom}
 mkdir ${input} ${input}/copy_to_output ${custom}
 
-cp ../../dokumentation.xml ${input}/
-cp -R ../../images ${input}/copy_to_output/
-cp -R ../custom-cfg/* ${custom}/
+cp ${doc}/dokumentation.xml ${input}/
+test -d ${doc}/images && cp -R ${doc}/images ${input}/copy_to_output/
+cp -R ${doc}/build/custom-cfg/* ${custom}/
 
 if [[ $pdf = 1 ]] ; then
   ./generator.sh dokumentation pdf
-  cp ${output}/pdf/dokumentation.pdf ../../Lx-Office-Dokumentation.pdf
+  cp ${output}/pdf/dokumentation.pdf ${doc}/kivitendo-Dokumentation.pdf
 fi
 
 if [[ $html = 1 ]]; then
   ./generator.sh dokumentation html
-  rm -rf ../../html
-  mkdir ../../html
-  cp -R ${output}/html ../../
+  rm -rf ${doc}/html
+  mkdir ${doc}/html
+  cp -R ${output}/html ${doc}/
+fi
+
+if [[ $images = 1 ]]; then
+  # copy system images from Dobudish directory
+  image_list=$(mktemp)
+  perl -nle 'print $1 while m{ (?: \.\./ )+ ( system/ [^\"]+ ) }xg' ${doc}/html/*.html | sort | uniq > $image_list
+  if [[ -s $image_list ]]; then
+    tar -c -f - -T $image_list | tar -x -f - -C ${doc}/html
+    perl -pi -e 's{ (\.\./)+ system }{system}xg' ${doc}/html/*.html
+  fi
+
+  rm $image_list
 fi