2 # SPDX-license-identifier: Apache-2.0
3 ##############################################################################
4 # Copyright (c) 2016 NEC and others.
5 # All rights reserved. This program and the accompanying materials
6 # are made available under the terms of the Apache License, Version 2.0
7 # which accompanies this distribution, and is available at
8 # http://www.apache.org/licenses/LICENSE-2.0
9 ##############################################################################
16 GIT_CLONE_BASE=${GIT_CLONE_BASE:-ssh://gerrit.opnfv.org:29418}
17 GERRIT_BRANCH=${GERRIT_BRANCH:-master}
18 WORKSPACE=${WORKSPACE:-/tmp}
21 # NOTE: Not all repositories are ready for the composite docs,
22 # so we have the repo name list here to add project docs
23 # one by one. This will be replaced by the list in project.cfg .
24 # grep -v '^#' releng/jjb/opnfvdocs/project.cfg | sort
30 echo "fastpathmetrics"
47 [[ -d "$WORKSPACE/$_repo" ]] && return 0
49 git clone -b $GERRIT_BRANCH --depth 1 --quiet $GIT_CLONE_BASE/$_repo
55 repos=$(get_repo_names)
57 [[ -e docs/projects ]] && rm -rf docs/projects
58 mkdir -p docs/projects
61 echo "Cloning repos of participating OPNFV Projects and copying docs"
63 for repo in $repos; do
64 echo " $repo ($GERRIT_BRANCH)"
66 [[ -e $WORKSPACE/$repo/docs ]] || continue
67 [[ -e docs/projects/$repo ]] && rm -rf docs/projects/$repo
68 cp -r $WORKSPACE/$repo/docs docs/projects/$repo
71 # NOTE: Removing index.rst in project repos to reduce number of docs.
72 find docs/projects -type f -name 'index.rst' -print | xargs -I i rm -f i
74 # fix relative file paths
75 pattern='.. \(include\|figure\):: *[^ \/]'
76 base_path="/$(pwd)/docs_build/_src"
77 find docs/projects -type f -name '*.rst' -print | while read f
79 sed -i -e "/$pattern/s|:: *|:: $base_path/$(dirname ${f#docs/})/|" $f
83 grep -e '.. include::' -e '.. figure::' -r docs/projects
85 # NOTE: automated link generation is not ready...
87 echo "Creating document links"
90 configurationguide/configuration.options.render.rst
91 configurationguide/scenario.description.rst
92 userguide/feature.userguide.render.rst
93 testframework/framework.installation.procedure.render.rst
94 testframework/framework.userguide.render.rst
96 # configurationguide/post-install.rst
99 mainfile="$WORKSPACE/docs/$guide"
100 basefilename=$(basename ${guide/-/})
103 targetfile="$WORKSPACE/docs/projects/$repo/${guide/-/}"
104 targetlink="../projects/$repo/${guide/-/}"
105 projectfilename="${basefilename/.rst/-$repo.rst}"
106 projectfile="$(dirname $mainfile)/$projectfilename"
107 [[ -e "$targetfile" ]] || continue
108 echo "Adding $repo to $guide ..."
110 echo ".. toctree::" >> $mainfile
112 echo " $projectfilename" >> $mainfile
113 echo ".. include:: $targetlink" > $projectfile
116 echo "Generated $guide:"
121 $WORKSPACE/releng/utils/docs-build.sh