Skip to content
Snippets Groups Projects
Verified Commit 12092335 authored by Lars Bilke's avatar Lars Bilke
Browse files

[ci] Added lizard code complexity analyser to Doxygen-job.

- Adds issue report on CI log
- Adds full html report as artifact
- Adds code metric lizard_issues (currently 87)
parent a385058a
No related branches found
No related tags found
No related merge requests found
...@@ -31,6 +31,10 @@ ...@@ -31,6 +31,10 @@
* - Data Explorer (GUI) manual: https://gitlab.opengeosys.org/ogs/data_explorer_manual/-/jobs/artifacts/master/raw/ogsde-man.pdf?job=build * - Data Explorer (GUI) manual: https://gitlab.opengeosys.org/ogs/data_explorer_manual/-/jobs/artifacts/master/raw/ogsde-man.pdf?job=build
* - Discussion forum: https://discourse.opengeosys.org * - Discussion forum: https://discourse.opengeosys.org
* *
* \section deps Dependencies
*
* @image html cmake-dependencies.svg "cmake-dependencies" width=300%
* @image html cpp-dependencies.svg "cpp-dependencies" width=300%
* *
* \section internal_modules Internal Modules * \section internal_modules Internal Modules
* *
......
...@@ -94,4 +94,3 @@ blacklist: [ ...@@ -94,4 +94,3 @@ blacklist: [
Applications/Utils Applications/Utils
Tests Tests
] ]
...@@ -20,12 +20,20 @@ build docs: ...@@ -20,12 +20,20 @@ build docs:
# HACK to easier linking to the generated pages # HACK to easier linking to the generated pages
- echo '<meta http-equiv="REFRESH" content="0;URL=build/docs/index.html">' >> Doxygen.html - echo '<meta http-equiv="REFRESH" content="0;URL=build/docs/index.html">' >> Doxygen.html
- mkdir -p build - mkdir -p build
# cpp-dependencies
- NUM_CYCLES=`/opt/cppcheck/bin/cpp-dependencies --stats|grep cycles|cut -d " " -f 2` - NUM_CYCLES=`/opt/cppcheck/bin/cpp-dependencies --stats|grep cycles|cut -d " " -f 2`
- echo "num_cycles $NUM_CYCLES" > metrics.txt - echo "num_cycles $NUM_CYCLES" > metrics.txt
- /opt/cppcheck/bin/cpp-dependencies --graph cpp-dependencies.dot && dot -Tsvg cpp-dependencies.dot -o build/cpp-dependencies.svg - /opt/cppcheck/bin/cpp-dependencies --graph cpp-dependencies.dot && dot -Tsvg cpp-dependencies.dot -o build/cpp-dependencies.svg
# lizard
- python /opt/lizard/lizard.py -l cpp -w -t 8 > lizard.txt || true
- cat lizard.txt
- NUM_LIZARD_ISSUES=`cat lizard.txt | wc -l`
- echo "lizard_issues $NUM_LIZARD_ISSUES" >> metrics.txt
- python /opt/lizard/lizard.py -l cpp -t 8 --html -o Lizard.html
# build
- cd build - cd build
- cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DOGS_USE_CONAN=OFF -DOGS_USE_POETRY=OFF - cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DOGS_USE_CONAN=OFF -DOGS_USE_POETRY=OFF
- cmake . --graphviz=cmake-dependencies.dot && dot -Tsvg cmake-dependencies.dot - cmake . --graphviz=cmake-dependencies.dot && dot -Tsvg cmake-dependencies.dot -o cmake-dependencies.svg
- cmake . -DOGS_BUILD_PROCESSES=SteadyStateDiffusion - cmake . -DOGS_BUILD_PROCESSES=SteadyStateDiffusion
- cmake --build . --target doc > >(tee make-docs.output) - cmake --build . --target doc > >(tee make-docs.output)
- cat DoxygenWarnings.log|grep -v 'too many nodes' - cat DoxygenWarnings.log|grep -v 'too many nodes'
...@@ -53,7 +61,10 @@ build docs: ...@@ -53,7 +61,10 @@ build docs:
paths: paths:
- Doxygen.html - Doxygen.html
- build/docs - build/docs
- build/*-dependencies.svg - build/cpp-dependencies.svg
- build/cmake-dependencies.svg
- Lizard.html
- lizard.txt
expire_in: 1 week expire_in: 1 week
reports: reports:
metrics: build/metrics.txt metrics: build/metrics.txt
......
...@@ -38,7 +38,7 @@ set(DOXYGEN_CITE_BIB_FILES ...@@ -38,7 +38,7 @@ set(DOXYGEN_CITE_BIB_FILES
set(DOXYGEN_QUIET YES) set(DOXYGEN_QUIET YES)
set(DOXYGEN_WARN_LOGFILE ${PROJECT_BINARY_DIR}/DoxygenWarnings.log) set(DOXYGEN_WARN_LOGFILE ${PROJECT_BINARY_DIR}/DoxygenWarnings.log)
set(DOXYGEN_EXCLUDE_PATTERNS moc_* ui_* CMake*) set(DOXYGEN_EXCLUDE_PATTERNS moc_* ui_* CMake*)
set(DOXYGEN_IMAGE_PATH ${PROJECT_SOURCE_DIR}/Documentation/images) set(DOXYGEN_IMAGE_PATH ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Documentation/images)
set(DOXYGEN_SOURCE_BROWSER YES) set(DOXYGEN_SOURCE_BROWSER YES)
set(DOXYGEN_INLINE_SOURCES YES) set(DOXYGEN_INLINE_SOURCES YES)
set(DOXYGEN_REFERENCED_BY_RELATION YES) set(DOXYGEN_REFERENCED_BY_RELATION YES)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment