Skip to content

Commit

Permalink
docu: additional build local doc shell script working for Mac OS X
Browse files Browse the repository at this point in the history
  • Loading branch information
onkelandy committed Mar 3, 2024
1 parent 6cb8d90 commit 39c51f8
Showing 1 changed file with 221 additions and 0 deletions.
221 changes: 221 additions & 0 deletions doc/build_doc_local_osx.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
# Bau der Doku für SmartHomeNG
#
# Das Skript checkt dazu den Core und die Plugins aus und baut die Dokumentation
#
# Das neu erzeugte Verzeichnis kann gelöscht werden, nachdem die Doku auf
# den Webserver kopiert wurde
#

if [ "$1" == "-h" ]; then
echo
echo Skript zum Erzeugen der Dokumentation für SmartHomeNG
echo =====================================================
echo
echo Optionen:
echo -h - Anzeigen dieser Hilfe
echo -u - Nur die Anwender Dokumentation erzeugen
echo -d - Nur die Entwickler Dokumentation erzeugen
echo
exit
fi

KEEP_REPO=True
#if [ "$1" == "-f" ] || [ "$2" == "-f" ] || [ "$3" == "-f" ]; then
# FORCE_CHECKOUT=True
#fi

DOC=user
if [ "$1" == "-u" ] || [ "$2" == "-u" ] || [ "$3" == "-u" ]; then
DOC=user
fi
if [ "$1" == "-d" ] || [ "$2" == "-d" ] || [ "$3" == "-d" ]; then
DOC=developer
fi

DESTBRANCH=develop
#if [ "$1" == "-m" ] || [ "$2" == "-m" ] || [ "$3" == "-m" ]; then
# DESTBRANCH=master
#fi

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

DIR=$DIR

ACCOUNT=smarthomeNG
REPO=smarthome
LOCALREPO=
#LOCALREPO=work

DEVELOPDOC=developer
USERDOC=user


GIT_CHECKOUT=False
#GIT_CHECKOUT=True
echo $DIR/$LOCALREPO/doc
if [ -d "$DIR/$LOCALREPO/doc" ]; then
if [ "${FORCE_CHECKOUT,,}" != "true" ]; then
GIT_CHECKOUT=False
fi
fi

cd $DIR

echo
echo
if [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "all" ]; then
echo Erzeugen der vollständigen Dokumentation für SmartHomeNG
echo ========================================================
fi
echo
if [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "developer" ]; then
echo Erzeugen der Entwicklerdokumentation für SmartHomeNG
echo ====================================================
fi
if [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "user" ]; then
echo Erzeugen der Anwenderdokumentation für SmartHomeNG
echo ==================================================
fi
echo
python3 -V
python3 -c "import sphinx" 2> /dev/null
if [ "$?" == "1" ]; then
echo Vor Ausführung dieses Skriptes zum Erstellen der $ACCOUNT/$REPO Doku
echo \(branch $DESTBRANCH\), bitte prüfen ob Sphinx installiert ist.
echo
echo Die Installation folgender Pakete ist notwendig:
echo
echo -e "\t Sphinx (Version >= 3.0)"
echo -e "\t sphinx_rtd_theme"
echo -e "\t recommonmark (Version >= 0.6.0)"
echo -e "\t ruamel.yaml (passend zur Python Version)"
echo
echo Die Installation von Sphinx kann mit folgendem Kommando durchgeführt werden:
echo
echo -e "\t $ cd /usr/local/smarthome/doc"
echo -e "\t $ pip3 install -r requirements.txt"
echo
exit
fi
if [ "$(echo "$KEEP_REPO" | tr '[:upper:]' '[:lower:]')" != "true" ]; then
echo und legt die entstandene Dokumentation in \'$DIR/html\' ab.
fi
echo
echo Sollten die build Verzeichnisse bereits existieren, werden die alten
echo gebauten Versionen während des Skriptes gelöscht. Der Account unter dem
echo dieses Skript ausgeführt wird, muss Rechte zum anlegen von Verzeichnissen
echo in \'$DIR\' haben.
echo
if [ "$(echo "$GIT_CHECKOUT" | tr '[:upper:]' '[:lower:]')" == "true" ]; then
echo Das Skript clont von github den aktuellen Stand des Branches \'$DESTBRANCH\' aus den
echo Repositories \'smarthome\' und \'plugins\'.
else
echo ACHTUNG: Das Skript verwendet einen bereits bestehenden lokalen Clone
echo der Repositories.

