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