Skip to content

Fix doc generation and improve on structure + some content#233

Open
Ozaq wants to merge 5 commits intodevelopfrom
fix/doc-structure
Open

Fix doc generation and improve on structure + some content#233
Ozaq wants to merge 5 commits intodevelopfrom
fix/doc-structure

Conversation

@Ozaq
Copy link
Member

@Ozaq Ozaq commented Feb 24, 2026

Description

commit 9e1dbd5 (HEAD -> fix/doc-structure, origin/fix/doc-structure)
Author: Kai Kratz Kai.Kratz@ecmwf.int
Date: Tue Feb 24 22:02:52 2026 +0100

Fix ninja not detecting RST file changes

file(GLOB_RECURSE) only runs at configure time, so adding or
renaming RST files left ninja with a stale dependency list that
reported "nothing to do." CONFIGURE_DEPENDS makes ninja re-check
the glob at each build and reconfigure when the file set changes.

Also filters out the leftover in-source _build/ directory whose
stale RST copies were polluting the dependency list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit bd89f27
Author: Kai Kratz Kai.Kratz@ecmwf.int
Date: Tue Feb 24 21:44:58 2026 +0100

Add fdb wrapper section and tool summary tables to CLI docs

Users landing on the CLI tools page had no overview of what's
available — they had to click into each page. Tables with one-line
descriptions let users scan and find the right tool quickly.

Moves the fdb wrapper command to its own prominent section so new
users understand the single entry point before diving into
individual tools.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit ecaedf4
Author: Kai Kratz Kai.Kratz@ecmwf.int
Date: Tue Feb 24 21:27:13 2026 +0100

Replace build_docs.sh with native CMake doc build

The shell script had a broken INPUT path (resolved relative to
docs/ instead of the repo root), used readlink -f which doesn't
exist on stock macOS, and ran doxygen+sphinx as one opaque step
so CMake couldn't skip doxygen when only RST files changed.

Native configure_file() + add_custom_command() fixes all three
and uses PROJECT_SOURCE_DIR to work correctly in super-builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

commit cd2fcc5
Author: Kai Kratz Kai.Kratz@ecmwf.int
Date: Tue Feb 24 21:27:00 2026 +0100

Flatten doc structure to match how users discover tools

The three-category split (DebugTools, GeneralPurposeTools,
SpecialPurposeTools) forced users to know a tool's classification
before finding its docs. A flat cli_tools/ directory lets users
scan all tools in one place and matches the single --help index.

Consolidates the C and C++ API pages into one breathe-backed page
so the reference stays in sync with headers automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Contributor Declaration

By opening this pull request, I affirm the following:

  • All authors agree to the Contributor License Agreement.
  • The code follows the project's coding standards.
  • I have performed self-review and added comments where needed.
  • I have added or updated tests to verify that my changes are effective and functional.
  • I have run all existing tests and confirmed they pass.

🌈🌦️📖🚧 Documentation Z3FDB 🚧📖🌦️🌈
https://sites.ecmwf.int/docs/dev-section/z3fdb/pull-requests/PR-233

🌈🌦️📖🚧 Documentation FDB 🚧📖🌦️🌈
https://sites.ecmwf.int/docs/dev-section/fdb/pull-requests/PR-233

@Ozaq Ozaq requested a review from pgeier February 24, 2026 21:09
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.05%. Comparing base (69047b7) to head (33f5b81).
⚠️ Report is 1 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #233      +/-   ##
===========================================
+ Coverage    74.03%   74.05%   +0.02%     
===========================================
  Files          376      376              
  Lines        23738    23738              
  Branches      2471     2471              
===========================================
+ Hits         17574    17580       +6     
+ Misses        6164     6158       -6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Ozaq Ozaq force-pushed the fix/doc-structure branch from 33f5b81 to 6da507b Compare February 25, 2026 13:02
Ozaq and others added 5 commits February 25, 2026 14:02
The three-category split (DebugTools, GeneralPurposeTools,
SpecialPurposeTools) forced users to know a tool's classification
before finding its docs. A flat cli_tools/ directory lets users
scan all tools in one place and matches the single --help index.

Consolidates the C and C++ API pages into one breathe-backed page
so the reference stays in sync with headers automatically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The old build_docs.sh had a broken INPUT path (resolved relative
to docs/ instead of the repo root), used readlink -f which doesn't
exist on stock macOS, and ran doxygen+sphinx as one opaque step so
CMake couldn't skip doxygen when only RST files changed.

Add native configure_file() + add_custom_command() that fixes all
three and uses PROJECT_SOURCE_DIR for super-build compatibility.

Rewrite build_docs.sh to substitute the new Doxyfile.in @variable@
placeholders with sed, so the GitHub Actions docs workflow keeps
working without a full CMake configure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Users landing on the CLI tools page had no overview of what's
available — they had to click into each page. Tables with one-line
descriptions let users scan and find the right tool quickly.

Moves the fdb wrapper command to its own prominent section so new
users understand the single entry point before diving into
individual tools.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
file(GLOB_RECURSE) only runs at configure time, so adding or
renaming RST files left ninja with a stale dependency list that
reported "nothing to do." CONFIGURE_DEPENDS makes ninja re-check
the glob at each build and reconfigure when the file set changes.

Also filters out the leftover in-source _build/ directory whose
stale RST copies were polluting the dependency list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Users following the info.rst example would get an error
because --config is not a valid flag; fix to --config-file.

The ecbuild URL in requirements.rst was empty.

The install command passed both --prefix and
-DCMAKE_INSTALL_PREFIX, which contradict each other and
confuse newcomers; drop the redundant CMake variable.

The CLI index table listed "grib2fdb" but the binary is
grib2fdb5; align the table so users can find the tool.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Ozaq Ozaq force-pushed the fix/doc-structure branch from 6da507b to c737feb Compare February 25, 2026 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants