We had been tracking this in the releng repo
[opnfvdocs.git] / build-composite.sh
index 4aef860..f393b62 100755 (executable)
@@ -22,17 +22,23 @@ get_repo_names() {
     #       so we have the repo name list here to add project docs
     #       one by one. This will be replaced by the list in project.cfg .
     # grep -v '^#' releng/jjb/opnfvdocs/project.cfg | sort
-    echo "sdnvpn"
+    echo "apex"
+    echo "bottlenecks"
+    echo "compass4nfv"
+    echo "copper"
+    echo "doctor"
+    echo "fastpathmetrics"
     echo "fuel"
+    echo "functest"
     echo "ipv6"
     echo "joid"
-    echo "functest"
-    echo "apex"
+    echo "ovsnfv"
+    echo "pharos"
+    echo "prediction"
     echo "promise"
-    echo "copper"
-    echo "doctor"
+    echo "sdnvpn"
     echo "vswitchperf"
-    echo "fastpathmetrics"
+    echo "yardstick"
 }
 
 git_clone() {
@@ -65,26 +71,51 @@ done
 # NOTE: Removing index.rst in project repos to reduce number of docs.
 find docs/projects -type f -name 'index.rst' -print | xargs -I i rm -f i
 
-# Correct Image file path (workaround)
-sed -i -e '/^.. figure::/s|images|../projects/promise/configguide/images|' \
-    docs/projects/promise/configguide/featureconfig.rst
+# fix relative file paths
+pattern='.. \(include\|figure\):: *[^ \/]'
+base_path="/$(pwd)/docs_build/_src"
+find docs/projects -type f -name '*.rst' -print | while read f
+do
+    sed -i -e "/$pattern/s|:: *|:: $base_path/$(dirname ${f#docs/})/|" $f
+done
+
+# for debug
+grep -e '.. include::' -e '.. figure::' -r docs/projects
 
 # NOTE: automated link generation is not ready...
-#echo
-#echo "Creating document links"
-#echo
-#for guide in configguide userguide
-#do
-#    link_list=$WORKSPACE/docs/$guide/projects-$guide.rst
-#    for repo in $repos
-#    do
-#        file=projects/$repo/$guide/$guide.rst
-#        [[ -e $WORKSPACE/docs/$file ]] || continue
-#        echo "" >> $link_list
-#        echo "$repo:" >> $link_list
-#        echo ".. include:: ../$file" >> $link_list
-#    done
-#done
+echo
+echo "Creating document links"
+echo
+targets="
+configguide/installer-config.rst
+configguide/feature-config.rst
+userguide/test-usage.rst
+userguide/feature-usage.rst
+"
+# configguide/post-install.rst
+for guide in $targets
+do
+    mainfile="$WORKSPACE/docs/$guide"
+    basefilename=$(basename ${guide/-/})
+    for repo in $repos
+    do
+        targetfile="$WORKSPACE/docs/projects/$repo/${guide/-/}"
+        targetlink="../projects/$repo/${guide/-/}"
+        projectfilename="${basefilename/.rst/-$repo.rst}"
+        projectfile="$(dirname $mainfile)/$projectfilename"
+        [[ -e "$targetfile" ]] || continue
+        echo "Adding $repo to $guide ..."
+        echo "" >> $mainfile
+        echo ".. toctree::" >> $mainfile
+        echo "" >> $mainfile
+        echo "    $projectfilename" >> $mainfile
+        echo ".. include:: $targetlink" > $projectfile
+    done
+    echo
+    echo "Generated $guide:"
+    cat $mainfile
+    echo
+done
 
 $WORKSPACE/releng/utils/docs-build.sh