website/ddoc-build.sh

51 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
DDOC_DIR=".ddoc"
DDOC_OUT_DIR="docs/ddoc"
DDOC_SOURCES_DIR="$DDOC_DIR/sources"
DDOC_GEN_DIR="$DDOC_DIR/adrdox"
DDOC_GEN_BIN="$DDOC_GEN_DIR/doc2"
declare -a projects=(
"primitives"
"transport"
"handlers"
"data"
"websockets"
)
rm -rf $DDOC_OUT_DIR
rm -rf $DDOC_SOURCES_DIR
mkdir $DDOC_DIR -p
mkdir $DDOC_SOURCES_DIR -p
if [ ! -f "$DDOC_GEN_BIN" ]; then
echo "$DDOC_GEN_BIN doesn't exist. Rebuilding adrdox..."
rm -rf $DDOC_GEN_DIR
git clone git@github.com:adamdruppe/adrdox.git --branch master --single-branch $DDOC_GEN_DIR
cd $DDOC_GEN_DIR
# Remove references to "Roboto" font files that we don't have.
sed -i '51,62d' style.css
make
cd ..
cd ..
fi
for project in "${projects[@]}"
do
echo "Project: ${project}"
project_dir="$DDOC_SOURCES_DIR/${project}"
project_source_dir="$project_dir/source"
project_ddoc_out_dir="$DDOC_OUT_DIR/${project}"
mkdir $project_ddoc_out_dir -p
git clone git@git.andrewlalis.com:Handy-Http/${project}.git --branch main --single-branch $project_dir
$DDOC_GEN_BIN -i --document-undocumented -o $project_ddoc_out_dir $project_source_dir
done
# Remove the "skeleton.html" file that adrdox generates.
rm -f skeleton.html