GYP (программное обеспечение) (GYP (hjkijgbbuky kQyvhycyuny))

Перейти к навигации Перейти к поиску
GYP
Тип Автоматизация сборки
Разработчик Google
Написана на Python
Интерфейс CLI
Операционная система macOS
Первый выпуск 2009
Репозиторий chromium.googlesource.com/…
Состояние активное
Лицензия BSD
Сайт gyp.gsrc.io

GYP (от англ. Generate Your Projects) — система автоматизации сборки, созданная корпорацией Google для генерации проектов различных IDE (таких как Visual Studio Code или Xcode). Первоначально утилита была создана для сборки браузера Chromium и родственных продуктов, например, в движке V8[1], Node.js и т.п[2][3]. На сегодняшний день инструмент можно использовать и в других проектах. Программа распространяется на условиях лицензии BSD.

GYP представляет собой мета-сборочную систему в том смысле, что сам GYP не собирает проекты, а лишь генерирует сценарии для других систем сборки. GYP создана в помощь большим проектам, которые должны собираться на множестве платформ (например, Mac, Windows, Linux), и для которых важно, что проект может быть собран посредством IDE, популярной на каждой платформе, как будто проект является родным.

Пример[править | править код]

Типичный сценарий сборки представляет собой файл в формате JSON с некоторыми расширениями: допускаются комментарии, начинающиеся с решётки (#), и разрешается оставлять запятую (,) в конце списков.

 {
   'targets': [
     {
       'target_name': 'foo',
       'type': 'executable',
       'dependencies': [
         'libbar',
       ],
       'sources': [
         'foo.c',
         'main.c',
       ],
     },
     {
       'target_name': 'libbar',
       'type': '<(library)',
       'defines': [
         'LOCAL_DEFINE_FOR_LIBBAR',
         'DEFINE_TO_USE_LIBBAR',
       ],
       'include_dirs': [
         '..',
         'include/libbar',
       ],
       'sources': [
         'bar.h',
         'bar.c',
       ],
     },
   ],
 }

Примечания[править | править код]

  1. [https://web.archive.org/web/20191115083952/https://lwn.net/Articles/706404/ Архивная копия от 15 ноября 2019 на Wayback Machine The Ninja build tool [LWN.net]]
  2. Experimenting with GYP - Rioki's Corner. Дата обращения: 6 января 2018. Архивировано 6 января 2018 года.
  3. Node.js for Embedded Systems: Using Web Technologies to Build Connected Devices - Patrick Mulder, Kelsey Breseman - Google Книги. Дата обращения: 6 января 2018. Архивировано 6 января 2018 года.

Ссылки[править | править код]