forked from vanessa-opensource/ovm
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Черновик библиотеки autumn-cli и ее использование
- Loading branch information
Showing
16 changed files
with
189 additions
and
99 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"cli": { | ||
"ИмяПриложения": "ovm", | ||
"ПолноеИмяПриложения": "OneScript Version Manager v%{cli.ВерсияПриложения}", | ||
"ВерсияПриложения": "1.0.0-RC17" | ||
}, | ||
"logos": { | ||
"logger": { | ||
"oscript.app.ovm": { | ||
"level": "info", | ||
"appenders": [ | ||
"logos" | ||
] | ||
} | ||
}, | ||
"appender": { | ||
"logos": { | ||
"type": "ЛогосАппендер", | ||
"level": "info" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,8 @@ | |
.АдресАвтора("[email protected]") | ||
.Описание("OneScript Version Manager") | ||
.ВерсияСреды("1.0.20") | ||
.ЗависитОт("autumn", "2.3.0") | ||
.ЗависитОт("autumn-logos", "1.0.0") | ||
.ЗависитОт("json") | ||
.ЗависитОт("1commands", "1.3.2") | ||
.ЗависитОт("fluent", "0.3.1") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,81 +1,10 @@ | ||
#Использовать cli | ||
#Использовать tempfiles | ||
#Использовать autumn | ||
#Использовать autumn-logos | ||
|
||
#Использовать "." | ||
#Использовать "../core" | ||
|
||
/////////////////////////////////////////////////////////////////////////////// | ||
|
||
// Обработчик выполнения команды | ||
// | ||
// Параметры: | ||
// КомандаПриложения - КомандаПриложения - Выполняемая команда | ||
// | ||
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт | ||
|
||
КомандаПриложения.ВывестиСправку(); | ||
|
||
КонецПроцедуры | ||
|
||
Процедура ВыполнитьПриложение() | ||
|
||
КонсольноеПриложение = Новый КонсольноеПриложение( | ||
ПараметрыПриложения.ИмяПриложения(), | ||
"OneScript Version Manager v" + ПараметрыПриложения.Версия() | ||
); | ||
|
||
КонсольноеПриложение.Версия("v version", ПараметрыПриложения.Версия()); | ||
|
||
КонсольноеПриложение.ДобавитьКоманду( | ||
"install i", | ||
"Установить OneScript указанных версий", | ||
Новый КомандаInstall() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"use u", | ||
"Использовать OneScript указанной версии", | ||
Новый КомандаUse() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"uninstall delete d", | ||
"Удалить OneScript указанных версий", | ||
Новый КомандаUninstall() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"list ls", | ||
"Вывести список установленных и/или доступных версий OneScript", | ||
Новый КомандаList() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"run r", | ||
"Запустить исполняемый файл в окружении указанной версии OneScript", | ||
Новый КомандаRun() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"which w", | ||
"Вывести путь к установленной версии OneScript", | ||
Новый КомандаWhich() | ||
); | ||
КонсольноеПриложение.ДобавитьКоманду( | ||
"config", | ||
"Настройки ovm. Прокси, сервера и т.п.", | ||
Новый КомандаConfig() | ||
); | ||
|
||
КонсольноеПриложение.УстановитьОсновноеДействие(ЭтотОбъект); | ||
КонсольноеПриложение.Запустить(АргументыКоманднойСтроки); | ||
|
||
КонецПроцедуры | ||
|
||
Лог = ПараметрыOVM.ПолучитьЛог(); | ||
КодСостояния = 0; | ||
Попытка | ||
ВыполнитьПриложение(); | ||
Исключение | ||
Лог.Ошибка(ОписаниеОшибки()); | ||
КодСостояния = 1; | ||
КонецПопытки; | ||
|
||
ВременныеФайлы.Удалить(); | ||
|
||
ЗавершитьРаботу(КодСостояния); | ||
Поделка = Новый Поделка(); | ||
Поделка | ||
.ПросканироватьКаталог(ТекущийСценарий().Каталог) | ||
.ЗапуститьПриложение(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
&Аннотация("КомандаПриложения") | ||
&Прозвище("КомандаПриложения") | ||
&Желудь | ||
Процедура ПриСозданииОбъекта(Имя, Описание = "") | ||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
&Аннотация("ЛогOVM") | ||
&Лог("oscript.app.ovm") | ||
Процедура ПриСозданииОбъекта() | ||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#Использовать autumn | ||
#Использовать cli | ||
|
||
&Завязь | ||
Функция КонсольноеПриложение( | ||
&Пластилин(Значение = "КомандаПриложения", Тип = "ТаблицаЗначений") КомандыПриложения, | ||
&Пластилин КомандаПриложенияПоУмолчанию, | ||
&Деталька(Значение = "cli.ИмяПриложения") ИмяПриложения, | ||
&Деталька(Значение = "cli.ПолноеИмяПриложения") ПолноеИмяПриложения, | ||
&Деталька(Значение = "cli.ВерсияПриложения") ВерсияПриложения | ||
) Экспорт | ||
|
||
// TODO: Перенести в ядро ОСени. | ||
ПолноеИмяПриложения = СтрЗаменить(ПолноеИмяПриложения, "%{cli.ВерсияПриложения}", ВерсияПриложения); | ||
|
||
КонсольноеПриложение = Новый КонсольноеПриложение( | ||
ИмяПриложения, | ||
ПолноеИмяПриложения | ||
); | ||
|
||
КонсольноеПриложение.Версия("v version", ВерсияПриложения); | ||
|
||
Для Каждого ДанныеЖелудя Из КомандыПриложения Цикл | ||
|
||
КомандаПриложения = ДанныеЖелудя.Желудь; | ||
ОпределениеЖелудя = ДанныеЖелудя.ОпределениеЖелудя; | ||
|
||
Конструктор = ОпределениеЖелудя.Завязь().ДанныеМетода(); | ||
|
||
Аннотация = РаботаСАннотациями.НайтиАннотацию(Конструктор.Аннотации, "КомандаПриложения"); | ||
Если Аннотация = Неопределено Тогда | ||
ВызватьИсключение "Не найдена аннотация КомандаПриложения у желудя " + ДанныеЖелудя.Имя; | ||
КонецЕсли; | ||
|
||
КонсольноеПриложение.ДобавитьКоманду( | ||
РаботаСАннотациями.ПолучитьЗначениеПараметраАннотации(Аннотация, "Имя"), | ||
РаботаСАннотациями.ПолучитьЗначениеПараметраАннотации(Аннотация, "Описание", ""), | ||
КомандаПриложения | ||
); | ||
|
||
КонецЦикла; | ||
|
||
КонсольноеПриложение.УстановитьОсновноеДействие(КомандаПриложенияПоУмолчанию); | ||
|
||
Возврат КонсольноеПриложение; | ||
|
||
КонецФункции | ||
|
||
&Дуб | ||
Процедура ПриСозданииОбъекта() | ||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
// Обработчик выполнения команды | ||
// | ||
// Параметры: | ||
// КомандаПриложения - КомандаПриложения - Выполняемая команда | ||
// | ||
Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт | ||
|
||
КомандаПриложения.ВывестиСправку(); | ||
|
||
КонецПроцедуры | ||
|
||
&КомандаПриложения( | ||
Имя = "help h", | ||
Описание = "Вывести справку по командам" | ||
) | ||
&Прозвище("КомандаПриложенияПоУмолчанию") | ||
Процедура ПриСозданииОбъекта() | ||
|
||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// TODO: отдельная рогатка ovm по управлчению временными файлами? Перехватчик "ПриЗавершенииПриложения" в ОСени? | ||
#Использовать tempfiles | ||
|
||
&Пластилин | ||
Перем КонсольноеПриложение; | ||
|
||
&Лог("oscript.lib.autumn-cli") | ||
Перем Лог; | ||
|
||
Процедура ПриЗапускеПриложения() Экспорт | ||
|
||
Лог = ПараметрыOVM.ПолучитьЛог(); | ||
КодСостояния = 0; | ||
Попытка | ||
КонсольноеПриложение.Запустить(АргументыКоманднойСтроки); | ||
Исключение | ||
Лог.Ошибка(ОписаниеОшибки()); | ||
|
||
ВременныеФайлы.Удалить(); // todo: перехватчик "ПриЗавершенииПриложения" в ОСени? | ||
|
||
КодСостояния = 1; // todo: возврат кода состояния рогатки как ExitCodeGenerator? | ||
КонецПопытки; | ||
|
||
ЗавершитьРаботу(КодСостояния); // todo: прям не хорошо | ||
|
||
КонецПроцедуры | ||
|
||
&Рогатка(ЗапускатьВФоне = Ложь) | ||
Процедура ПриСозданииОбъекта() | ||
КонецПроцедуры |
This file was deleted.
Oops, something went wrong.