Ниндзя (система сборки)
Разработчик(и) | Эван Мартин |
---|---|
Первоначальный выпуск | 2012 год [1] |
Стабильная версия | 1.12.1 [2] / 11 мая 2024 г |
Репозиторий | |
Написано в | С++ , Питон |
Операционная система | Linux , MacOS , Windows |
Тип | Инструменты разработки программного обеспечения |
Лицензия | Лицензия Апач 2.0 [3] |
Веб-сайт | ниндзя-сборка |
Ninja — небольшая система сборки, разработанная Эваном Мартином. [4] сотрудник Google . Ninja уделяет особое внимание скорости и отличается от других систем сборки в двух основных отношениях: она спроектирована так, чтобы входные файлы создавались системой сборки более высокого уровня, и она предназначена для максимально быстрого запуска сборок.
Система сборки
[ редактировать ]По сути, Ninja призван заменить Make , который работает медленно при выполнении инкрементальных (или нулевых) сборок. [5] Это может значительно замедлить работу разработчиков над большими проектами, такими как Google Chrome , который компилирует 40 000 входных файлов в один исполняемый файл. Фактически, Google Chrome является основным пользователем и мотивацией для Ninja. [6] Он также используется для сборки Android (через перевод Makefile от Kati ), [7] и используется большинством разработчиков, работающих над LLVM . [8]
В отличие от Make , в Ninja отсутствуют такие функции, как манипулирование строками, поскольку файлы сборки Ninja не предназначены для написания вручную. Вместо этого для создания файлов сборки Ninja следует использовать «генератор сборки». Gyp , CMake , Meson и gn [9] — это популярные программные инструменты управления сборкой, которые поддерживают создание файлов сборки для Ninja. [10]
Пример
[ редактировать ]rule cc command = gcc -c -o $out $in description = CC $out rule link command = gcc -o $out $in description = LINK $out build source1.o: cc source1.cbuild source2.o: cc source2.cbuild myprogram: link source1.o source2.o
Ссылки
[ редактировать ]- ^ Мартин, Эван. «Группы Google: ниндзя-билд» . Проверено 18 июня 2017 г.
- ^ «Выпуск 1.12.1» . 11 мая 2024 г. Проверено 23 мая 2024 г.
- ^ «КОПИРОВАНИЕ» . Гитхаб . Проверено 5 сентября 2019 г.
- ^ «Человек Google, система сборки Chrome с открытым исходным кодом» .
- ^ Ретлисбергер, Дэвид. «Инструмент сборки Ninja» . ЛВН . Проверено 18 июня 2017 г.
- ^ «Ниндзя» . Производительность приложений с открытым исходным кодом . Проверено 18 июня 2017 г.
- ^ «Список рассылки aosp» .
- ^ «Документация LLVM» .
- ^ «gn — Git в Google» .
- ^ Посуда. «Документация cmake» . Проверено 18 июня 2017 г.