Patrick Schurig 06e01363d9 build(doc): Doxyfile de vérification (HTML + XML), non bloquant
Périmètre energyplugin/etm/, EXTRACT_ALL=NO — sans quoi doxygen documente tout
d'office et n'avertit de rien.

GENERATE_HTML et GENERATE_XML restent à YES, et c'est structurel : le nombre
d'avertissements dépend des générateurs actifs. Sans aucune sortie, doxygen
1.9.8 signale « not documented » des membres qui le sont (mesuré sur le même
arbre : 163 sans sortie, 167 en XML seul, 109 en LaTeX, 113 en HTML+XML). Seule
la configuration HTML+XML donne un comptage honnête. L'avertissement est écrit
en tête du fichier.

XML pour une éventuelle chaîne Breathe/Sphinx — coût mesuré ~180 ms, 73
fichiers, 1,5 Mo. Note : l'amont nymea documente en qdoc, pas en doxygen ;
nymea-docs n'a pas pu être consulté.

WARN_AS_ERROR=NO : le job CI ne devient bloquant qu'à la clôture de l'étape 3
de specs/spec_ecs.md (relayrouter.h et le noyau de calcul sont différés
jusque-là). Aucun job CI créé dans ce commit.

doc-generated/ (OUTPUT_DIRECTORY) ajouté au .gitignore.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 11:46:16 +02:00

86 lines
3.6 KiB
Plaintext

# Doxyfile — etm-powersync-energy-plugin-etm
# Doxygen 1.9.8
#
# Périmètre : energyplugin/etm/ UNIQUEMENT. Le code amont forké
# (SmartChargingManager et satellites) n'est pas le nôtre ; l'inclure rendrait
# la mesure ininterprétable.
#
# ANGLE MORT ASSUMÉ : les ajouts marqués « // [ETM] » dans les en-têtes amont
# (energyplugin/smartchargingmanager.h) sont hors de ce périmètre et ne sont
# mesurés par aucune configuration tant que la frontière est un répertoire. Ils
# sont peu nombreux, déjà marqués, et documentés à la main — cf. la définition
# de fait dans AGENTS.md.
#
# ATTENTION — le nombre d'avertissements dépend des générateurs de sortie
# activés. Sans aucun générateur, doxygen 1.9.8 émet des « not documented » sur
# des membres qui SONT documentés (constaté : 163 sans sortie, 113 avec
# HTML+XML, sur le même arbre). GENERATE_HTML et GENERATE_XML doivent donc
# rester à YES : c'est ce qui rend le comptage honnête. Ne pas les désactiver
# pour « aller plus vite ».
PROJECT_NAME = "etm-powersync-energy-plugin-etm"
PROJECT_BRIEF = "Moteur HEMS ETM — couche etm/ (arbitre, scheduler, adaptateurs)"
OUTPUT_DIRECTORY = doc-generated
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = French
# --- Périmètre -------------------------------------------------------------
INPUT = energyplugin/etm
RECURSIVE = YES
FILE_PATTERNS = *.h *.cpp
# --- Extraction ------------------------------------------------------------
# EXTRACT_ALL = NO : sans cela doxygen documente tout d'office et n'avertit de
# rien. C'est le réglage qui rend la vérification possible.
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
# --- Avertissements --------------------------------------------------------
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = YES
# WARN_AS_ERROR reste NO : le job CI n'est pas bloquant tant que l'étape 3 de
# specs/spec_ecs.md n'est pas close (relayrouter.h et le noyau de calcul sont
# différés jusque-là). Passer à YES à ce moment, pas avant.
WARN_AS_ERROR = NO
QUIET = YES
WARN_LOGFILE = doc-generated/warnings.txt
# --- Sorties ---------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
GENERATE_LATEX = NO
# XML : consommable par Breathe si le dépôt s'aligne un jour sur une chaîne
# Sphinx. Coût mesuré : ~180 ms, 73 fichiers, 1,5 Mo.
GENERATE_XML = YES
XML_OUTPUT = xml
# --- Préprocesseur ---------------------------------------------------------
# Neutralise les macros Qt (sinon Q_OBJECT est lu comme une déclaration) et
# définit ETM_ARBITRATOR, sans quoi les blocs #ifdef de l'arbitre seraient
# ignorés.
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = Q_OBJECT= \
Q_GADGET= \
Q_PROPERTY(x)= \
Q_INVOKABLE= \
Q_DECLARE_METATYPE(x)= \
Q_ENUM(x)= \
Q_UNUSED(x)= \
ETM_ARBITRATOR \
"Q_DECL_OVERRIDE=override"
# --- Divers ----------------------------------------------------------------
JAVADOC_AUTOBRIEF = NO
QT_AUTOBRIEF = NO
MARKDOWN_SUPPORT = YES
OPTIMIZE_OUTPUT_FOR_C = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HAVE_DOT = NO