fi
echo
echo Während des Laufes erfolgt die Ausgabe einer Reihe von Warnungen. Das ist
echo normal. Es wurden markdown \(.md\) Dateien gefunden, die bewusst nicht in die
echo Dokumentation aufgenommen wurden. Darauf weisen diese Warnungen hin.

echo
read -rsp $'Um fortzufahren ENTER drücken, zum Abbruch ^C drücken...\n'


#if [ "${GIT_CHECKOUT,,}" == "true" ]; then
# echo
# if [ -d "$LOCALREPO" ]; then
# echo Lösche altes Arbeitsverzeichnis \'$LOCALREPO\'
# rm -rf $LOCALREPO
# fi
#
# if [ ! -d "$LOCALREPO" ]; then
# echo Erzeuge temporäres Arbeitsverzeichnis \'$LOCALREPO\'
# mkdir $LOCALREPO
# fi
#
# echo
# echo echo Auschecken des Core von github:
# git clone -b $DESTBRANCH https://github.com/$ACCOUNT/$REPO.git $LOCALREPO
#
# echo
# echo git status \($REPO\):
# cd $LOCALREPO
# git status
#
# echo
# echo Auschecken der Plugins von github:
#
# mkdir plugins >nul
# cd plugins
# git clone -b $DESTBRANCH https://github.com/$ACCOUNT/plugins.git .
#
# echo
# cd $DIR
# cd $LOCALREPO
# echo git status \(plugins\):
# git status
#fi


if [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "developer" ] || [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "all" ]; then
cd $DIR/
# cd $LOCALREPO
# cd doc
echo
echo Bau der Entwickler-Dokumentation:
cd $DEVELOPDOC
rm -r build
make clean || exit
make html || exit
echo
echo Bau der Entwickler-Dokumentation ist abgeschlossen!
echo
echo Die Startseite ist: \'${DIR}/user/build/html/index.html\'
fi

if [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "user" ] || [ "$(echo "$DOC" | tr '[:upper:]' '[:lower:]')" == "all" ]; then
cd $DIR/
# cd $LOCALREPO
# cd doc
echo
echo Bau der Anwender-Dokumentation:
cd $USERDOC
rm -r build
make clean || exit
make html || exit
echo
echo Bau der Anwender-Dokumentation ist abgeschlossen!
echo
echo Die Startseite ist: \'${DIR}/user/build/html/index.html\'
fi


cd $DIR
echo

#if [ "${KEEP_REPO,,}" == "true" ]; then
# echo Geclontes Repository ist erhalten
#fi

if [ "$(echo "$KEEP_REPO" | tr '[:upper:]' '[:lower:]')" != "true" ]; then
if [ -d "$DIR/html" ]; then
echo Lösche das existierende Verzeichnis $DIR/html
rm -rf $DIR/html
fi
echo Verschiebe die neu gebaute Doku zu $DIR/html
mv $LOCALREPO/doc/build/html $DIR

echo Lösche das temporäre Arbeitsverzeichnis $LOCALREPO
rm -rf $LOCALREPO

echo
echo
echo
echo Zur Veröffentlichung der Doku \(Branch $DESTBRANCH\):
echo
echo Bitte jetzt noch den Inhalt des Verzeichnisses \'$DIR/html\'
echo auf den webserver www.smarthomeNG.de in das Verzeichnis /dev kopieren
echo
fi

0 comments on commit 39c51f8

Please sign in to comment.