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