Merge branch 'main' from workbench2.git
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / doc / run-service
index 83225ed0bc6028335261742f35a3cd59a9feb581..c40e1175edbe9e55326109cb666c630c4eda621e 100755 (executable)
@@ -8,17 +8,28 @@ set -ex -o pipefail
 
 . /usr/local/lib/arvbox/common.sh
 
+if test "$1" != "--only-deps" ; then
+  while [ ! -f $ARVADOS_CONTAINER_PATH/api.ready ]; do
+    sleep 1
+  done
+fi
+
 cd /usr/src/arvados/doc
 run_bundler --without=development
 
-cd /usr/src/arvados/sdk/R
-R --quiet --vanilla --file=install_deps.R
+# Generating the Python and R docs is expensive, so for development if the file
+# "no-sdk" exists then skip the Python and R stuff.
+if [[ ! -f /usr/src/arvados/doc/no-sdk ]] ; then
+    cd /usr/src/arvados/sdk/R
+    R --quiet --vanilla --file=install_deps.R
+
+    export PYCMD=python3
+    pip_install pdoc
+fi
 
 if test "$1" = "--only-deps" ; then
     exit
 fi
 
 cd /usr/src/arvados/doc
-bundle exec rake generate baseurl=http://$localip:${services[doc]} arvados_api_host=$localip:${services[controller-ssl]} arvados_workbench_host=http://$localip
-
-sv stop doc >/dev/null
+flock $GEMLOCK bundle exec rake generate baseurl=http://$localip:${services[doc]} arvados_api_host=$localip:${services[controller-ssl]} arvados_workbench_host=http://$localip