Перейти к содержанию

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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
GYP
Тип Автоматизация сборки
Разработчик Google
Написана на Python
Интерфейс CLI
Состояние активное
Лицензия 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. [http://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 года.

Ссылки