Менеджер проектов#
Для запуска используйте manage.cmd в Windows или ./manage.sh в Linux.
Используется для расширенного управления проектами в случае если не хватает ярлыков.
Commands:#
usage: manage.sh [-h] [-p P] [--all] cmd ...
positional arguments:
cmd Команды
full_help Распечатать справку
version Показать версию gsf-cli
prepare_project Подготовить проект к работе
refresh_server Обновить сервер приложения
refresh_app_server Обновить только сервер приложения (без sbt-плагина)
refresh_sbt_plugin Обновить sbt-плагин
refresh_source Обновить исходный код
refresh_links Обновить ярлыки
refresh Обновить зависимости
init_project Инициализировать проект проекта
configure_idea Настроить idea
set_is_publish_release
Установить признак публикации релиза
publish_build_kit Публикация комплекта сборки
create_build_kit_release
Выпускает релиз комплекта сборки
git_branch_build_kit
Создаёт ветку для патча комплекта сборки
publish Опубликовать
publish_sbt_plugin Опубликовать sbt plugin
build Собрать проект
test Запустить юнит тесты
clean Очистить
update_module_dependency
Обновление зависимостей модулей
save_external_dependencies
Сохраняет набор всех внешних зависимостей решения в файл
diff_external_dependencies
Сравнивает набор внешних зависимостей из файла с текущими от проекта
upload_base_source_kit
Выгрузить baseSourceKit
load_base_source_kit
Загрузить baseSourceKit
options:
-h, --help show this help message and exit
-p P Имя проекта
--all Выполнить действие для всех проектов
Full_help#
usage: manage.sh full_help [-h]
options:
-h, --help show this help message and exit
Version#
usage: manage.sh version [-h]
Печатает версию gsf-cli
options:
-h, --help show this help message and exit
Prepare_project#
usage: manage.sh prepare_project [-h]
Подготавливает проект к работе, загружает сервер приложения, исходный кода, а так же конфигурирует idea
options:
-h, --help show this help message and exit
Refresh_server#
usage: manage.sh refresh_server [-h]
Обновляет сервер приложение
options:
-h, --help show this help message and exit
Refresh_app_server#
usage: manage.sh refresh_app_server [-h]
Обновляет только сервер приложения из источника, заданного в project.yaml. Без обновления sbt-плагина и исходного кода.
options:
-h, --help show this help message and exit
Refresh_sbt_plugin#
usage: manage.sh refresh_sbt_plugin [-h]
Обновляет sbt-плагин
options:
-h, --help show this help message and exit
Refresh_source#
usage: manage.sh refresh_source [-h]
Обновляет исходный код проекта, при необходимости делает checkout проекта
options:
-h, --help show this help message and exit
Refresh_links#
usage: manage.sh refresh_links [-h]
Обновляет ярлыки
options:
-h, --help show this help message and exit
Refresh#
usage: manage.sh refresh [-h]
Обновляет зависимости
options:
-h, --help show this help message and exit
Init_project#
usage: manage.sh init_project [-h]
Инициализация проекта, создание необходимых файлов перед запуском idea
options:
-h, --help show this help message and exit
Configure_idea#
usage: manage.sh configure_idea [-h]
Конфигурация idea.
При этом происходит:
Создание конфигурации для запуска сервера приложения;
Настройка для проектов системы контроля версий.
Смотри Intellij Idea: Settings > Version Control > Directory mappings
options:
-h, --help show this help message and exit
Set_is_publish_release#
usage: manage.sh set_is_publish_release [-h]
Вызывает мастера установки признака публикации релиза.
В случае если признак установлен публикация происходит по версии
заданной в конфигурации проекта.
options:
-h, --help show this help message and exit
Publish_build_kit#
usage: manage.sh publish_build_kit [-h] [-pt {release,snapshot}] [--publish-source-kit | --no-publish-source-kit]
Публикация комплекта сборки.
Версия берётся из конфигурации проекта.
options:
-h, --help show this help message and exit
-pt, --publish_type {release,snapshot}
Тип публикации комплекта сборки. Если не указан, то значение возьмётся из конфига.
--publish-source-kit, --no-publish-source-kit
Опубликовать исходники комплекта сборки
Create_build_kit_release#
usage: manage.sh create_build_kit_release [-h]
[-rt {generation,major,minor,build,patch}]
Выпускает релиз комплекта сборки.
Обрабатывается версии для корректного отображения в тегах
- Увеличивается выбранная версия и билд
- Происходит создание тега по текущей версии комплекта сборки
- Происходит commit и push изменений и тега
- Нельзя создать релиз от патча, если выбранная версия не является патчем
options:
-h, --help show this help message and exit
-rt {generation,major,minor,build,patch}, --release_type {generation,major,minor,build,patch}
Версия релиза комплекта сборки
Git_branch_build_kit#
usage: manage.sh git_branch_build_kit [-h]
Создаёт ветку для патча комплекта сборки.
При этом:
- Создаётся новая ветка, если её нет
- Локальная ревизия устанавливается в ветку с патчем
- Ошибка, если в project.yaml есть незакомиченные изменения
options:
-h, --help show this help message and exit
Publish#
usage: manage.sh publish [-h]
Опубликовать комплект сборки
options:
-h, --help show this help message and exit
Publish_sbt_plugin#
usage: manage.sh publish_sbt_plugin [-h]
Опубликовать sbt plugin из комплекта сборки
options:
-h, --help show this help message and exit
Build#
usage: manage.sh build [-h] [--skip-publication | --no-skip-publication]
[--build-appsrc] [--publish-path ROOT]
Выполняет обновление сервера, плагина, компиляцию и публикацию
options:
-h, --help show this help message and exit
--skip-publication, --no-skip-publication
Не публиковать
--build-appsrc Дополнительно собрать appsrc
--publish-path, -P ROOT
Корневой каталог для applib и appsrc
--build-appsrc после publishLibFolder выполняет SBT-задачу publishSrcFolder. Без
--publish-path каталоги создаются в application/build/publish/applib и
application/build/publish/appsrc. При --publish-path <root> результат записывается в <root>/applib и
<root>/appsrc. Флаг поддерживается только для SBT-проектов.
Для гарантированного заполнения нового каталога публикации команда с --build-appsrc выполняет чистую SBT-сборку.
Не указывайте один --publish-path при сборке нескольких проектов: запускайте команду отдельно с -p
и уникальным корневым каталогом для каждого проекта.
Если в project.yaml явно задано isPublishSrcFolder: false, SBT-плагин не публикует исходные артефакты;
по умолчанию этот параметр включен.
GSF CLI формирует каталоги с JAR-файлами, но не создает applib.zip и appsrc.zip. Упаковку и
загрузку этих архивов выполняйте на следующем шаге CI/CD или средствами nscli.
--publish-path задает только локальный корень. Без --skip-publication обычная команда build дополнительно выполняет
sbt publish: при включенном isPublishSrcFolder он публикует отдельные *-sources.jar в настроенный Maven-репозиторий,
но не публикует весь каталог appsrc или appsrc.zip как один артефакт.
Если версия release уже отмечена в кеше как собранная, build --build-appsrc восстановит недостающие локальные
каталоги без повторной удаленной публикации. Если первая сборка выполнялась с --skip-publication, а затем артефакты нужно
отправить в Maven-репозиторий, запустите manage.sh -p <project_name> publish отдельно.
Test#
usage: manage.sh test [-h]
Выполняет юнит тестирование
options:
-h, --help show this help message and exit
Clean#
usage: manage.sh clean [-h]
Очистить
options:
-h, --help show this help message and exit
Update_module_dependency#
usage: manage.sh update_module_dependency [-h] [--force]
Обновление зависимостей модулей.
Команда актуализирует версии модулей в `project.yaml` в соответствии с требованиями в `module-info.xml` для текущего модуля.
Проверка начинается с первого модуля в `project.yaml`.
При изменении версии какого либо модуля от которого зависит текущий модуль, происходит повторная проверка зависимостей измененного модуля.
При нахождении расхождений в модуле подключенному по исходному коду меняется `project.yaml`.
В случае если зависимость идет от комплекта сборки, выдается предупреждение.
options:
-h, --help show this help message and exit
--force Актуализирует 'project.yaml' не спрашивая пользователя
Save_external_dependencies#
usage: manage.sh save_external_dependencies [-h] [-f [FILE]]
options:
-h, --help show this help message and exit
-f [FILE], --file [FILE]
Файл, в который необходимо сохранить список
Diff_external_dependencies#
usage: manage.sh diff_external_dependencies [-h] [-f [FILE]]
options:
-h, --help show this help message and exit
-f [FILE], --file [FILE]
Файл для сравнения, в котором хранится список внешних
зависимостей
Upload_base_source_kit#
usage: manage.sh upload_base_source_kit [-h]
Выгружает baseSourceKit:
Выгрузка конфигурации проекта в репозиторий, указанный в project.yaml `mirrorConfigSource`.
Выгрузка исходников модулей проекта в репозитории, указанные в project.yaml `module:mirrorSource`.
options:
-h, --help show this help message and exit
Load_base_source_kit#
usage: manage.sh load_base_source_kit [-h]
Загружает baseSourceKit:
Загрузка конфигурации проекта в application/build/sourceKit из project.yaml `baseSourceKit`.
Загрузка исходников модулей проекта через загруженную конфигурацию project.yaml `module:mirrorSource`.
options:
-h, --help show this help message and exit