1bc6ed330a54780e19fcb7b0e8c93705a1c7d4f1
[opnfvdocs.git] / build-composite.sh
1 #!/bin/bash
2
3 set -o errexit
4 set -o nounset
5 set -o pipefail
6 set -o xtrace
7
8 GIT_CLONE_BASE=${GIT_CLONE_BASE:-ssh://gerrit.opnfv.org:29418}
9 GERRIT_BRANCH=${GERRIT_BRANCH:-master}
10
11 get_repo_names() {
12     # NOTE: Not all repositories are ready for the composite docs,
13     #       so we have the repo name list here to add project docs
14     #       one by one. This will be replaced by the list in project.cfg .
15     # grep -v '^#' releng/jjb/opnfvdocs/project.cfg | sort
16     echo "sdnvpn"
17     echo "fuel"
18     echo "joid"
19 }
20
21 git_clone() {
22     _repo="$1"
23
24     [[ -d "$_repo" ]] && return 0
25     git clone -b $GERRIT_BRANCH --depth 1 --quiet $GIT_CLONE_BASE/$_repo
26 }
27
28 git_clone releng
29
30 repos=$(get_repo_names)
31
32 [[ -e docs/projects ]] && rm -rf docs/projects
33 mkdir -p docs/projects
34
35 echo
36 echo "Cloning repos of participating OPNFV Projects and copying docs"
37 echo
38 mkdir -p docs_build/projects
39 pushd docs_build/projects
40 for repo in $repos; do
41     echo "    $repo ($GERRIT_BRANCH)"
42     git_clone $repo
43     [[ -e $repo/docs ]] || continue
44     cp -r $repo/docs ../../docs/projects/$repo
45 done
46 popd
47
48 # NOTE: Removing index.rst in project repos to reduce number of docs.
49 find docs_build/projects -type f -name 'index.rst' -print | xargs -I i rm -f i
50
51 # NOTE: automated link generation is not ready...
52 #echo
53 #echo "Creating document links"
54 #echo
55 #for guide in configguide userguide
56 #do
57 #    link_list=$WORKSPACE/docs/$guide/projects-$guide.rst
58 #    for repo in $repos
59 #    do
60 #        file=projects/$repo/$guide/$guide.rst
61 #        [[ -e $WORKSPACE/docs/$file ]] || continue
62 #        echo "" >> $link_list
63 #        echo "$repo:" >> $link_list
64 #        echo ".. include:: ../$file" >> $link_list
65 #    done
66 #done
67
68 ./releng/utils/docs-build.sh
69
70 echo "Done"