Перейти до основного вмісту

Перелік інструментів і скриптів.

У складі фреймворку передбачено дві директорії з набором допоміжних функцій. На цій сторінці наведено їхній перелік.

core/tools/ — інструменти для роботи з документацією та збірки.

СценарійПризначення
generate_api_docs.shЗапустіть doxygen2docusaurus для обробки XML-файлів, згенерованих Doxygen, і створіть Markdown-документацію для сайту з довідковою інформацією щодо API C++. Запускайте після редагування публічних заголовних файлів.
generate_python_api_docs.pyСтворює Markdown-документацію з описом API Python на основі рядків документації модуля pyneat.
generate_tutorial_docs.py(Навчальні матеріали поступово виводяться з використання — цей скрипт більше не підтримується).
postprocess_d2d_links.pyВиправлення посилань Doxygen2Docusaurus після їх створення. Автоматично викликається скриптом generate_api_docs.sh.
strip_empty_programlisting.pyОбхідне рішення для випадків, коли порожні елементи <programlisting> викликають проблеми в doxygen2docusaurus.
compute_version.shОбчислює рядок версії пакета фреймворку на основі deps/manifest.json та package-version, а також метаданих Git для збірок гілок. Використовується в системах безперервної інтеграції та для пакування.
expand_code_tabs.pyРозгорніть багатомовні вкладки в джерелах навчальних матеріалів.
run_clean_env.shЗапустіть команду в чистому середовищі оболонки (щоб уникнути непередбачуваних наслідків, пов’язаних із успадкованими значеннями LD_* / PATH).
tutorial_quality_lint.py / tutorial_scorecard.pyПеревірка якості Markdown-файлів навчальних матеріалів / оцінювання. (Застаріває разом із навчальними матеріалами).

Типовий процес редагування загальнодоступних заголовків:

cd core
doxygen docs/doxygen/Doxyfile # regenerate XML
bash tools/generate_api_docs.sh # regenerate Markdown
cd website && yarn start # preview the site

core/scripts/ — перевірки на рівні репозиторію та допоміжні інструменти для розробників.

СценарійПризначення
check_format.shЗапустіть clang-format для коду C++; завершуйте роботу з помилкою, якщо виявлено відмінності.
check_cmake_format.sh / check_cmake_style.pyЗапустіть cmake-format / lint для CMakeLists.txt файли.
check_duplicate_includes.{sh,py}Виявляйте повторювані рядки #include у заголовках.
check_internal_headers.shПеревірте, чи шар core/src/pipeline/internal/sima/ конвеєра дотримується меж між публічною та внутрішньою зонами.
run_cpp_tidy.shЗапустіть clang-tidy для всього проєкту.
route_refactor_validation.shСпеціалізована перевірка регресії планувальника маршрутів (виконується системою безперервної інтеграції).
install_neat_plugins.shВстановіть плагіни GStreamer для фреймворку в системну директорію плагінів.
install_codex_skill.shВстановіть NEAT-навичку для командного рядка Codex (для зручності розробників).
fix_devkit_runtime.shВиправляє шляхи та бібліотеки середовища виконання свіжовстановленого набору інструментів розробника та перезапускає сопроцесори. Запускає лише M4, коли працює simaai-appcomplex.service.
sync_neatdecoder.sh / use_neatdecoder.shПеремикання між вбудованою та зовнішньою версіями декодера.

core/scripts/ci/, core/scripts/dev/, core/scripts/release/

Ці підкаталоги містять скрипти, які належать відповідним робочим процесам: ci/ запускається системою безперервної інтеграції, dev/ запускається розробниками за потреби, а release/ запускається командою, що відповідає за підготовку релізів. Не слід використовувати їх у коді застосунку.

Запуск генератора документації з чистої копії репозиторію.

sudo apt-get install -y doxygen # if not installed
cd core
doxygen docs/doxygen/Doxyfile # generates docs/doxygen/out/xml/
bash tools/generate_api_docs.sh # populates docs/reference/cppapi/
python3 tools/generate_python_api_docs.py # populates docs/reference/pythonapi/
cd website && yarn install && yarn start # serve at http://localhost:3000/

Для подальшого ознайомлення

  • «Інструменти та скрипти» — розділ 55 у детальному аналізі проєкту.
  • У репозиторії core/AGENTS.md міститься угода для учасників, в якій зазначено, які інструменти мають запускатися перед фіксацією змін.