Adding general component descriptions and information.
[opnfvdocs.git] / build-composite.sh
1 #!/bin/bash
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 ##############################################################################
10
11 set -o errexit
12 set -o nounset
13 set -o pipefail
14 set -o xtrace
15
16 GIT_CLONE_BASE=${GIT_CLONE_BASE:-ssh://gerrit.opnfv.org:29418}
17 GERRIT_BRANCH=${GERRIT_BRANCH:-master}
18 WORKSPACE=${WORKSPACE:-/tmp}
19
20 get_repo_names() {
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
25     echo "sdnvpn"
26     echo "fuel"
27     echo "ipv6"
28     echo "joid"
29     echo "functest"
30     echo "apex"
31     echo "promise"
32     echo "copper"
33     echo "doctor"
34     echo "vswitchperf"
35     echo "fastpathmetrics"
36 }
37
38 git_clone() {
39     _repo="$1"
40
41     [[ -d "$WORKSPACE/$_repo" ]] && return 0
42     pushd $WORKSPACE
43     git clone -b $GERRIT_BRANCH --depth 1 --quiet $GIT_CLONE_BASE/$_repo
44     popd
45 }
46
47 git_clone releng
48
49 repos=$(get_repo_names)
50
51 [[ -e docs/projects ]] && rm -rf docs/projects
52 mkdir -p docs/projects
53
54 echo
55 echo "Cloning repos of participating OPNFV Projects and copying docs"
56 echo
57 for repo in $repos; do
58     echo "    $repo ($GERRIT_BRANCH)"
59     git_clone $repo
60     [[ -e $WORKSPACE/$repo/docs ]] || continue
61     [[ -e docs/projects/$repo ]] && rm -rf docs/projects/$repo
62     cp -r $WORKSPACE/$repo/docs docs/projects/$repo
63 done
64
65 # NOTE: Removing index.rst in project repos to reduce number of docs.
66 find docs/projects -type f -name 'index.rst' -print | xargs -I i rm -f i
67
68 # NOTE: automated link generation is not ready...
69 #echo
70 #echo "Creating document links"
71 #echo
72 #for guide in configguide userguide
73 #do
74 #    link_list=$WORKSPACE/docs/$guide/projects-$guide.rst
75 #    for repo in $repos
76 #    do
77 #        file=projects/$repo/$guide/$guide.rst
78 #        [[ -e $WORKSPACE/docs/$file ]] || continue
79 #        echo "" >> $link_list
80 #        echo "$repo:" >> $link_list
81 #        echo ".. include:: ../$file" >> $link_list
82 #    done
83 #done
84
85 $WORKSPACE/releng/utils/docs-build.sh
86
87 echo "Done"