|
5 | 5 | // Прикладной интерфейс |
6 | 6 |
|
7 | 7 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт |
| 8 | + |
8 | 9 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Создание файлов поставки (cf и cfu)"); |
9 | 10 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-cfu-basedir", "Каталог предыдущих версий для создания CFU (опционально)"); |
10 | | - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-update-from", "Перечень версий, через запятую, включаемых в обновление (опционально)"); |
| 11 | +Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-update-from", "Перечень версий, через запятую, включаемых в обновление (опционально)"); |
11 | 12 |
|
12 | 13 | Парсер.ДобавитьКоманду(ОписаниеКоманды); |
| 14 | + |
13 | 15 | КонецПроцедуры |
14 | 16 |
|
15 | 17 | // Выполняет логику команды |
|
18 | 20 | // ПараметрыКоманды - Соответствие ключей командной строки и их значений |
19 | 21 | // |
20 | 22 | Функция ВыполнитьКоманду(Знач ПараметрыКоманды) Экспорт |
21 | | - |
22 | | -СоздатьФайлыКонфигурацииПоставщика(ОкружениеСборки.ПолучитьКонфигуратор(), ПараметрыКоманды["-cfu-basedir"], ПараметрыКоманды["-update-from"]); |
| 23 | + |
| 24 | +РазобранныеПараметры = РазобратьПараметры(ПараметрыКоманды); |
| 25 | +СоздатьФайлыКонфигурацииПоставщика(ОкружениеСборки.ПолучитьКонфигуратор(), РазобранныеПараметры.КаталогВерсий, РазобранныеПараметры.ПредыдущиеВерсии); |
23 | 26 |
|
24 | 27 | КонецФункции |
25 | 28 |
|
26 | 29 | Функция СоздатьФайлыКонфигурацииПоставщика(Знач УправлениеКонфигуратором, Знач КаталогВерсий, Знач ПредыдущиеВерсии) Экспорт |
27 | | - ИмяФайлаПоставки = УправлениеКонфигуратором.КаталогСборки() + "\1cv8.cf"; |
| 30 | + |
| 31 | +ИмяФайлаПоставки = ОбъединитьПути(УправлениеКонфигуратором.КаталогСборки(), "1cv8.cf"); |
28 | 32 | Параметры = УправлениеКонфигуратором.ПолучитьПараметрыЗапуска(); |
29 | 33 | Параметры.Добавить("/CreateDistributionFiles"); |
30 | | -Параметры.Добавить("-cffile """+ИмяФайлаПоставки+""""); |
| 34 | +Параметры.Добавить(СтрШаблон("-cffile ""%1""", ИмяФайлаПоставки)); |
31 | 35 |
|
32 | 36 | ФайлыПредыдущихВерсий = НайтиФайлыПредыдущихВерсий(КаталогВерсий, ПредыдущиеВерсии); |
33 | 37 | Если ФайлыПредыдущихВерсий <> Неопределено Тогда |
34 | | -ИмяФайлаОбновления = УправлениеКонфигуратором.КаталогСборки() + "\1cv8.cfu"; |
35 | | -Параметры.Добавить("-cfufile """+ИмяФайлаОбновления+""""); |
| 38 | +ИмяФайлаОбновления = ОбъединитьПути(УправлениеКонфигуратором.КаталогСборки(), "1cv8.cfu"); |
| 39 | +Параметры.Добавить(СтрШаблон("-cfufile ""%1""", ИмяФайлаОбновления)); |
36 | 40 |
|
37 | 41 | Для Каждого ФайлПредыдущейВерсии Из ФайлыПредыдущихВерсий Цикл |
38 | | -Лог.Информация("Добавляю обновление из файла: " + ФайлПредыдущейВерсии.ПолноеИмя); |
39 | | -Параметры.Добавить("-f """ + ФайлПредыдущейВерсии.ПолноеИмя + """"); |
| 42 | + |
| 43 | +Лог.Информация("Добавляю обновление из файла: %1", ФайлПредыдущейВерсии.ПолноеИмя); |
| 44 | +Параметры.Добавить(СтрШаблон("-f ""%1""", ФайлПредыдущейВерсии.ПолноеИмя)); |
| 45 | + |
40 | 46 | КонецЦикла; |
41 | 47 |
|
42 | 48 | КонецЕсли; |
43 | 49 |
|
44 | 50 | УправлениеКонфигуратором.ВыполнитьКоманду(Параметры); |
45 | 51 | Сообщить(УправлениеКонфигуратором.ВыводКоманды()); |
46 | | - |
47 | | - Возврат Новый Структура("ИмяФайлаПоставки,ИмяФайлаОбновления", ИмяФайлаПоставки, ИмяФайлаОбновления); |
48 | | - |
| 52 | + |
| 53 | +Возврат Новый Структура("ИмяФайлаПоставки, ИмяФайлаОбновления", ИмяФайлаПоставки, ИмяФайлаОбновления); |
| 54 | + |
49 | 55 | КонецФункции // СоздатьФайлыКонфигурацииПоставщика() |
50 | 56 |
|
51 | 57 | Функция НайтиФайлыПредыдущихВерсий(Знач КаталогПредыдущихВерсий, Знач ВерсииОбновления) |
52 | 58 |
|
53 | 59 | Если КаталогПредыдущихВерсий = Неопределено Тогда |
| 60 | + |
54 | 61 | Возврат Неопределено; |
| 62 | + |
55 | 63 | КонецЕсли; |
56 | 64 |
|
57 | 65 | Каталог = Новый Файл(КаталогПредыдущихВерсий); |
58 | | -Если Не Каталог.Существует() Тогда |
| 66 | +Если Не Каталог.Существует() ИЛИ Каталог.ЭтоФайл() Тогда |
| 67 | + |
59 | 68 | Возврат Неопределено; |
| 69 | + |
60 | 70 | КонецЕсли; |
61 | 71 |
|
62 | 72 | ФайлыКонфигураций = Новый Массив; |
63 | 73 |
|
64 | 74 | Для Каждого Версия Из ВерсииОбновления Цикл |
| 75 | + |
65 | 76 | КаталогВерсии = Новый Файл(ОбъединитьПути(КаталогПредыдущихВерсий, Версия)); |
66 | 77 | Если Не КаталогВерсии.Существует() Тогда |
| 78 | + |
67 | 79 | Текст = СтрШаблон("Каталог версии %1 не найден", КаталогВерсии.ПолноеИмя); |
68 | 80 | Лог.Ошибка(Текст); |
69 | 81 | ВызватьИсключение Текст; |
| 82 | + |
70 | 83 | КонецЕсли; |
71 | 84 |
|
72 | | -ФайлыКонфигурацийВерсии = НайтиФайлы(КаталогВерсии, "*.cf", Истина); |
| 85 | +ФайлыКонфигурацийВерсии = НайтиФайлы(КаталогВерсии.ПолноеИмя, "*.cf", Истина); |
73 | 86 | Для Каждого ФайлВерсии Из ФайлыКонфигурацийВерсии Цикл |
| 87 | + |
74 | 88 | ФайлыКонфигураций.Добавить(ФайлВерсии); |
| 89 | + |
75 | 90 | КонецЦикла; |
| 91 | + |
76 | 92 | КонецЦикла; |
77 | 93 |
|
78 | 94 | Если ФайлыКонфигураций.Количество() Тогда |
| 95 | + |
79 | 96 | Возврат ФайлыКонфигураций; |
80 | | -Иначе |
81 | | -Возврат Неопределено; |
| 97 | + |
82 | 98 | КонецЕсли; |
| 99 | + |
| 100 | +Возврат Неопределено; |
| 101 | + |
83 | 102 | КонецФункции |
84 | 103 |
|
85 | 104 | Функция РазобратьПараметры(Знач ПараметрыКоманды) Экспорт |
86 | | - |
87 | | - Результат = Новый Структура; |
88 | | - Результат.Вставить("КаталогВерсий", ПараметрыКоманды["-cfu-basedir"]); |
89 | | - |
90 | | - МассивВерсий = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок( |
91 | | - Строка(ПараметрыКоманды["-update-from"]), |
92 | | - ",", |
93 | | - Ложь, |
94 | | - Истина); |
95 | | - |
96 | | - Результат.Вставить("ПредыдущиеВерсии", МассивВерсий); |
97 | | - |
98 | | - |
99 | | - Возврат Результат; |
100 | | - |
| 105 | + |
| 106 | +МассивВерсий = СтрРазделить(Строка(ПараметрыКоманды["-update-from"]), ",", Истина); |
| 107 | + |
| 108 | +Результат = Новый Структура; |
| 109 | +Результат.Вставить("КаталогВерсий", ПараметрыКоманды["-cfu-basedir"]); |
| 110 | +Результат.Вставить("ПредыдущиеВерсии", МассивВерсий); |
| 111 | + |
| 112 | +Возврат Результат; |
| 113 | + |
101 | 114 | КонецФункции |
102 | 115 |
|
103 | 116 | ////////////////////////////////////////////////////////////////////////// |
|
0 commit comments