osmo-ci/scripts/osmocom-api-doxygen.sh

57 lines
1.2 KiB
Bash
Executable File

#!/bin/sh -ex
SSH_CMD="ssh -o UserKnownHostsFile=/build/contrib/known_hosts -p 48"
# Repositories for which doxygen documentation will be generated and
# uploaded, also dependencies which need to be built
repos_api="
libosmocore
libosmo-abis
libosmo-dsp
libosmo-netif
libosmo-sccp
osmo-gmr
"
# Source common.sh from osmo-ci.git for osmo_git_clone_url()
. scripts/common.sh
# Check early that SSH works
$SSH_CMD api@ftp.osmocom.org -T -- true
# Put git repos and install data in a subdir, so it isn't in the root
# of the cloned osmo-ci.git repository
mkdir _osmocom_api
cd _osmocom_api
# Prepare pkgconfig path
export PKG_CONFIG_PATH=$PWD/install/lib/pkgconfig
mkdir -p "$PKG_CONFIG_PATH"
# Clone and build the repositories
for i in $repos_api; do
git clone "$(osmo_git_clone_url "$i")"
cd "$i"
autoreconf -fi
./configure \
--prefix=$PWD/../install \
--with-systemdsystemunitdir=no
make $PARALLEL_MAKE install
cd ..
done
# Upload all docs
for i in $repos_api; do
if ! [ -d "$i"/doc ]; then
# e.g. libosmo-abis is built as dependency for others but doesn't
# have its own doxygen documentation as of writing
continue
fi
rsync \
-avz \
--delete \
-e "$SSH_CMD" \
./"$i"/doc/ \
api@ftp.osmocom.org:web-files/latest/"$i"/
done