From 33015e0393b3aef4a6e129dec5bcf92444321e9c Mon Sep 17 00:00:00 2001 From: SulfurNitride Date: Tue, 28 Apr 2026 21:56:22 -0500 Subject: Add clang-tidy lint infrastructure (.clang-tidy + lint.sh) `./lint.sh` runs clang-tidy inside the fluorine-builder Docker image so the toolchain matches what compile_commands.json was generated with. Strips -mno-direct-extern-access (gcc-only) before invoking clang and skips browserview/browserdialog since QtWebEngine is Windows-only in this fork. Scope: src/src/ + libs/skse_log_redirector/ (everything we authored). Vendored upstream libs follow their own coding standards and stay out-of-scope. Default-off the noisiest categories (fuchsia/google/llvm/altera, pro-type-*, magic-numbers, named-parameter, function-cognitive- complexity, identifier-length, etc.) so the surfaced warnings are actionable. Dockerfile: install clang-tidy alongside the build deps so the image ships everything lint.sh needs. Usage: ./build.sh tarball # build the image (one-time after this commit) # and produce compile_commands.json ./lint.sh # lint everything ./lint.sh --fix # apply auto-fixes ./lint.sh src/src/foo.cpp # lint a single file Co-Authored-By: Claude Opus 4.7 (1M context) --- docker/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) (limited to 'docker') diff --git a/docker/Dockerfile b/docker/Dockerfile index 60caaf6..a96fb71 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -36,6 +36,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ python3 python3-pip python3-pyqt6 \ # Misc zip unzip \ + # Static analysis + clang-tidy \ && rm -rf /var/lib/apt/lists/* # ── Qt 6.10 via aqtinstall ── -- cgit v1.3.1