|
2 | 2 | #Использовать v8runner |
3 | 3 | #Использовать tempfiles |
4 | 4 | #Использовать asserts |
| 5 | +#Использовать tool1cd |
5 | 6 |
|
6 | 7 | Перем Лог; |
7 | 8 | Перем ВФ; |
|
10 | 11 | // Прикладной интерфейс |
11 | 12 |
|
12 | 13 | Процедура ЗарегистрироватьКоманду(Знач ИмяКоманды, Знач Парсер) Экспорт |
13 | | - |
| 14 | + |
14 | 15 | ОписаниеКоманды = Парсер.ОписаниеКоманды(ИмяКоманды, "Выгрузка версии из хранилища в рабочую среду"); |
15 | 16 | Парсер.ДобавитьПозиционныйПараметрКоманды(ОписаниеКоманды, "АдресХранилища", "Хранилище конфигурации 1С из которого выполняется сборка"); |
16 | 17 | // TODO с помощью tool1cd можно не применять авторизацию |
17 | 18 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-user", "Пользователь хранилища 1С"); |
18 | 19 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-pwd", "Пароль пользователя хранилища 1С (опционально)"); |
19 | 20 | Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-storage-v", "Версия в хранилище, которую включаем в дистрибутив (опционально)"); |
20 | | - Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-use-tool1cd", "Использовать для чтения хранилища Tool1CD (указывается путь к Tool1CD)"); |
| 21 | + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-use-tool1cd", "Использовать для чтения хранилища Tool1CD"); |
21 | 22 |
|
22 | 23 | Парсер.ДобавитьКоманду(ОписаниеКоманды); |
23 | 24 |
|
|
33 | 34 | Параметры = РазобратьПараметры(ПараметрыКоманды); |
34 | 35 |
|
35 | 36 | Попытка |
36 | | - ФайлВерсии = ПолучитьИмяВременногоФайла(".cf"); |
37 | | - ВыгрузитьВерсиюИзХранилища(Параметры.АдресХранилища, Параметры.ВерсияХранилища, ФайлВерсии, Параметры.ПользовательХранилища, Параметры.ПарольХранилища); |
| 37 | + ФайлВерсии = ПолучитьИмяВременногоФайла(".cf"); |
| 38 | + Если Параметры.ИспользоватьTool1CD Тогда |
| 39 | + ВыгрузитьВерсиюСредствамиTool1CD(Параметры.АдресХранилища, Параметры.ВерсияХранилища, ФайлВерсии); |
| 40 | + Иначе |
| 41 | + ВыгрузитьВерсиюИзХранилища(Параметры.АдресХранилища, Параметры.ВерсияХранилища, ФайлВерсии, Параметры.ПользовательХранилища, Параметры.ПарольХранилища); |
| 42 | + КонецЕсли; |
38 | 43 |
|
39 | 44 | ФайлТест = Новый Файл(ФайлВерсии); |
40 | 45 | Ожидаем.Что(ФайлТест.Существует(), "Должен существовать выгруженный файл версии"); |
41 | 46 |
|
42 | 47 | УправлениеКонфигуратором = ОкружениеСборки.ПолучитьКонфигуратор(); |
43 | 48 | ЗагрузитьКонфигурациюВБазуСборки(УправлениеКонфигуратором, ФайлВерсии); |
44 | 49 | Исключение |
45 | | - ВФ.Удалить(); |
46 | | - ВызватьИсключение; |
| 50 | + ВФ.Удалить(); |
| 51 | + ВызватьИсключение; |
47 | 52 | КонецПопытки; |
48 | 53 |
|
49 | | - ВФ.Удалить(); |
| 54 | + ВФ.Удалить(); |
50 | 55 |
|
51 | 56 | КонецФункции |
52 | 57 |
|
53 | 58 | Процедура ЗагрузитьКонфигурациюВБазуСборки(Знач УправлениеКонфигуратором, Знач ФайлВерсии) Экспорт |
54 | 59 | Лог.Информация("Загружаю версию во временную базу"); |
55 | | - УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлВерсии, Истина); |
56 | | - Лог.Информация(УправлениеКонфигуратором.ВыводКоманды()); |
| 60 | + УправлениеКонфигуратором.ЗагрузитьКонфигурациюИзФайла(ФайлВерсии, Истина); |
| 61 | + Лог.Информация(УправлениеКонфигуратором.ВыводКоманды()); |
57 | 62 | КонецПроцедуры |
58 | 63 |
|
59 | 64 | // экспортная для целей тестирования |
|
69 | 74 | Результат.Вставить("ПользовательХранилища", ПараметрыКоманды["-storage-user"]); |
70 | 75 | Результат.Вставить("ПарольХранилища", ПараметрыКоманды["-storage-pwd"]); |
71 | 76 | Результат.Вставить("ВерсияХранилища", ПараметрыКоманды["-storage-v"]); |
| 77 | + Результат.Вставить("ИспользоватьTool1CD", ПараметрыКоманды["-use-tool1cd"]); |
72 | 78 |
|
73 | 79 | Возврат Результат; |
74 | 80 |
|
|
80 | 86 | Знач ПользовательХранилища = Неопределено, |
81 | 87 | Знач ПарольХранилища = Неопределено) Экспорт |
82 | 88 |
|
83 | | - ВременныйКаталог = ""; |
| 89 | + ВременныйКаталог = ""; |
84 | 90 | Конфигуратор = ПолучитьКонфигуратор(ВременныйКаталог); |
85 | 91 |
|
86 | 92 | Лог.Отладка("Выгружаю версию из хранилища"); |
|
98 | 104 | Лог.Отладка("Удален временный каталог: " + ВременныйКаталог); |
99 | 105 | КонецПроцедуры |
100 | 106 |
|
| 107 | +Процедура ВыгрузитьВерсиюСредствамиTool1CD(Знач КаталогХранилища, Знач ВерсияХранилища, Знач ФайлВерсии) Экспорт |
| 108 | + |
| 109 | + ФайлХранилища = ОбъединитьПути(КаталогХранилища, "1cv8ddb.1CD"); |
| 110 | + Чтение = Новый ЧтениеХранилищаКонфигурации; |
| 111 | + Если ВерсияХранилища = Неопределено Тогда |
| 112 | + ВерсияХранилища = 0; |
| 113 | + КонецЕсли; |
| 114 | + |
| 115 | + Чтение.ВыгрузитьВерсиюКонфигурации(ФайлХранилища, ФайлВерсии, ВерсияХранилища); |
| 116 | + |
| 117 | +КонецПроцедуры |
| 118 | + |
101 | 119 | Функция ПолучитьКонфигуратор(РабочийКаталог = "") |
102 | | - |
103 | | - Если ПустаяСтрока(РабочийКаталог) Тогда |
104 | | - РабочийКаталог = ВФ.СоздатьКаталог(); |
105 | | - Лог.Отладка("Создан временный каталог: " + РабочийКаталог); |
106 | | - КонецЕсли; |
107 | | - |
108 | | - Конфигуратор = Новый УправлениеКонфигуратором(); |
| 120 | + |
| 121 | + Если ПустаяСтрока(РабочийКаталог) Тогда |
| 122 | + РабочийКаталог = ВФ.СоздатьКаталог(); |
| 123 | + Лог.Отладка("Создан временный каталог: " + РабочийКаталог); |
| 124 | + КонецЕсли; |
| 125 | + |
| 126 | + Конфигуратор = Новый УправлениеКонфигуратором(); |
109 | 127 | Конфигуратор.КаталогСборки(РабочийКаталог); |
110 | | - |
111 | | - Возврат Конфигуратор; |
112 | | - |
| 128 | + |
| 129 | + Возврат Конфигуратор; |
| 130 | + |
113 | 131 | КонецФункции // ПолучитьКонфигуратор() |
114 | 132 |
|
115 | 133 | ////////////////////////////////////////////////////////////////////////////// |
|
0 commit comments