Конфигуратор проектов#

Для запуска используйте 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