Preskočiť na hlavný obsah

Artefakt Doxygen

Prenosná binárna distribúcia Doxygen, generátora dokumentácie pre C, C++ a ďalšie jazyky. Tento repozitár využíva Embedbits Platform Artifact Handler na vyhľadanie, stiahnutie, overenie a konfiguráciu Doxygen v následných embedded projektoch.

Tento repozitár je rozdelený do troch vetiev/referencií podľa úlohy — vetva main (master), ktorú práve čítate, obsahuje iba túto dokumentáciu; skripty handlera sú vo vetve Core a verzované binárky sa publikujú ako GitHub Releases ukotvené vo vetve Bin.


Obsah repozitára​

main / master
└── README.md ← This document — no other content

Core
├── ArtifactConfig.cmake ← Artifact metadata (name, version constraints, asset naming)
├── CMakeDoxygenDefaults.cmake ← Doxygen integration logic (path setup, input/ignore path config)
└── Doxyfile.in ← Doxygen configuration template

Bin (anchor branch — no tracked binary files)
└── (empty commits only; each release tag points here)

Úloha v platforme​

Tento repozitár je jednou z viacerých distribúcií artefaktov v platforme Embedbits. Celkový tok vyzerá takto:

GitHub (Embedbits)
──────────────────────────────────────────────────────────
Artifact-doxygen
main / master → README only (this document)
Core → ArtifactConfig.cmake, CMakeDoxygenDefaults.cmake, Doxyfile.in
Bin → Anchor branch (empty commits)
Releases → doxygen-<version>-<platform>.zip + .hash
tagged Bin/<version>-<platform> (platform: Win / Unix / DarwinARM)

Skripty v štýle DoxygenImporter.sh publikujú každú verziu Doxygen ako GitHub Release — označené Bin/<version>-<platform> — namiesto súboru commitnutého do vetvy Bin. Samotná vetva Bin obsahuje iba prázdne kotviace commity, na ktoré ukazujú značky vydaní.

Platform Artifact Handler v následných projektoch odkazuje na vetvu Core ako na Git submodul. Počas konfigurácie CMake načíta ArtifactConfig.cmake, aby zistil, ktoré vydanie sa má stiahnuť, a potom stiahne a overí zodpovedajúci asset vydania pre aktuálnu platformu.


Štruktúra vetiev​

Vetva / referenciaObsah
main / masterIba toto README — žiadny funkčný obsah
CoreSkripty handlera CMake (ArtifactConfig.cmake, CMakeDoxygenDefaults.cmake) a pomocné skripty na použitie artefaktu
BinIba kotviaca vetva — nie sú v nej commitnuté žiadne binárky
Značka vydania Bin/<version>-<platform>GitHub Release, ktoré ako assety vydania nesie samotnú binárku .zip a súbor s kontrolným súčtom .hash, pre platform ∈ Win, Unix, DarwinARM

Poznámka: Samotný protokol Embedbits Artifact Handler nie je viazaný na GitHub Releases — len importovacie skripty hostované na GitHube publikujú binárky práve takto. Na Git hostingu bez ekvivalentného Releases API handler podporuje aj zabalené binárky commitnuté priamo ako sledované súbory vo vetve Bin, označené značkou pre každú verziu/platformu (Bin/<version>-<platform>), namiesto nahrania ako assety vydania. Handler CMake transparentne spracuje obe formy.


⚠️ Stiahnutie vydania​

Binárky nie sú uložené ako sledované súbory vo vetve Bin — skripty handlera získate klonovaním vetvy Core a binárky sťahujte ako assety vydania pre konkrétnu značku namiesto klonovania vetvy Bin.

# Core handler scripts
git clone --branch Core --single-branch --depth=1 <repository_url> doxygen-core

# Binary + checksum for one specific version/platform (GitHub Release asset)
gh release download Bin/1.11.0-Unix --repo Embedbits/Artifact-doxygen --pattern "doxygen-1.11.0-Unix.*"

Súčasti balíka​

KomponentPopis
doxygenHlavný spustiteľný súbor na generovanie dokumentácie vo formátoch HTML, LaTeX a PDF
doxyindexer, doxysearch.cgiVoliteľné nástroje na indexovanie vyhľadávania
Doxyfile.inPredvolená šablóna konfigurácie Doxygen

Použitie​

Artefakt sa inštaluje automaticky počas fázy nastavenia artefaktov príkazom:

cmake -P Artifacts/Doxygen/ArtifactConfig.cmake

Skript zabezpečí, že binárka Doxygen je dostupná, v prípade potreby rozbalí archív a pridá nástroj do systémovej PATH pre nasledujúce kroky buildu.

Pridávanie ciest do dokumentácie​

Zahrnutie aktuálneho adresára a jeho podadresárov do vstupu Doxygen:

Doxygen_AddPath(${CMAKE_CURRENT_LIST_DIR})

Vylúčenie aktuálneho adresára a jeho podadresárov zo vstupu Doxygen:

Doxygen_AddIgnorePath(${CMAKE_CURRENT_LIST_DIR})

Generované výstupné adresáre​

${PROJECT_ROOT}/docs/html
${PROJECT_ROOT}/docs/latex

Verzovanie​

Verzie artefaktu zodpovedajú priamo oficiálnym verziám vydaní Doxygen:

1.9.7, 1.9.8, 1.10.0, 1.11.0, ...

Nové verzie publikuje importovací skript v štýle NinjaImporter.sh v repozitári GithubArtifactsHandler, ktorý stiahne oficiálne binárky, zabalí ich do archívov .zip s overením SHA-256 a publikuje ich ako GitHub Release označené Bin/<version>-<platform> — samotná vetva Bin sa posúva iba prázdnym kotviacim commitom, na ktorý značka ukazuje.


Poznámky​

  • Inštalácia nie je potrebná — binárky sú prenosné a samostatné.
  • Offline použitie je podporované, keď je artefakt lokálne v cache.
  • V Azure DevOps pipeline sa odporúča cachovať priečinok artefaktu, aby sa skrátil čas buildu.

Licencia​

Doxygen sa distribuuje pod licenciou GNU General Public License (GPL). Podrobnosti nájdete na: https://www.doxygen.nl/license.html


Autori​

Príspevky sú vítané! Otvorte prosím pull request.