#!/bin/bash
## Invoke from project root, e.g Documentation/doxygen.sh

# Generate doxygen file for Raspberry Pi configure command
echo -e "/**\n * @defgroup RaspberryPiGateway Raspberry Pi Gateway\n * @ingroup MyConfigGrp\n * @brief Configuration options for the Raspberry Pi Gateway\n@{\n@verbatim" > configure.h
				grep -A999 '<<EOF' configure | grep -B999 EOF | grep -v 'EOF' >> configure.h
				echo -e "@endverbatim\n@}*/\n" >> configure.h

# Generate version information
export PROJECTNUMBER=$(
	if [[ $(git rev-parse --abbrev-ref HEAD) == "master" ]]; then
		git describe --tags ;
	else
		git rev-parse --short HEAD ;
	fi
)

# Generate any UML diagrams in the code tree that has the proper tags
export PLANTUML_JAR_PATH=Documentation/plantuml.jar
java -Djava.awt.headless=true -jar $PLANTUML_JAR_PATH -failfast2 -nbthread auto -o "$PWD/Documentation/img" "./**.(c|cpp|dox|h|hpp|ino)"

# Launch Doxygen (assumed to be in the PATH)
doxygen

# Show any warnings created
cat doxygen.log

# Clean up autogenerated (temporary) artifacts
rm configure.h
