adding doc generation

This commit is contained in:
Filip Bucek 2019-11-05 17:44:27 +01:00
parent 9f8eeaffbb
commit b7e67bae73
7 changed files with 2607 additions and 6 deletions

View File

@ -58,3 +58,11 @@ codecoverage:
script:
- scripts/codecoverage.sh
coverage: '/^\s+functions..:\s+(\d+\.\d+%).+$/'
doc:
stage: test
tags:
- shell
script:
- scripts/doc.sh

17
doc/Doxyfile Normal file
View File

@ -0,0 +1,17 @@
@INCLUDE = Doxyfile-init
# Output settings
GENERATE_HTML = YES
GENERATE_XML = NO
GENERATE_LATEX = NO
XML_PROGRAMLISTING = NO
# Project settings
PROJECT_NAME = "core-sdk"
INPUT = "../src"
RECURSIVE = YES
EXTRACT_PRIVATE = YES
# Undocumented
EXTRACT_ALL = YES
CALL_GRAPH = YES
CALLER_GRAPH = YES
HAVE_DOT = YES

2473
doc/Doxyfile-init Normal file

File diff suppressed because it is too large Load Diff

39
doc/Doxyfile-mcss Normal file
View File

@ -0,0 +1,39 @@
@INCLUDE = Doxyfile-init
# Output settings
GENERATE_HTML = NO
GENERATE_XML = YES
GENERATE_LATEX = NO
XML_PROGRAMLISTING = YES
# Project settings
PROJECT_NAME = "core-sdk"
INPUT = "../src"
OUTPUT_DIRECTORY = ../../../build/doc/core-sdk
FULL_PATH_NAMES = NO
# Attributes settings
RECURSIVE = YES
EXTRACT_PRIVATE = YES
EXTRACT_ALL = YES
## m.css internal command -> show undocumented
M_SHOW_UNDOCUMENTED = YES
## Taken from magnum ( Project from authors of m.css )
SHOW_USED_FILES = YES
VERBATIM_HEADERS = NO
AUTOLINK_SUPPORT = YES
ALIASES += \
"m_div{1}=@xmlonly<mcss:div xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
"m_enddiv=@xmlonly</mcss:div>@endxmlonly" \
"m_span{1}=@xmlonly<mcss:span xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\">@endxmlonly" \
"m_endspan=@xmlonly</mcss:span>@endxmlonly" \
"m_class{1}=@xmlonly<mcss:class xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:class=\"\1\" />@endxmlonly" \
"m_footernavigation=@xmlonly<mcss:footernavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" />@endxmlonly" \
"m_examplenavigation{2}=@xmlonly<mcss:examplenavigation xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:page=\"\1\" mcss:prefix=\"\2\" />@endxmlonly" \
"m_keywords{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"\1\" />@endxmlonly" \
"m_keyword{3}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keyword=\"\1\" mcss:title=\"\2\" mcss:suffix-length=\"\3\" />@endxmlonly" \
"m_enum_values_as_keywords=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:enum-values-as-keywords=\"true\" />@endxmlonly"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash
#!/bin/bash
# @see https://intoli.com/blog/exit-on-errors-in-bash-scripts/
set -e
trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; else pass "finished";fi' EXIT
trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; elif [ "$FAIL" -eq "1" ]; then fail finished with error; else pass "finished";fi' EXIT
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
DIRNAME="${SRCDIR##*/}"

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash
#!/bin/bash
# @see https://intoli.com/blog/exit-on-errors-in-bash-scripts/
set -e
trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; elif [ $FAIL == 1 ]; then fail finished with error; exit 1; else pass "finished all";fi' EXIT
trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; elif [ "$FAIL" -eq "1" ]; then fail finished with error; else pass "finished";fi' EXIT
SRCDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
DIRNAME="${SRCDIR##*/}"
@ -11,9 +11,8 @@ DIRNAME="${SRCDIR##*/}"
exclude_dir=build
check_dir=$SRCDIR/../src
FAIL=0
main() {
FAIL=0;
{ ERROR="$( { cppcheck $check_dir --suppress=missingIncludeSystem --suppress=unusedFunction --enable=all -i $exclude_dir; } 2>&1 1>&3 3>&- )"; } 3>&1;
if [ ! -z "$ERROR" ]; then

65
scripts/doc.sh Executable file
View File

@ -0,0 +1,65 @@
#!/bin/bash
# @see https://intoli.com/blog/exit-on-errors-in-bash-scripts/
set -e
trap 'LASTRES=$?; LAST=$BASH_COMMAND; if [[ LASTRES -ne 0 ]]; then fail "Command: \"$LAST\" exited with exit code: $LASTRES"; elif [ "$FAIL" -eq "1" ]; then fail finished with error; else pass "finished";fi' EXIT
CURRENT_DIR="$( cd "$( DIRNAME "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
DIR_NAME="${CURRENT_DIR##*/}"
FAIL=0
SOURCE_DIR=$CURRENT_DIR"/.."
BUILD_DIR=$SOURCE_DIR"/../../build"
main() {
ls $BUILD_DIR
doc "$@"
}
function doc() {
info "Generation documentation"
cd $BUILD_DIR/..
cd ..
if [ ! -d "m.css" ] ; then
info "Cloning m.css"; git clone git://github.com/mosra/m.css;
fi
cd m.css/documentation
info "Installing jinja2 and Pygments"
pip3 install jinja2 Pygments
info "Generating doxygen"
if [ "$1" == "clean" ]; then rm -fr $BUILD_DIR/doc/$DIR_NAME; fi
./doxygen.py --debug $SOURCE_DIR/doc/Doxyfile-mcss
if [ "$1" == "open" ]; then
open $BUILD_DIR/doc/core-sdk/html/index.html
fi
}
# ################
# Output funcitons
# ################
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
function info () {
echo -e "[${BLUE} $@ ${NC}]"
}
function pass() {
echo -e "[${GREEN}PASS${NC}] $@"
}
function fail() {
FAIL=1; echo -e "[${RED}FAIL${NC}] $@"
}
# Run main function
main "$@"