Skip to content

Commit 93a17f9

Browse files
committed
Выполнение произвольных задач
1 parent 9442c81 commit 93a17f9

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

src/Классы/ДиспетчерКомандПриложения.os

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Процедура ДобавитьОписанияКоманд(Знач Парсер) Экспорт
88
ДобавитьКомандуBuild(Парсер);
9-
ДобавитьКомандуTest(Парсер);
9+
ДобавитьКомандуRun(Парсер);
1010
ДобавитьКомандуPrepare(Парсер);
1111
ДобавитьКомандуInstall(Парсер);
1212
ДобавитьКомандуUpdate(Парсер);
@@ -32,9 +32,9 @@
3232
Парсер.ДобавитьКоманду(Команда);
3333
КонецПроцедуры
3434

35-
Процедура ДобавитьКомандуTest(Знач Парсер)
36-
Команда = Парсер.ОписаниеКоманды("test", "Выполнить тестирование разрабатываемого пакета");
37-
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "ПутьКТестРаннеру", "Путь к скрипту-запускателю тестов. Необязательный.");
35+
Процедура ДобавитьКомандуRun(Знач Парсер)
36+
Команда = Парсер.ОписаниеКоманды("run", "Выполнить произвольную задачу");
37+
Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "ИмяЗадачи", "Имя выполняемой задачи.");
3838
Парсер.ДобавитьКоманду(Команда);
3939
КонецПроцедуры
4040

@@ -82,8 +82,8 @@
8282
ЗначенияПараметров = ПараметрыКоманды.ЗначенияПараметров;
8383
Если ПараметрыКоманды.Команда = "build" Тогда
8484
ВыполнитьСборку(ЗначенияПараметров["КаталогИсходников"], ЗначенияПараметров["-mf"], ЗначенияПараметров["-out"]);
85-
ИначеЕсли ПараметрыКоманды.Команда = "test" Тогда
86-
ПротестироватьПакет(ЗначенияПараметров["ПутьКТестРаннеру"]);
85+
ИначеЕсли ПараметрыКоманды.Команда = "run" Тогда
86+
ВыполнитьЗадачу(ЗначенияПараметров);
8787
ИначеЕсли ПараметрыКоманды.Команда = "prepare" Тогда
8888
ПодготовитьКаталогПроекта(ЗначенияПараметров["КаталогСборкиПакета"]);
8989
ИначеЕсли ПараметрыКоманды.Команда = "install" Тогда
@@ -130,8 +130,11 @@
130130

131131
КонецПроцедуры
132132

133-
Процедура ПротестироватьПакет(Знач ПутьКТестРаннеру)
134-
133+
Процедура ВыполнитьЗадачу(Знач ЗначенияПараметров)
134+
135+
ИмяЗадачи = ЗначенияПараметров["ИмяЗадачи"];
136+
ПутьККаталогуЗадач = "";
137+
135138
ПутьКМанифесту = ОбъединитьПути(ТекущийКаталог(), Константы.ИмяФайлаСпецификацииПакета);
136139

137140
Файл_Манифест = Новый Файл(ПутьКМанифесту);
@@ -141,24 +144,23 @@
141144
ЗагрузитьСценарий(ПутьКМанифесту, Контекст);
142145

143146
Свойства = Описание.Свойства();
144-
Если Свойства.Свойство("ТестРаннер") Тогда
145-
ПутьКТестРаннеру = Свойства.ТестРаннер;
147+
Если Свойства.Свойство("Задачи") Тогда
148+
ПутьККаталогуЗадач = Свойства.Задачи;
146149
КонецЕсли;
147150
КонецЕсли;
148151

149-
Если НЕ ЗначениеЗаполнено(ПутьКТестРаннеру) Тогда
150-
ПутьКТестРаннеру = ОбъединитьПути(ТекущийКаталог(), "tests", "index.os");
152+
Если НЕ ЗначениеЗаполнено(ПутьККаталогуЗадач) Тогда
153+
ПутьККаталогуЗадач = ОбъединитьПути(ТекущийКаталог(), "tasks");
151154
КонецЕсли;
152155

153-
Файл_ТестРаннер = Новый Файл(ПутьКТестРаннеру);
154-
Если НЕ Файл_ТестРаннер.Существует() Тогда
155-
ТекстСообщения = СтрШаблон("Не найден тестраннер: %1", Файл_ТестРаннер.ПолноеИмя);
156+
КаталогЗадач = Новый Файл(ПутьККаталогуЗадач);
157+
Если НЕ КаталогЗадач.Существует() Тогда
158+
ТекстСообщения = СтрШаблон("Не найден каталог задач: %1", КаталогЗадач.ПолноеИмя);
156159
ВызватьИсключение ТекстСообщения;
157160
КонецЕсли;
158161

159-
Контекст = Новый Структура;
160-
ТестРаннер = ЗагрузитьСценарий(ПутьКТестРаннеру, Контекст);
161-
ТестРаннер.Запустить();
162+
ПутьКЗадаче = ОбъединитьПути(ПутьККаталогуЗадач, ИмяЗадачи + ".os");
163+
ЗагрузитьСценарий(ПутьКЗадаче);
162164

163165
КонецПроцедуры
164166

src/Классы/ОписаниеПакета.os

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@
5050
Возврат ЭтотОбъект;
5151
КонецФункции
5252

53-
Функция Тестраннер(Знач Параметр) Экспорт
54-
УстановитьСвойствоПакета("Тестраннер", Параметр);
53+
Функция Задачи(Знач Параметр) Экспорт
54+
УстановитьСвойствоПакета("Задачи", Параметр);
5555
Возврат ЭтотОбъект;
5656
КонецФункции
5757

0 commit comments

Comments
 (0)