Skip to content

Commit f622683

Browse files
committed
Задача установки текущего пакеата плагинов
1 parent 9c16f18 commit f622683

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

tasks/testing-build.os

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#Использовать gitrunner
2+
#Использовать tempfiles
3+
#Использовать fs
4+
5+
Перем Лог;
6+
7+
Процедура ПолучитьИсходники(Знач URLРепозитория, Знач Ветка, Знач Каталог)
8+
9+
ГитРепозиторий = Новый ГитРепозиторий;
10+
11+
ГитРепозиторий.УстановитьРабочийКаталог(Каталог);
12+
13+
ГитРепозиторий.КлонироватьРепозиторий(URLРепозитория, Каталог);
14+
ГитРепозиторий.ПерейтиВВетку(Ветка);
15+
16+
КонецПроцедуры
17+
18+
Процедура УстановитьПакет(Знач Каталог, ПутьКМанифестуСборки)
19+
20+
Лог.Информация("Каталог сборки <%1>", Каталог);
21+
22+
Лог.Информация("Сборка пакета библиотеки");
23+
КомандаOpm = Новый Команда;
24+
КомандаOpm.УстановитьРабочийКаталог(Каталог);
25+
КомандаOpm.УстановитьКоманду("opm");
26+
КомандаOpm.ДобавитьПараметр("build");
27+
КомандаOpm.ДобавитьПараметр("-mf");
28+
КомандаOpm.ДобавитьПараметр(ПутьКМанифестуСборки);
29+
КомандаOpm.ДобавитьПараметр(Каталог);
30+
КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm");
31+
32+
КодВозврата = КомандаOpm.Исполнить();
33+
34+
Если КодВозврата <> 0 Тогда
35+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
36+
КонецЕсли;
37+
38+
МассивФайлов = НайтиФайлы(Каталог, "*.ospx");
39+
40+
Если МассивФайлов.Количество() = 0 Тогда
41+
ВызватьИсключение Новый ИнформацияОбОшибке("Ошибка создания пакета gitsync3", "Не найден собранный файл пакета gitsync3");
42+
КонецЕсли;
43+
44+
ФайлПлагина = МассивФайлов[0].ПолноеИмя;
45+
46+
ИсполнительGitSync = ОбъединитьПути(ТекущийСценарий().Каталог, "..", "bin/gitsync3/src/cmd/gitsync3.os");
47+
48+
// ФС.ОбеспечитьКаталог(КаталогПроектаGitsync);
49+
50+
// Лог.Информация("Установка в каталог проекта <%1>", КаталогПроектаGitsync);
51+
52+
Лог.Информация("Установка пакета из файла <%1>", ФайлПлагина);
53+
54+
КомандаOpm = Новый Команда;
55+
КомандаOpm.УстановитьРабочийКаталог(Каталог);
56+
КомандаOpm.УстановитьКоманду("oscript");
57+
КомандаOpm.ДобавитьПараметр("-encoding=utf-8");
58+
КомандаOpm.ДобавитьПараметр(ИсполнительGitSync);
59+
КомандаOpm.ДобавитьПараметр("p i");
60+
КомандаOpm.ДобавитьПараметр("-f");
61+
КомандаOpm.ДобавитьПараметр(ФайлПлагина);
62+
КомандаOpm.ДобавитьЛогВыводаКоманды("task.install-opm");
63+
64+
КодВозврата = КомандаOpm.Исполнить();
65+
66+
Если КодВозврата <> 0 Тогда
67+
ВызватьИсключение СтрШаблон("Ошибка установки плагинов из <%1> по причине <%2>", ФайлПлагина, КомандаOpm.ПолучитьВывод());
68+
КонецЕсли;
69+
70+
ВременныеФайлы.УдалитьФайл(ФайлПлагина);
71+
72+
КонецПроцедуры
73+
74+
Процедура ПолезнаяРабота()
75+
76+
ПутьКМанифестуСборки = "packagedef";
77+
78+
// ПолучитьИсходники(URLРепозитория, Ветка, КаталогСборки);
79+
УстановитьПакет(ОбъединитьПути(ТекущийСценарий().Каталог, ".."), ПутьКМанифестуСборки);
80+
81+
// ВременныеФайлы.УдалитьФайл(КаталогСборки);
82+
83+
КонецПроцедуры
84+
85+
Лог = Логирование.ПолучитьЛог("task.install-opm");
86+
87+
ПолезнаяРабота();
88+
89+

0 commit comments

Comments
 (0)