|
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