init
Начните с init, если исходники уже лежат в каталоге, а проекта раннера ещё нет. Команда находит наборы исходников и записывает настройки проекта.
init
v8-runner init
Создаёт v8project.yaml и местный слой v8project.local.yaml, добавляет местный слой в .gitignore. Определяет формат исходников и, если возможно, версию платформы. Платформу не запускает и базу не создаёт.
workPath не записывает: по умолчанию это .build/v8-runner. Объявляет origin с адресом File=.local/db — файловой базой в localPath, которую удаление workPath не трогает. Это настройка будущей базы; для её создания нужна команда infobase create.
Результаты: проект записан, предупреждения, существующий проект, невалидные исходники, ошибка записи.
init --infobase
v8-runner init --infobase 'Srvr=srv:1541;Ref=demo'
Записывает указанную строку подключения в infobases.origin.connection местного файла. Базу не читает и не меняет; вместо строкового адреса здесь нельзя передать имя базы проекта.
Адрес также задаётся через --connection; передавать его вместе с --infobase нельзя.
Результаты: адрес объявлен, конфликт адреса.
init --format / --output
v8-runner init --format edt --output config/v8project.yaml --force
--format auto выбирает формат по найденным исходникам; designer и edt задают его явно. --output меняет путь основного файла внутри проекта: проект — каталог запуска, там ищутся наборы и лежит его .gitignore. Местный файл располагается рядом с основным, пути исходников записываются относительно этого каталога.
Результаты: файлы записаны по выбранному пути, неподходящий ключ, путь вне проекта.
Особенности исходников
- Конфигуратор
- Находит XML-исходники платформы и записывает
format: DESIGNER. - EDT
- Находит проекты EDT и записывает
format: EDT. Для расширений проверяетBase-ProjectвDT-INF/PROJECT.PMF.
Выбор формата не преобразует файлы. Для преобразования используйте convert.
Исполнение
Команда работает с файлами проекта независимо от режима доступа к базе: файлового, кластерного или автономного. Читает исходники, определяет формат и наборы, проверяет адрес origin, затем записывает основной и местный файлы и .gitignore. Платформу не запускает, доступность базы не проверяет и базу не создаёт.
Успешные результаты
Примеры ответов; пути и длительность зависят от запуска.
Исходники найдены
Для init. В ответе перечислены пути записанных файлов, формат и найденные наборы исходников. Пример ответа:
path: v8project.yaml
local path: v8project.local.yaml
gitignore: .gitignore
format: DESIGNER
source-set main: src/cf (CONFIGURATION)
Config written successfully
Нужна ручная настройка
Для init. Проект записан, но у расширения EDT не указан Base-Project в DT-INF/PROJECT.PMF. Прочитайте предупреждение и задайте базовый проект перед преобразованием исходников.
path: v8project.yaml
local path: v8project.local.yaml
gitignore: .gitignore
format: EDT
source-set sales: src/sales (EXTENSION)
[warning] EDT extension source-set 'sales' does not declare Base-Project in 'DT-INF/PROJECT.PMF': src/sales
Config written with warnings
Адрес объявлен
Для init --infobase. Созданы настройки проекта с выбранным адресом. Успешный ответ подтверждает запись файлов, а не доступность базы. Затем pull выгружает базу, а push отправляет исходники.
path: v8project.yaml
local path: v8project.local.yaml
gitignore: .gitignore
format: DESIGNER
source-set main: src/cf (CONFIGURATION)
Config written successfully
Файлы записаны по выбранному пути
Для init --format / --output. В ответе указан фактический путь каждого файла. В этом примере существующий основной файл перезаписан с --force:
path: config/v8project.yaml
local path: config/v8project.local.yaml
gitignore: .gitignore
format: EDT
source-set main: ../src/cf (CONFIGURATION)
overwritten: yes
Config written successfully
Ошибки и отказы
Проект уже существует
Для init: существующий основной файл без --force не перезаписывается. Если в нём уже объявлена база, команда отказывает и с --force. Код invalid_argument, выход 2. Для перезаписи проекта без объявленной базы задайте --force; для создания базы используйте infobase create.
ERROR: validation error: project configuration already exists
Исходники не прошли проверку
Для init. Невалидный дескриптор EDT: отказ до записи проекта. Код invalid_argument, выход 2. Исправьте дескриптор и повторите вызов.
ERROR: validation error: EDT project descriptor is invalid
В местном файле другой адрес
Для init --infobase: существующий местный слой объявляет origin с другим адресом; --force этот адрес не заменяет. Код invalid_argument, выход 2. Проверьте адрес origin в местном файле и передайте соответствующую строку.
ERROR: validation error: origin connection conflicts with existing local configuration
Выбран неподходящий ключ
Для init --format / --output: глобальный --config отклоняется. Код invalid_argument, выход 2. Для пути нового файла используйте --output.
ERROR: validation error: --config is not allowed for init; use --output
Путь вне проекта
Для init --format / --output: --output называет файл вне каталога запуска, например при запуске из другого каталога. Отказ приходит до чтения исходников и записи чего-либо. Код invalid_argument, выход 2. Запустите init из каталога проекта.
ERROR: validation error: `init --output` points outside the project directory
Файлы не удалось записать
Для init: ошибка файловой системы после начала записи. Уже записанные файлы получают прежнее содержимое, созданные каталоги убираются; что вернуть не удалось, называет сообщение. Код runtime_failure, выход 3. Проверьте права и повторите запуск.
ERROR: runtime error: project files could not be written
У init нет варианта --dry-run. Неизвестный ключ, команда или неверный синтаксис отклоняются парсером с диагностикой и Usage, выход CLI 2; JSON-конверт при этом не обещается. Исправьте вызов по подсказке Usage.
Причины отказов и уровни ошибок — в словаре ответов.
Формат файлов и адреса баз — на странице v8project.yaml. Для структурированного ответа добавьте глобальный ключ --json-message: результат содержит пути файлов, формат, наборы исходников, предупреждения и признак перезаписи.