-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathbuild_submodules.sh
executable file
·129 lines (96 loc) · 4.66 KB
/
build_submodules.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/bash
set -xe
project_root=$(pwd)
# Translations
po_dest="${project_root}/locale/ru/LC_MESSAGES"
# Copy Building Tarantool Docs guide
cp README.rst doc/contributing/docs/_includes/README.rst
# Cartridge
cartridge_root="${project_root}/modules/cartridge"
# Build Cartridge to extract docs
cd "${cartridge_root}" || exit
CMAKE_DUMMY_WEBUI=true tarantoolctl rocks make
# Copy Cartridge docs, including diagrams and images
cartridge_rst_src="${cartridge_root}/build.luarocks/build.rst"
cartridge_rst_dest="${project_root}/doc/book/cartridge"
cd "${cartridge_rst_src}" || exit
mkdir -p "${cartridge_rst_dest}"
find . -iregex '.*\.\(rst\|png\|puml\|svg\)$' -exec cp -r --parents {} "${cartridge_rst_dest}" \;
# Copy translation templates
cartridge_pot_src="${cartridge_root}/build.luarocks/build.rst/locale"
cartridge_pot_dest="${project_root}/locale/book/cartridge"
cd "${cartridge_pot_src}" || exit
mkdir -p "${cartridge_pot_dest}"
find . -name '*.pot' -exec cp -r --parents {} "${cartridge_pot_dest}" \;
# Copy translations
cartridge_po_src="${cartridge_root}/build.luarocks/build.rst/locale/ru/LC_MESSAGES"
cartridge_po_dest="${po_dest}/book/cartridge"
cd "${cartridge_po_src}" || exit
mkdir -p "${cartridge_po_dest}"
find . -name '*.po' -exec cp -r --parents {} "${cartridge_po_dest}" \;
# Cartridge CLI
cartridge_cli_root="${project_root}/modules/cartridge-cli/doc"
cartridge_cli_dest="${cartridge_rst_dest}/cartridge_cli"
cartridge_cli_po_dest="${po_dest}/book/cartridge/cartridge_cli"
# Copy Cartridge CLI docs, including diagrams and images
mkdir -p "${cartridge_cli_dest}"
cd ${cartridge_cli_root} || exit
find . -iregex '.*\.\(rst\|png\|puml\|svg\)$' -exec cp -rv --parents {} "${cartridge_cli_dest}" \;
# Copy translations
mkdir -p "${cartridge_cli_po_dest}"
cd "${cartridge_cli_root}/locale/ru/LC_MESSAGES/doc/" || exit
find . -name '*.po' -exec cp -rv --parents {} "${cartridge_cli_po_dest}" \;
# Add Cartridge Kubernetes guide to the Cartridge toctree right after Cartridge CLI
sed -i -e '/Cartridge CLI <cartridge_cli\/index>/a\' -e '\ \ \ Cartridge Kubernetes guide <cartridge_kubernetes_guide/index>' "${cartridge_rst_dest}/index.rst"
# Monitoring
monitoring_root="${project_root}/modules/metrics/doc/monitoring"
monitoring_dest="${project_root}/doc/book"
monitoring_grafana_root="${project_root}/modules/grafana-dashboard/doc/monitoring"
# Copy monitoring docs to the right destination
mkdir -p "${monitoring_dest}"
yes | cp -rf "${monitoring_root}" "${monitoring_dest}/"
yes | cp -rf "${monitoring_grafana_root}" "${monitoring_dest}/"
# Luatest
luatest_root="${project_root}/modules/luatest"
luatest_dest="${project_root}/doc/reference/reference_rock/luatest"
# Generate Luatest docs
cd "${luatest_root}"
ldoc --ext=rst --dir=rst --toctree="API" .
# Copy Luatest docs to the right place
cd "${luatest_dest}"
yes | cp -fa "${luatest_root}/rst/." "${luatest_dest}"
yes | cp "${luatest_root}/README.rst" "${luatest_dest}"
mkdir -p "${luatest_dest}/_includes/"
yes | mv -f "${luatest_dest}/index.rst" "${luatest_dest}/_includes/"
# Kubernetes operator
cartridge_kubernetes_root="${project_root}/modules/tarantool-operator/doc/cartridge_kubernetes_guide"
cartridge_kubernetes_dest="${cartridge_rst_dest}/"
# Copy Kubernetes operator docs to the right place
mkdir -p "${cartridge_kubernetes_dest}"
yes | cp -rf "${cartridge_kubernetes_root}" "${cartridge_kubernetes_dest}"
# Tarantool C++ connector
tntcxx_root="${project_root}/modules/tntcxx"
tntcxx_gs_dest="${project_root}/doc/getting_started"
tntcxx_api_dest="${project_root}/doc/book/connectors"
# Copy Tarantool C++ connector docs to the right places
mkdir -p "${tntcxx_api_dest}/cxx/"
mkdir -p "${tntcxx_gs_dest}/_includes"
yes | cp -rf "${tntcxx_root}/doc/tntcxx_getting_started.rst" "${tntcxx_gs_dest}/getting_started_cxx.rst"
yes | cp -rf "${tntcxx_root}/examples/" "${tntcxx_gs_dest}/_includes/examples/"
yes | cp -rf "${tntcxx_root}/doc/tntcxx_api.rst" "${tntcxx_api_dest}/cxx/"
# Tracing module
tracing_root="${project_root}/modules/tracing"
tracing_dest="${project_root}/doc/reference/reference_rock/tracing"
# Generate tracing docs
cd "${tracing_root}"
ldoc --ext=rst --dir=rst --toctree="API" .
# Copy tracing docs to the right place
mkdir -p "${tracing_dest}/_includes/"
yes | cp -fa "${tracing_root}/rst/." "${tracing_dest}"
pandoc -f gfm -t rst -o "${tracing_dest}/_includes/readme.rst" "${tracing_root}/README.md"
yes | mv -f "${tracing_dest}/index.rst" "${tracing_dest}/_includes/api.rst"
# remove header from included README file
sed -i '1,3d' "${tracing_dest}/_includes/readme.rst"
# edit paths in the included API file
# Addressing in sphinx includes sometimes defies common logic
sed -i 's,modules,tracing\/modules,g' "${tracing_dest}/_includes/api.rst"