This commit is contained in:
@@ -30,17 +30,30 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Install Doxygen and tools
|
- name: Install Doxygen, Graphviz, and doxybook2
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y doxygen rsync
|
sudo apt-get install -y doxygen graphviz rsync curl ca-certificates unzip
|
||||||
|
ARCH="$(uname -m)"
|
||||||
|
case "${ARCH}" in
|
||||||
|
x86_64|amd64) DOXYBOOK2_ASSET="doxybook2-linux-amd64.zip" ;;
|
||||||
|
aarch64|arm64) DOXYBOOK2_ASSET="doxybook2-linux-arm64.zip" ;;
|
||||||
|
*) echo "Unsupported architecture: ${ARCH}" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
curl -fsSL -o /tmp/doxybook2.zip "https://github.com/matusnovak/doxybook2/releases/latest/download/${DOXYBOOK2_ASSET}"
|
||||||
|
sudo unzip -j /tmp/doxybook2.zip -d /usr/local/bin doxybook2
|
||||||
|
sudo chmod +x /usr/local/bin/doxybook2
|
||||||
|
doxybook2 --version
|
||||||
|
|
||||||
- name: Build Doxygen site
|
- name: Build Doxygen (HTML + XML)
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
rm -rf docs/html docs/xml
|
||||||
doxygen Doxyfile
|
doxygen Doxyfile
|
||||||
test -d docs/html || { echo "Doxygen output not found at docs/html"; exit 2; }
|
test -d docs/xml || { echo "Doxygen XML output not found at docs/xml"; exit 2; }
|
||||||
|
|
||||||
- name: Publish to Wiki
|
- name: Publish to Wiki
|
||||||
env:
|
env:
|
||||||
@@ -85,20 +98,20 @@ jobs:
|
|||||||
# Configure token for pushes to this host
|
# Configure token for pushes to this host
|
||||||
git -C wiki config http."https://${SERVER_HOST}/".extraHeader "Authorization: token ${WIKI_TOKEN}"
|
git -C wiki config http."https://${SERVER_HOST}/".extraHeader "Authorization: token ${WIKI_TOKEN}"
|
||||||
|
|
||||||
# Sync generated HTML to wiki/doxygen
|
# Convert Doxygen XML to Markdown into wiki/Doxygen
|
||||||
mkdir -p wiki/doxygen
|
rm -rf wiki/Doxygen wiki/doxygen
|
||||||
rsync -a --delete --checksum docs/html/ wiki/doxygen/
|
mkdir -p wiki/Doxygen
|
||||||
|
doxybook2 --input docs/xml --output wiki/Doxygen
|
||||||
|
|
||||||
# Seed landing page if missing
|
# Create/overwrite the landing page
|
||||||
if [ ! -f "wiki/Doxygen.md" ]; then
|
cat > wiki/Doxygen.md << 'EOF'
|
||||||
printf "%s\n" \
|
# Doxygen Documentation
|
||||||
"# Doxygen Documentation" \
|
|
||||||
"" \
|
The generated API reference is published as native Markdown pages under the Doxygen directory in this wiki.
|
||||||
"The generated API reference is published in this wiki under the doxygen directory." \
|
|
||||||
"" \
|
- Open the entry point (if present): [Doxygen/index.md](Doxygen/index.md)
|
||||||
"- Open the HTML entry point: [doxygen/index.html](doxygen/index.html)" \
|
- Or browse the Doxygen/ pages listed in the sidebar
|
||||||
> wiki/Doxygen.md
|
EOF
|
||||||
fi
|
|
||||||
|
|
||||||
# Commit and push
|
# Commit and push
|
||||||
COMMIT_SHA="$(git rev-parse --short HEAD || echo)"
|
COMMIT_SHA="$(git rev-parse --short HEAD || echo)"
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ PROJECT_BRIEF = "Advanced Python obfuscator (renaming, string encryptio
|
|||||||
OUTPUT_DIRECTORY = docs
|
OUTPUT_DIRECTORY = docs
|
||||||
GENERATE_HTML = YES
|
GENERATE_HTML = YES
|
||||||
GENERATE_LATEX = NO
|
GENERATE_LATEX = NO
|
||||||
GENERATE_XML = NO
|
GENERATE_XML = YES
|
||||||
EXTRACT_ALL = YES
|
EXTRACT_ALL = YES
|
||||||
EXTRACT_PRIVATE = NO
|
EXTRACT_PRIVATE = NO
|
||||||
EXTRACT_STATIC = YES
|
EXTRACT_STATIC = YES
|
||||||
@@ -32,6 +32,7 @@ GENERATE_TREEVIEW = YES
|
|||||||
HTML_DYNAMIC_SECTIONS = YES
|
HTML_DYNAMIC_SECTIONS = YES
|
||||||
CALL_GRAPH = NO
|
CALL_GRAPH = NO
|
||||||
CALLER_GRAPH = NO
|
CALLER_GRAPH = NO
|
||||||
|
HAVE_DOT = YES
|
||||||
SORT_MEMBER_DOCS = YES
|
SORT_MEMBER_DOCS = YES
|
||||||
SORT_BRIEF_DOCS = YES
|
SORT_BRIEF_DOCS = YES
|
||||||
SORT_BY_SCOPE_NAME = YES
|
SORT_BY_SCOPE_NAME = YES
|
||||||
|
|||||||
Reference in New Issue
Block a user