Skip to content

Latest commit

 

History

History
45 lines (30 loc) · 4.17 KB

README.md

File metadata and controls

45 lines (30 loc) · 4.17 KB

Основные концепции системы сборки ya make

Общие сведения

Система автоматизации сборки проектов ya make разработана компанией Яндекс.

ya make позволяет:

  • компилировать код на разных языках, обеспечивая прозрачное взаимодействие между вызовами методов,
  • управлять зависимостями,
  • запускать тесты,
  • генерировать исполняемые файлы и пакеты в едином и согласованном окружении, независимо от сложности проекта.

Структура системы аналогична CMakeLists.txt, в ней используется декларативный подход к описанию сборки. Это делает ее легкой в освоении для тех, кто знаком с концепциями CMake.

Вся конфигурация сборки описывается в файлах типа ya.make с помощью вызова макросов с параметрами.

Система поддерживает более 300 макросов и 70 модулей, которые настраиваются с помощью специального языка описания макросов или плагинов на Python. Это позволяет гибко адаптировать систему под разнообразные потребности проектов.

ya make поддерживает сборку проектов на C++, Python, Java и Go с использованием различных тестовых фреймворков. Обладает интеграцией с различными кодогенерирующими технологиями, такими как protobuf и ragel.

Система сборки работает на Linux, Windows и macOS. Техника кросс-компиляции позволяет на одной локальной машине собирать программы под множество различных платформ, включая мобильные устройства.

Строгое управление зависимостями и данными исключает влияние внешних и изменяющихся ресурсов и гарантирует стабильность и идентичность результатов сборки при каждом ее запуске.

Команды системы сборки

Команды сборки интегрированы в универсальную утилиту ya, которая предлагает широкий набор функций и параметров командной строки для адаптации процесса сборки под различные требования проекта:

Дополнительные сведения: