Конфигуратор проектов#
Для запуска используйте config.cmd в Windows или ./config.sh в Linux из каталога GSF CLI. Конфигуратор управляет настройками установки и списком проектов.
Для первой установки удобнее пройти Linux-инструкцию или Windows-инструкцию. Здесь описаны команды и их действие.
Commands:#
usage: config.py [-h] cmd ...
positional arguments:
cmd Команды
full_help Распечатать справку
configure Обновить конфигурацию
load_config Загрузить конфигурацию
add_project добавить проект
delete_project Удалить проект
activate_project
Активировать проект
enable_headless
Включить автономный режим
disable_headless
Выключить автономный режим
register_private_key
Зарегистрировать мастер-ключ
options:
-h, --help show this help message and exit
Full_help#
usage: config.py full_help [-h]
options:
-h, --help show this help message and exit
Configure#
Открывает мастер глобальных настроек. При первой настройке регистрирует мастер-ключ. Windows-мастер ожидает SBT в C:\programs\sbt, Linux-мастер запрашивает путь.
В headless мастер не может запросить отсутствующие данные. Для автоматической настройки используйте register_private_key и load_config.
usage: config.py configure [-h]
options:
-h, --help show this help message and exit
Register_private_key#
usage: config.py register_private_key [-h] [-c C]
options:
-h, --help show this help message and exit
-c C Каталог для мастер-ключа
Параметр -c задаёт существующий каталог. Команда добавляет к нему имя .gsf-cli.priv; передавать полный путь к файлу не нужно. Вызов без каталога для первоначальной регистрации не используйте.
Linux, от пользователя сборки:
cd /opt/global/gsf-cli
./config.sh register_private_key -c /opt/global
test -f /opt/global/.gsf-cli.priv
Windows, PowerShell пользователя сборки:
Set-Location 'C:\programs\gsf-cli'
.\config.cmd register_private_key -c 'C:\programs'
Test-Path 'C:\programs\.gsf-cli.priv'
Если файл по выбранному пути уже существует, CLI читает его; иначе создаёт новый. Путь сохраняется в workspace/store.json. Если зарегистрированный ключ уже загружен, команда завершается без его замены или переноса.
На Linux для файла устанавливаются права 600. В Windows доступ задаётся правами NTFS. Ключ должен быть доступен пользователю сборки и сохраняться вместе со store.json при переносе установки.
Load_config#
usage: config.py load_config [-h] [-f F]
Загружает настройки и список проектов из JSON-файла.
options:
-h, --help show this help message and exit
-f F файл конфигурации
Linux: ./config.sh load_config -f /opt/global/builds/config.json.
Windows: .\config.cmd load_config -f 'C:\programs\builds\config.json' в PowerShell.
В файле задаются sbt_home, параметры обновления модулей и массив projects. Поля и готовые примеры приведены в справке конфигурационных файлов.
Внимание
Список projects задаёт полный состав проектов этой установки. Отсутствующие в нём проекты удаляются вместе с рабочими каталогами, включая исходники. Пустой или отсутствующий массив означает пустой список. Это не команда добавления одного проекта к существующим.
Для совпадающих имён обновляются настройки; новые имена регистрируются. Исходники при этом не скачиваются, проект не активируется. Первую загрузку выполняет refresh: ./manage.sh -p <project_name> refresh или manage.cmd -p <project_name> refresh.
Команда не включает headless сама — используйте enable_headless отдельно. Источник lxc:// при загрузке конфигурации пока не реализован.
Add_project#
Интерактивный мастер добавления проекта: имя, источник и ветка Git, система сборки, JDK и порты. После регистрации предлагает подготовить исходники, зависимости и IDEA. Данные закрытых репозиториев настройте до запуска мастера.
usage: config.py add_project [-h]
Добавляет проект, конфигурация задается мастером создания проекта
options:
-h, --help show this help message and exit
Delete_project#
Мастер выбора проекта и удаления его регистрации. Удаление файлов с диска спрашивается отдельно. Если ответить «нет», исходники и дистрибутив сохранятся; служебный кеш проекта удаляется в обоих случаях.
usage: config.py delete_project [-h]
Мастер удаления проекта из конфигурации
options:
-h, --help show this help message and exit
Activate_project#
Открывает выбор активного проекта. Он используется в командах manage, если не указаны -p или --all. Для CI указывайте -p явно.
usage: config.py activate_project [-h]
options:
-h, --help show this help message and exit
Enable_headless#
Headless хранится в workspace/store.json и действует на всю установку GSF CLI. Команды включения и выключения не создают отдельное окружение проекта и не настраивают доступ к репозиториям.
usage: config.py enable_headless [-h]
В автономном режиме запрещено взаимодействие с пользователем.
В случае необходимости запроса пользователя будет выброшено исключение
options:
-h, --help show this help message and exit
Disable_headless#
usage: config.py disable_headless [-h]
В интерактивном режиме возможно взаимодействие с пользователем
options:
-h, --help show this help message and exit