GYP (программное обеспечение) — Википедия

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 года.