Etersoft-build-utils/extra sources: различия между версиями
(Новая страница: «== Подготовка дополнительных исходных файлов == Современные языки разработки имеют множ…») |
|||
Строка 8: | Строка 8: | ||
* npm install (NodeJS) | * npm install (NodeJS) | ||
* nuget restore (.NET Core) | * nuget restore (.NET Core) | ||
* compose (php) | * compose install (php) | ||
* cargo vendor (rust) | |||
* go vendor (go) | |||
Встроенные в инструмент получения исходного кода rpmgs из etersoft-build-utils возможности позволяют автоматически обновлять дополнительные исходные файлы и размещать их в пакете. | Встроенные в инструмент получения исходного кода rpmgs из etersoft-build-utils возможности позволяют автоматически обновлять дополнительные исходные файлы и размещать их в пакете. |
Версия от 01:40, 13 сентября 2021
Подготовка дополнительных исходных файлов
Современные языки разработки имеют множество подключаемых модулей, загружаемых из Интернета при подготовке проекта к сборке (установке). Как правило такие модули не поставляются в архиве с релизом. Также в проект могут быть подключены другие проекты средствами git submodules.
Примеры:
* .gitsubmodules * npm install (NodeJS) * nuget restore (.NET Core) * compose install (php) * cargo vendor (rust) * go vendor (go)
Встроенные в инструмент получения исходного кода rpmgs из etersoft-build-utils возможности позволяют автоматически обновлять дополнительные исходные файлы и размещать их в пакете.
git submodules
При использовании .git репозитория можно упаковать submodules из .gitsubmodules в отдельный каталог.
Создать каталог
.gear/@name@-postsubmodules
и в rules вписать
tar:.*-postsubmodules
Поддерживается только для проектов, обновляемых из исходного git-репозитория. После обновления (merge) с апстримом выполняется подгрузка submodules и их размещение в отдельном каталоге.
Дополнительно можно создать скрипт, вызываемый после обновления submodules следующим образом: .gear/source-postupdate-hook <версия пакета>
npm
Предварительная загрузка модулей через менеджер пакетов npm:
Скрипт, вызываемый перед обновлением:
.gear/predownloaded-preinstall-hook <версия пакета>
Если создан каталог
.gear/predownloaded-development
или
.gear/predownloaded-production
и в rules вписано правило
tar: .gear/predownloaded-development
или
tar: .gear/predownloaded-production
скрипт, вызываемый после обновления:
.gear/predownloaded-postinstall-hook <версия пакета>
- при наличии ./package.json вызывается npm install [--production]
nuget
TODO: что ещё поддерживается? nuget
Любой исходный архив
Скрипт, вызываемый после загрузки и коммита архива:
.gear/source-postupdate-hook <версия пакета>