Skip to content

Ошибка чтения параметров команды convert #8

Description

@Asakra

Может кто-то столкнется с такой же проблемой и ему это поможет.

Столкнулся с тем, что не могу указать путь к репозиторию в команде convert.
Пишу команду:

ParentConfigConverter convert "." --dump="config/ConfigDumpInfo.xml" --in="config/Ext/ParentConfigurations.bin"

В итоге получаю ошибку OneScript\lib\cli\src\core\Классы\КомандаПриложения.os / Ошибка в строке: 416 / Ошибка чтения параметров команды;

Image

Зашел в исходники. Первое что заметил это Аргумент REPO, может быть не обязательным. Сделал это:

Команда.Аргумент("REPO", ТекущийКаталог(), "Путь к git-репозиторию")
	.ТСтрока()
	.Обязательный(Ложь);

Проверил без аргумента - да, работает! Но в целом проблема не ушла.

ParentConfigConverter convert --dump="config/ConfigDumpInfo.xml" --in="config/Ext/ParentConfigurations.bin"

Не плохо было бы это исправить внутри пакета.

Решил разобраться, как передать аргумент REPO в команду. Нашел в документации к пакету cli, что такая проблема может быть и надо парсеру подсказать, где находится аргумент команды. Это делается с помощью указателя --. Только в справке не указано, что он обязательно должен быть последним. В итоге команда должна выглядеть:

ParentConfigConverter convert --dump="config/ConfigDumpInfo.xml" --in="config/Ext/ParentConfigurations.bin" -- '.'

Или

ParentConfigConverter convert --dump="config/ConfigDumpInfo.xml" --in="config/Ext/ParentConfigurations.bin" -- 'C:\repo\МойПроект'

p.s.
Команды в моих примерах нельзя использовать, так как опция dump-cache является по факту обязательной, потому что в обработчике команды нет проверки, что опция dump-cache не указана. Поэтому правильно будет указывать dump-cache, даже если он вам не нужен:

ParentConfigConverter convert --dump="config/ConfigDumpInfo.xml" --in="config/Ext/ParentConfigurations.bin" --dump-cache="build/ConfigID.xml" -- "."
ИНФОРМАЦИЯ - Выполнена конвертация файла поддержки config/Ext/ParentConfigurations.bin в файл src/Ext/ParentConfigurations_mod.bin

Вот тут не хватает проверки:

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions