Створіть Neat.
Цей посібник містить інформацію про створення Neat з вихідного коду. Інструкції щодо встановлення попередньо зібраного пакета див. у Neat Library.
build.sh — це основний скрипт для запуску процесу збирання. Він виконує перевірку залежностей, синхронізацію необов’язкових залежностей, налаштування та збирання за допомогою CMake, створення необов’язкової документації, перевірку правильності встановлення та створення пакета.
Середовища розробки
build.sh автоматично визначає активне середовище:
- Modalix, нативне середовище DevKit.
- Середовище Palette SDK (крос-компіляція).
Ви можете виконувати одні й ті самі команди build.sh в будь-якому з цих середовищ.
Необх ідні умови для перехресної компіляції.
Використовуйте Palette SDK для перехресної компіляції. Виконайте Встановлення SDK на підтримуваному хості Ubuntu, Windows/WSL або macOS, а потім відкрийте оболонку SDK:
sima-cli sdk neat
SDK містить набір інструментів і sima-cli. Скрипт Core build.sh готує відповідні залежності Scheduler та LLiMa; див. Локальні залежності. У підключеному SDK команда ./build.sh --install також розгортає відповідні артефакти на DevKit. Для нативних збірок на DevKit SDK не потрібен.
Параметри збірки
Підтримувані параметри build.sh:
--dev-only: Збирайте лише основну бібліотеку та файли заголовків (за замовчуванням).--all: Створення бібліотеки + тестів + навчальних матеріалів + Python-пакета; увімкнення документації та залежностей.--python: Створіть прив’язки Python (pyneat) на додаток до обраних цільових об’єктів.--install-neat-internals,--install-deps: Завантажте та встановіть артефакти залежностей перед збіркою.--doc: Створюйте лише документацію.--install: Після збірки/пакування встановіть створені артефакти в поточне середовище. У режимі парної роботи Palette SDK, це також розгортає та встановлює відповідні артефакти на парному DevKit.--no-dist: Пропустіть етап створення дистрибутивного пакета.--clean: Видалітьbuild/перед налаштуванням.--no-doc: Пропустити процес створення документації (навіть якщо вказано--all).--no-node: Пропустіть встановлення Node.js (збірка д окументації може завершитися невдало, якщо Node не встановлено).--install-deps-only: встановіть системні залежності та заголовкові файли залежностей, а потім завершіть роботу.
Кеш компілятора
build.sh автоматично вмикає sccache, і його кеш залишається доступним після виконання команди --clean. Локальні збірки використовують локальний дисковий кеш користувача. Vulcan надає окремі захищені кеші для гілок develop і main; експериментальна гілка створює ізольований кеш, до якого можна здійснювати записи, на основі найближчої захищеної базової гілки та зберігає його до видалення гілки.
Див. Neat sccache. Короткий довідник. для отримання інформації про локальні налаштування, правила доступу до хмари, простори імен кешу, статистику, перевірку та усунення несправностей.
Типові конфігурації
Лише основна бібліотека (за замовчуванням):
./build.sh
Повна збірка (бібліотека, тести, навчальні матеріали, документація, пакет, пакування):
./build.sh --all
Основна бібліотека + прив’язки для Python:
./build.sh --dev-only --python
Тільки для документації:
Ця команда також працює на macOS.
./build.sh --doc
Під час створення документації генерується довідник API для Insight на основі специфікації OpenAPI,
яку завантажує autodoc за адресою
build/autodoc/insight/neat_insight/openapi.json. Для локальної розробки ви можете
замінити значення за замовчуванням на INSIGHT_OPENAPI_SPEC:
INSIGHT_OPENAPI_SPEC=../insight/neat_insight/openapi.json ./build.sh --doc
Відносні шляхи перезаписуються, починаючи з кореневої директорії репозиторію Core, і перетворюються на абсолютні шляхи перед запуском генератора Docusaurus. Якщо вибраний файл не існує, крок генерації API Insight пропускається, і про це повідомляється.
Повна збірка з очищенням:
./build.sh --all --clean
Встановіть необхідні компоненти, не збираючи основний код:
./build.sh --install-deps-only
Результати
- Створення дерева:
build/ - Результат створення сайту Docusaurus (під час виконання процесу збирання документації):
website/build/ - Встановлюємо префікс для перевірки цілісності: унікальна тимчасова директорія (
${TMPDIR:-/tmp}/sima-neat-install-test.XXXXXX), яка відображається під час збірки; видаляється у разі успішного завершення, зберігається у разі невдачі для подальшого аналізу. - Пакети Neat з артефактами (
*.deb) створюються під час повних збірок у Linux, якщо не використовується опція--no-dist. - Пакет додаткових компонентів (
*extras.tar.gz) створюється під час повної збірки в Linux, якщо не використовується параметр--no-dist. - Пакет Python у форматі wheel (
dist/*.whl) створюється, коли ввімкнено збірку Python.
Пакет Python wheel містить розширення _pyneat_core, створене під час основної збірки CMake. Під час створення пакета wheel не відбувається налаштування або повторна компіляція окремого дерева CMake, тому бібліотека, пакети DEB, додаткові архіви та пакет wheel використовують одну й ту саму компіляцію.
Створення профілів і параметрів CMake
Основний файл CMakeLists.txt фреймворку містить декілька параметрів, які визначають, що саме буде зібрано та яким чином. Параметри, перелічені нижче, є найважливішими.