Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 24 additions & 14 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,35 @@ jobs:
with:
submodules: "true"
fetch-depth: 0
- name: Inject version into mainpage.dox
- name: Inject development version into mainpage.dox
run: |
TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "0.0.0-untagged")
TAG=$(echo "$TAG" | sed 's/^v//')
echo "Using version: $TAG"
VERSION=$(sed -n 's/^project(log-it-cpp VERSION \([^ ]*\).*/\1/p' CMakeLists.txt | head -n 1)
if [ -z "$VERSION" ]; then
if VERSION=$(git describe --tags --abbrev=0 2>/dev/null); then
VERSION=$(printf '%s' "$VERSION" | sed 's/^v//')
else
VERSION="0.0.0-untagged"
fi
fi
DOC_VERSION="${VERSION}-dev"
echo "Using version: $DOC_VERSION"
test -f docs/mainpage.dox || { echo "mainpage.dox not found!"; exit 1; }
sed -i "0,/VERSION_PLACEHOLDER/s//$TAG/" docs/mainpage.dox
sed -i "0,/VERSION_PLACEHOLDER/s//${DOC_VERSION}/" docs/mainpage.dox
- name: Generate Documentation
uses: mattnotmitt/doxygen-action@edge
- name: Check for documentation changes
id: docs_changed
uses: mattnotmitt/doxygen-action@v1.12.0
- name: Validate generated documentation
run: |
if git diff --quiet -- docs/html; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
test -s docs/html/index.html
test -s docs/html/pages.html
test -s docs/html/classes.html
grep -q "1.0.2-dev" docs/html/index.html
grep -R -q "MemoryLogger" docs/html
grep -R -q "MdbxLogger" docs/html
grep -R -q "PrometheusHttpServerLogger" docs/html
grep -R -q "OtlpHttpLogger" docs/html
! grep -R -q "AGENTS.md" docs/html
! grep -R -q "NewYaroslav" docs/html
- name: Publish generated content to GitHub Pages
if: steps.docs_changed.outputs.changed == 'true'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.ACCESS_TOKEN }}
Expand Down
20 changes: 9 additions & 11 deletions Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ PROJECT_NUMBER =
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF =
PROJECT_BRIEF = "Header-only, macro-first C++ logging library"

# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
Expand Down Expand Up @@ -907,7 +907,7 @@ WARN_IF_UNDOC_ENUM_VAL = NO
# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT.
# The default value is: NO.

WARN_AS_ERROR = NO
WARN_AS_ERROR = FAIL_ON_WARNINGS

# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
Expand Down Expand Up @@ -952,7 +952,11 @@ WARN_LOGFILE =
INPUT = ./include \
./examples \
./docs/mainpage.dox \
./docs/groups.dox
./docs/groups.dox \
./docs/OtlpHttpLogger.md \
./docs/PrometheusLogger.md \
./docs/TaskExecutor.md \
./docs/backpressure.md

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -1073,7 +1077,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*

EXCLUDE_PATTERNS =
EXCLUDE_PATTERNS = */AGENTS.md

# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
Expand Down Expand Up @@ -1275,23 +1279,19 @@ VERBATIM_HEADERS = YES
# generated with the -Duse_libclang=ON option for CMake.
# The default value is: NO.

CLANG_ASSISTED_PARSING = NO

# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS
# tag is set to YES then doxygen will add the directory of each input to the
# include path.
# The default value is: YES.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.

CLANG_ADD_INC_PATHS = YES

# If clang assisted parsing is enabled you can provide the compiler with command
# line options that you would normally use when invoking the compiler. Note that
# the include paths will already be set by doxygen for the files and directories
# specified with INPUT and INCLUDE_PATH.
# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES.

CLANG_OPTIONS =

# If clang assisted parsing is enabled you can provide the clang parser with the
# path to the directory containing a file called compile_commands.json. This
Expand All @@ -1304,7 +1304,6 @@ CLANG_OPTIONS =
# Note: The availability of this option depends on whether or not doxygen was
# generated with the -Duse_libclang=ON option for CMake.

CLANG_DATABASE_PATH =

#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
Expand Down Expand Up @@ -2002,7 +2001,7 @@ EXTRA_SEARCH_MAPPINGS =
# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output.
# The default value is: YES.

GENERATE_LATEX = YES
GENERATE_LATEX = NO

# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
Expand Down Expand Up @@ -2870,7 +2869,6 @@ MAX_DOT_GRAPH_DEPTH = 0
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.

DOT_MULTI_TARGETS = NO

# If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page
# explaining the meaning of the various boxes and arrows in the dot generated
Expand Down
Loading
Loading