Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions features/edtExport.feature
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,21 @@
И Вывод команды "gitsync" не содержит "Версия EDT не передана через параметры, определена автоматически:"
И Код возврата команды "gitsync" равен 0

Сценарий: Cинхронизация хранилища расширения с использованием edtExport и increment без указания базового проекта
Допустим Я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С"
И Я включаю плагин "increment"
И я скопировал каталог рабочего окружения EDT в каталог из переменной "РабочееОкружениеEDT"
И Я добавляю параметр "-e test" для команды "gitsync"
И Я добавляю позиционный параметр для команды "gitsync" из переменной "КаталогХранилища1С"
И Я добавляю позиционный параметр для команды "gitsync" из переменной "ПутьКаталогаИсходников"
И Я записываю "1" в файл VERSION
Когда Я выполняю команду "gitsync"
Тогда Вывод команды "gitsync" содержит "Используем инкрементальный импорт проекта в EDT"
И Вывод команды "gitsync" содержит "Выгружаю объекты конфигурации по списку из файла"
И Вывод команды "gitsync" содержит "Завершена синхронизации с git"
И Вывод команды "gitsync" не содержит "Внешнее исключение"
И Код возврата команды "gitsync" равен 0

Сценарий: Cинхронизация хранилища расширения с использованием edtExport без указания базового проекта
Допустим Я скопировал каталог тестового хранилища конфигурации расширения в каталог из переменной "КаталогХранилища1С"
И я скопировал каталог рабочего окружения EDT в каталог из переменной "РабочееОкружениеEDT"
Expand Down
42 changes: 23 additions & 19 deletions src/Классы/edtExport.os
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// BSLLS:LatinAndCyrillicSymbolInWord-off

#Использовать logos
#Использовать tempfiles
#Использовать fs
Expand Down Expand Up @@ -160,12 +162,13 @@
ПутьКФайлуИзменений = ОбъединитьПути(КаталогВыгрузки, ИмяФайлаИзменений);
Если ФС.ФайлСуществует(ПутьКФайлуИзменений) Тогда

Лог.Отладка("Используем инкрементный импорт проекта в EDT");
Лог.Информация("Используем инкрементальный импорт проекта в EDT");

ДополнитьИнкрементнуюВыгрузкуПроекта(Конфигуратор, КаталогВыгрузки);
ДополнитьИнкрементальнуюВыгрузкуПроекта(Конфигуратор, КаталогВыгрузки);

Иначе
Лог.Отладка("Используем полный импорт проекта в EDT");
Лог.Отладка("Файл изменений %1 не найден", ПутьКФайлуИзменений);
Лог.Информация("Используем полный импорт проекта в EDT");
КонецЕсли;

ВременноеРабочееПространство = ВременныеФайлы.СоздатьКаталог();
Expand Down Expand Up @@ -338,24 +341,22 @@

КонецФункции // ЭтоWindows()

Процедура ДополнитьИнкрементнуюВыгрузкуПроекта(Конфигуратор, КаталогВыгрузки)
Процедура ДополнитьИнкрементальнуюВыгрузкуПроекта(Конфигуратор, КаталогВыгрузки)

ПутьКФайлуДополнительнойВыгрузки = ВременныеФайлы.НовоеИмяФайла();

СформироватьСписокДополнительныхОбъектов(КаталогВыгрузки, ПутьКФайлуДополнительнойВыгрузки);
СформироватьФайлСОбъектамиКВыгрузке(КаталогВыгрузки, ПутьКФайлуДополнительнойВыгрузки);

Если ФС.ФайлСуществует(ПутьКФайлуДополнительнойВыгрузки) Тогда

Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();

Параметры.Добавить(СтрШаблон("/DumpConfigToFiles ""%1""", КаталогВыгрузки));
Параметры.Добавить(СтрШаблон("-listFile ""%1""", ПутьКФайлуДополнительнойВыгрузки));

Конфигуратор.ВыполнитьКоманду(Параметры);

ВременныеФайлы.УдалитьФайл(ПутьКФайлуДополнительнойВыгрузки);

КонецЕсли;
Лог.Информация("Выгружаю объекты конфигурации по списку из файла");

Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();

Параметры.Добавить(СтрШаблон("/DumpConfigToFiles ""%1""", КаталогВыгрузки));
Параметры.Добавить(СтрШаблон("-listFile ""%1""", ПутьКФайлуДополнительнойВыгрузки));

Конфигуратор.ВыполнитьКоманду(Параметры);

ВременныеФайлы.УдалитьФайл(ПутьКФайлуДополнительнойВыгрузки);

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

Expand Down Expand Up @@ -478,7 +479,7 @@

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

Процедура СформироватьСписокДополнительныхОбъектов(КаталогВыгрузки, ПутьКФайлуДополнительнойВыгрузки)
Процедура СформироватьФайлСОбъектамиКВыгрузке(КаталогВыгрузки, ПутьКФайлуДополнительнойВыгрузки)

ПутьКФайлуИзменений = ОбъединитьПути(КаталогВыгрузки, ИмяФайлаИзменений);
ПутьКФайлуВерсийМетаданных = ОбъединитьПути(КаталогВыгрузки, ИмяФайлаДампаКонфигурации);
Expand All @@ -488,9 +489,12 @@

Если ДополнительныеОбъектыКВыгрузке.Количество() > 0 Тогда

Лог.Отладка("Файлы к инкрементальной выгрузке:");

ФайлОбъектовВыгрузки = Новый ТекстовыйДокумент();
Для Каждого ДополнительныйОбъект Из ДополнительныеОбъектыКВыгрузке Цикл
ФайлОбъектовВыгрузки.ДобавитьСтроку(ДополнительныйОбъект);
Лог.Отладка(Символы.Таб + ДополнительныйОбъект);
КонецЦикла;
ФайлОбъектовВыгрузки.Записать(ПутьКФайлуДополнительнойВыгрузки, КодировкаТекста.UTF8);

Expand All @@ -515,4 +519,4 @@

#КонецОбласти

Инициализация();
Инициализация();
Loading