Re: on mr 28 run locally.
Florent Rougon via Flightgear-devel <[email protected]> Mon, 27 Jul 2026 08:37:20 +0200
| Newsgroups | gmane.games.flightgear.devel |
|---|---|
| Message-ID | <[email protected]> |
--=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hi, Le 26/07/2026, Patrick Callahan <[email protected]> a écrit: > Short answer: > > src/reference/cpp-api/translations/classes/DefaultTranslationParser.rst > and src/reference/cpp-api/translations/classes/TranslationDomain.rst: > > have begun to fail when a local build of main is done on an empty build > directory. > due to the classes they reference being in the flightgear namespace in the > corresponding cxx files. Ah, that's interesting... > They do not fail during CI, even though the gitlab-ci.yaml specifies the > same sphinx command with --fail-on-warnin > > Is there some caching preventing a failure in CI? No, there isn't. The only caching is: sphinx-build: (...) cache: key: venv paths: - .venv # where the venv managed by 'uv' is stored and: .pre-commit-common: (...) variables: PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit cache: key: pre-commit paths: - ${PRE_COMMIT_HOME} Thus, what is cached is comprised of: - Python binaries and packages installed by 'uv'; - packages installed by pre-commit. > flightgear/src/Translations/DefaultTranslationParser.cxx > and flightgear/src/Translations/TranslationDomain.cxx > > both declare namespace flightgear for the classes they contain. Indeed, this seems to be a mistake of mine in the .rst files. I suppose there is some heuristic (or bug) that allows these classes to be found on the CI as well as on my computer despite the lack of the 'flightgear' namespace in .rst files. I just did a full build from a brand new repo using the attached clean_build.sh script. The 'sphinx-build' output on stdout & stderr is attached (the full build log including Doxygen takes 67 KB *after* xz compression; can send in private if you want...). > The other translation modules do not declare flightgear as a namespace. The “namespacing discrepancy” in the C++ code is explained as follows. At first, everything was in the 'flightgear' namespace, however when I wrapped the classes with CppBind and used std::shared_ptr for the ghost pointer type, I hit a build error that was too difficult for me to fix. I found that the problem disappeared if the wrapped classes were in the root namespace, so I moved them there. Those that are still in the 'flightgear' namespace either aren't exposed to CppBind or don't use std::shared_ptr as the shared pointer wrapper template. See for instance in flightgear/src/Scripting/NasalTranslations.cxx: void initNasalTranslations(naRef globals, naContext c) { nasal::Hash globalsModule(globals, c); nasal::Hash fgTranslateModule = globalsModule.createHash("FGTranslate"); fgTranslateModule.set("new", &f_new_FGTranslate); FGTranslate::setupGhost(); TranslationResource::setupGhost(); TranslationUnit::setupGhost(); } The types here that have a setupGhost() call *don't* include the two classes you mentioned. > To correct this will take a merge request for the two .rst files adding > flightgear:: > > I can easily do that if you wish. You or I can fix this, that will be fine either way for me. Choose whatever is simpler for you (if I push a fix, you'll have to rebase your MR). Of course, I'd like the fix to be in a separate commit from the rest. :-) Regards -- Florent --=-=-= Content-Type: application/x-sh Content-Disposition: attachment; filename=clean_build.sh Content-Transfer-Encoding: base64 IyEgL2Jpbi9zaAoKc2V0IC1lCgpjZCAvdG1wICYmIHJtIC1yZiBkb2MtYnVpbGQgJiYgbWtkaXIg ZG9jLWJ1aWxkICYmIGNkIGRvYy1idWlsZAojIFRoZXNlIHR3byBhcmUgb24gJ25leHQnCmxuIC1z IH4vZmxpZ2h0Z2Vhci9zcmMvc2ltZ2VhcgpsbiAtcyB+L2ZsaWdodGdlYXIvc3JjL2ZsaWdodGdl YXIKZ2l0IGNsb25lIGh0dHBzOi8vZ2l0bGFiLmNvbS9mbGlnaHRnZWFyL2RvY3VtZW50YXRpb24u Z2l0CmNkIGRvY3VtZW50YXRpb24KZG94eWdlbiBEb3h5Z2VuLWNvbmZpZ3Mvc2ltZ2Vhci5Eb3h5 ZmlsZQpkb3h5Z2VuIERveHlnZW4tY29uZmlncy9mbGlnaHRnZWFyLkRveHlmaWxlCnNwaGlueC1i dWlsZCAtLWZhaWwtb24td2FybmluZyAtYiBodG1sIC4vc3JjIC4vYnVpbGQK --=-=-= Content-Type: application/x-xz Content-Disposition: attachment; filename=sphinx-output.txt.xz Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --=-=-= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Flightgear-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/flightgear-devel --=-=-=--