Этот репозиторий является готовым решением для разработки собственных консольных приложений на 1Script.
Позволяет создать служебную обвязку для запуска различных команд вашего приложения из командной строки.
yourapp <command> [args..]
Все неинтересные вопросы по разбору строк и параметров, а также то, как их реализацию разместить в программе - помогает решить данный шаблон.
src/Модули/ПараметыПриложения.os в методе ИмяПродукта.src/Классы/ШаблонКоманды.os-template и дайте ему уникальное говорящее имя, например КомандаСделатьВсемХорошо.os.src/Модули/ПараметрыПриложения.os в методе НастроитьКомандыПриложения заполните регистрацию ваших команд, как в примере внутри метода.packagedef, добавив необходимые зависимости.Файл -- стартер приложения src/main.os. Изменения данного файла в большинстве случаев не потребуются.
Файл -- менеджер приложения src/МенеджерПриложения/os. Содержит в себе всю логику определения и выбора команд. Также в нём определён публичный интерфейс для получения свойств приложения и управления приложением:
Инициализировать(). Инициализирует приложение, создаёт и заполняет все необходимые для работы
приложения переменные и структуры. В качестве аргумента конструктор принимает модуль, в котором определены настройки
приложения (см. ниже).ДобавитьКоманду(). Осуществляет добавление команды в приложение. Добавление осуществляется в модуле настроек
приложения (см. ниже).ЗавершитьРаботуПриложения(). Штатно завершает приложение с нулевым кодом возврата по умолчанию.ЗавершитьРаботуПриложенияСОшибкой(). Нештатно завершает приложение с кодом возврата ОшибкаВремениВыполнения
по умолчанию и выводом ошибки в консоль.ЗапуститьВыполнение(). Основной метод, осуществляющий запуск определение команды для запуска и запуск
команды на выполнение.ВыполнитьКоманду(). Позволяет программно выполнить любую команду приложения.ПолучитьЛог(). Предоставляет доступ к логу приложения.ВерсияПродукта(). Предоставляет доступ (только чтение) к номеру версии продукта.ИмяПродукта(). Предоставляет доступ (только чтение) к имени продукта.ВывестиСправкуПоКомандам(). Выводит в консоль справку по всем командам, зарегистрированным в приложении.ВывестиСправкуПоКоманде. Выводит в консоль справку по указанной команду.РезультатыКоманд(). Предоставляет доступ (только чтение) к именованному списку стандартных кодов возврата
приложения.Файл свойств приложения ПараметрыПриложения.os. Данный файл содержит информацию о приложении:
А также содержит процедуры:
Файлы команд. Располагаются в каталоге src/Классы. Файл команд должен содержать два обязательных метода:
НастроитьКоманду, заполняющий принимаемые на вход командной строки параметры команды.ВыполнитьКоманду, выполняющий логику работы команды.