summary refs log tree commit diff
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2022-02-22 02:47:44 +1100
committerGitHub <noreply@github.com>2022-02-21 15:47:44 +0000
commitf30f963a0b6ccaa151fe83dd8302fa1f6829086e (patch)
tree12a91b56de63ad064de2cbbf68e79001f659d4b1
parentb1de11c27575f9956d2f7dfd6bf0240d630e3ae1 (diff)
Internal docs generation updates (#16411)
-rw-r--r--.gitignore1
-rw-r--r--Doxyfile6
-rw-r--r--lib/python/qmk/cli/generate/docs.py16
3 files changed, 13 insertions, 10 deletions
diff --git a/.gitignore b/.gitignore
index 768f40b191..3cc40dc2ad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -18,7 +18,6 @@
 
 # QMK-specific
 api_data/v1
-doxygen/
 quantum/version.h
 *.bin
 *.eep
diff --git a/Doxyfile b/Doxyfile
index 218d77b4dd..4b0ea3f086 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -21,7 +21,7 @@ DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "QMK Firmware"
 PROJECT_NUMBER         = https://github.com/qmk/qmk_firmware
 PROJECT_BRIEF          = "Keyboard controller firmware for Atmel AVR and ARM USB families"
-OUTPUT_DIRECTORY       = doxygen
+OUTPUT_DIRECTORY       = .build/doxygen
 ALLOW_UNICODE_NAMES    = NO
 OUTPUT_LANGUAGE        = English
 BRIEF_MEMBER_DESC      = YES
@@ -145,7 +145,7 @@ FILE_PATTERNS          = *.c \
 RECURSIVE              = YES
 EXCLUDE                = 
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
+EXCLUDE_PATTERNS       = */protocol/arm_atsam/*
 EXCLUDE_SYMBOLS        = 
 EXAMPLE_PATH           = 
 EXAMPLE_PATTERNS       = *
@@ -209,7 +209,7 @@ EXPAND_ONLY_PREDEF     = NO
 SEARCH_INCLUDES        = YES
 INCLUDE_PATH           = 
 INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
+PREDEFINED             = __DOXYGEN__ PROGMEM
 EXPAND_AS_DEFINED      = 
 SKIP_FUNCTION_MACROS   = YES
 
diff --git a/lib/python/qmk/cli/generate/docs.py b/lib/python/qmk/cli/generate/docs.py
index 749336fea5..74112d834d 100644
--- a/lib/python/qmk/cli/generate/docs.py
+++ b/lib/python/qmk/cli/generate/docs.py
@@ -7,7 +7,9 @@ from subprocess import DEVNULL
 from milc import cli
 
 DOCS_PATH = Path('docs/')
-BUILD_PATH = Path('.build/docs/')
+BUILD_PATH = Path('.build/')
+BUILD_DOCS_PATH = BUILD_PATH / 'docs'
+DOXYGEN_PATH = BUILD_PATH / 'doxygen'
 
 
 @cli.subcommand('Build QMK documentation.', hidden=False if cli.config.user.developer else True)
@@ -18,10 +20,12 @@ def generate_docs(cli):
         * [ ] Add a real build step... something static docs
     """
 
-    if BUILD_PATH.exists():
-        shutil.rmtree(BUILD_PATH)
+    if BUILD_DOCS_PATH.exists():
+        shutil.rmtree(BUILD_DOCS_PATH)
+    if DOXYGEN_PATH.exists():
+        shutil.rmtree(DOXYGEN_PATH)
 
-    shutil.copytree(DOCS_PATH, BUILD_PATH)
+    shutil.copytree(DOCS_PATH, BUILD_DOCS_PATH)
 
     # When not verbose we want to hide all output
     args = {
@@ -34,6 +38,6 @@ def generate_docs(cli):
 
     # Generate internal docs
     cli.run(['doxygen', 'Doxyfile'], **args)
-    cli.run(['moxygen', '-q', '-a', '-g', '-o', BUILD_PATH / 'internals_%s.md', 'doxygen/xml'], **args)
+    cli.run(['moxygen', '-q', '-g', '-o', BUILD_DOCS_PATH / 'internals_%s.md', DOXYGEN_PATH / 'xml'], **args)
 
-    cli.log.info('Successfully generated internal docs to %s.', BUILD_PATH)
+    cli.log.info('Successfully generated internal docs to %s.', BUILD_DOCS_PATH)