Skip to content

Commit 8646e38

Browse files
committed
Управление выходным каталогом distr через параметры.
1 parent 234cd16 commit 8646e38

File tree

2 files changed

+32
-12
lines changed

2 files changed

+32
-12
lines changed

src/Классы/КомандаСоздатьДистрибутив.os

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
// TODO - с помощью tool1cd можно получить из хранилища
1414
// на больших историях версий получается массивный xml дамп таблицы
1515
Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "ФайлМанифеста", "Путь к манифесту сборки");
16+
Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-out", "Выходной каталог");
1617
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-setup", "Собирать дистрибутив вида setup.exe");
1718
Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-files", "Собирать дистрибутив вида 'файлы поставки'");
1819
Парсер.ДобавитьКоманду(ОписаниеКоманды);
@@ -28,14 +29,19 @@
2829

2930
Параметры = РазобратьПараметры(ПараметрыКоманды);
3031
УправлениеКонфигуратором = ОкружениеСборки.ПолучитьКонфигуратор();
31-
ВыполнитьСборку(УправлениеКонфигуратором, Параметры.ФайлМанифеста, Параметры.СобиратьИнсталлятор, Параметры.СобиратьФайлыПоставки);
32+
ВыполнитьСборку(
33+
УправлениеКонфигуратором,
34+
Параметры.ФайлМанифеста,
35+
Параметры.СобиратьИнсталлятор,
36+
Параметры.СобиратьФайлыПоставки,
37+
Параметры.ВыходнойКаталог);
3238

3339
КонецФункции
3440

35-
Процедура ВыполнитьСборку(Знач УправлениеКонфигуратором, Знач ФайлМанифеста, Знач СобиратьИнсталлятор, Знач СобиратьФайлыПоставки) Экспорт
41+
Процедура ВыполнитьСборку(Знач УправлениеКонфигуратором, Знач ФайлМанифеста, Знач СобиратьИнсталлятор, Знач СобиратьФайлыПоставки, Знач ВыходнойКаталог) Экспорт
3642

3743
Информация = СобратьИнформациюОКонфигурации(УправлениеКонфигуратором);
38-
СоздатьДистрибутивПоМанифесту(УправлениеКонфигуратором, ФайлМанифеста, Информация.Версия, СобиратьИнсталлятор, СобиратьФайлыПоставки);
44+
СоздатьДистрибутивПоМанифесту(УправлениеКонфигуратором, ФайлМанифеста, Информация.Версия, СобиратьИнсталлятор, СобиратьФайлыПоставки, ВыходнойКаталог);
3945

4046
КонецПроцедуры
4147

@@ -93,12 +99,19 @@
9399

94100
КонецФункции // ПрочитатьИнформациюОМетаданных()
95101

96-
Функция СоздатьДистрибутивПоМанифесту(Знач УправлениеКонфигуратором, Знач ФайлМанифеста, Знач ВерсияМетаданных, Знач СобиратьИнсталлятор, Знач СобиратьФайлыПоставки)
102+
Функция СоздатьДистрибутивПоМанифесту(
103+
Знач УправлениеКонфигуратором,
104+
Знач ФайлМанифеста,
105+
Знач ВерсияМетаданных,
106+
Знач СобиратьИнсталлятор,
107+
Знач СобиратьФайлыПоставки,
108+
Знач ВыходнойКаталог)
97109

98110
Сборщик = Новый СборщикДистрибутива;
99111
Сборщик.ФайлМанифеста = ФайлМанифеста;
100112
Сборщик.СоздаватьИнсталлятор = СобиратьИнсталлятор;
101113
Сборщик.СоздаватьФайлыПоставки = СобиратьФайлыПоставки;
114+
Сборщик.ВыходнойКаталог = ВыходнойКаталог;
102115

103116
Сборщик.Собрать(УправлениеКонфигуратором, ВерсияМетаданных, ВерсияМетаданных);
104117

@@ -115,6 +128,7 @@
115128
Результат.Вставить("ФайлМанифеста", ПараметрыКоманды["ФайлМанифеста"]);
116129
Результат.Вставить("СобиратьИнсталлятор", ПараметрыКоманды["-setup"]);
117130
Результат.Вставить("СобиратьФайлыПоставки", ПараметрыКоманды["-files"]);
131+
Результат.Вставить("ВыходнойКаталог", ПараметрыКоманды["-out"]);
118132

119133
Возврат Результат;
120134

src/Классы/СборщикДистрибутива.os

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Перем ФайлМанифеста Экспорт;
33
Перем СоздаватьИнсталлятор Экспорт;
44
Перем СоздаватьФайлыПоставки Экспорт;
5+
Перем ВыходнойКаталог Экспорт;
56

67
Перем Лог;
78

@@ -11,22 +12,27 @@
1112
Лог.Отладка("Использую шаблон манифеста: " + Манифест);
1213
УстановитьНомерСборкиВМанифесте(Манифест, ВерсияМетаданных, ИмяКаталогаШаблонаВерсии);
1314

14-
ВыходнойКаталог = Новый Файл(ОбъединитьПути(УправлениеКонфигуратором.КаталогСборки(), ОкружениеСборки.ИмяКаталогаФормированияДистрибутива()));
15-
Если Не ВыходнойКаталог.Существует() Тогда
16-
СоздатьКаталог(ВыходнойКаталог.ПолноеИмя);
17-
ИначеЕсли ВыходнойКаталог.ЭтоКаталог() Тогда
18-
УдалитьФайлы(ВыходнойКаталог.ПолноеИмя, "*.*");
15+
Если ПустаяСтрока(ВыходнойКаталог) Тогда
16+
ВыходнойКаталогОбъект = Новый Файл(ОбъединитьПути(УправлениеКонфигуратором.КаталогСборки(), ОкружениеСборки.ИмяКаталогаФормированияДистрибутива()));
17+
Иначе
18+
ВыходнойКаталогОбъект = Новый Файл(ВыходнойКаталог);
19+
КонецЕсли;
20+
21+
Если Не ВыходнойКаталогОбъект.Существует() Тогда
22+
СоздатьКаталог(ВыходнойКаталогОбъект.ПолноеИмя);
23+
ИначеЕсли ВыходнойКаталогОбъект.ЭтоКаталог() Тогда
24+
УдалитьФайлы(ВыходнойКаталогОбъект.ПолноеИмя, "*.*");
1925
Иначе
2026
УдалитьФайлы(Манифест);
21-
ВызватьИсключение "Каталог <" +ВыходнойКаталог.ПолноеИмя+ "> не является каталогом";
27+
ВызватьИсключение "Каталог <" +ВыходнойКаталогОбъект.ПолноеИмя+ "> не является каталогом";
2228
КонецЕсли;
2329

2430
// внешние файлы релиза
2531
СИ = Новый СистемнаяИнформация();
2632
СИ.УстановитьПеременнуюСреды("V8BuildRoot", УправлениеКонфигуратором.КаталогСборки());
2733

2834
Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска();
29-
Параметры.Добавить("/CreateDistributive """ + ВыходнойКаталог.ПолноеИмя + """");
35+
Параметры.Добавить("/CreateDistributive """ + ВыходнойКаталогОбъект.ПолноеИмя + """");
3036
Параметры.Добавить("-File """ + Манифест + """");
3137
Если СоздаватьФайлыПоставки Тогда
3238
Параметры.Добавить("-MakeFiles");
@@ -42,7 +48,7 @@
4248
ВызватьИсключение;
4349
КонецПопытки;
4450

45-
Возврат ВыходнойКаталог.ПолноеИмя;
51+
Возврат ВыходнойКаталогОбъект.ПолноеИмя;
4652

4753
КонецФункции // Собрать()
4854

0 commit comments

Comments
 (0)