Skip to content

Commit 12a3836

Browse files
Merge pull request xDrivenDevelopment#149 from zeratulayuris/fix-empty-folder
Убрана предварительная очистка исходников
2 parents a7e0488 + 0bdf1f1 commit 12a3836

File tree

2 files changed

+40
-8
lines changed

2 files changed

+40
-8
lines changed

features/РазборкаНаИсходникиGit.feature

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@
1212
И я установил рабочий каталог как текущий каталог
1313
И Я выполняю команду "git" с параметрами 'init'
1414

15+
Сценарий: Разборка с ошибкой не приводит к очистке уже существующих исходников
16+
Дано я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>/src"
17+
И в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
18+
И я выполняю команду "git" с параметрами "add -A ."
19+
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
20+
И я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib --ib-user temp --ib-pwd 123"
21+
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
22+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в рабочий каталог
23+
И я выполняю команду "git" с параметрами "add -A ."
24+
Когда я выполняю команду "git" с параметрами 'commit -m "second commit"'
25+
Тогда в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
26+
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
27+
1528
Сценарий: Разборка изменений по журналу Git с вложенными каталогами
1629
Дано я устанавливаю Precommit в рабочий каталог с параметрами ""
1730
И я создаю каталог "1" в рабочем каталоге

v8files-extractor.os

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
КодВозврата = 1;
137137
КонецПопытки;
138138

139-
Лог.Отладка("Очищаем каталог временной ИБ");
139+
Лог.Отладка("Очищаем временные файлы");
140140
Попытка
141141
ВременныеФайлы.Удалить();
142142
Исключение
@@ -330,8 +330,6 @@
330330
Лог.Отладка("ПутьКаталогаИсходников <%1>", ПутьКаталогаИсходников);
331331
ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников);
332332

333-
ОбеспечитьПустойКаталог(ПапкаИсходников);
334-
335333
КонецЕсли;
336334

337335
Если ВРег(Файл.Расширение) = ".CFE" Тогда
@@ -388,14 +386,25 @@
388386
Конфигуратор.ВыполнитьКоманду(Параметры);
389387
Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());
390388

391-
Лог.Отладка("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ПапкаИсходников.ПолноеИмя);
389+
ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог();
390+
391+
Лог.Отладка("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ВременнаяПапкаИсходников);
392392
Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();
393393

394-
Параметры.Добавить("/DumpConfigToFiles """ + ПапкаИсходников.ПолноеИмя + """");
394+
Параметры.Добавить("/DumpConfigToFiles """ + ВременнаяПапкаИсходников + """");
395395
Параметры.Добавить("-Extension """ + ИмяРасширения + """");
396396
Конфигуратор.ВыполнитьКоманду(Параметры);
397397
Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());
398398

399+
Если НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() = 0 Тогда
400+
ВызватьИсключение СтрШаблон("Не удалось разобрать на исходники %1", Файл.ПолноеИмя);
401+
КонецЕсли;
402+
403+
ОбеспечитьПустойКаталог(ПапкаИсходников);
404+
405+
Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя);
406+
КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя);
407+
399408
КонецПроцедуры
400409

401410
Процедура ЗапуститьРаспаковкуОбработки(Знач Файл, Знач ПапкаИсходников)
@@ -415,15 +424,16 @@
415424

416425
ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner");
417426
ЛогКонфигуратора.УстановитьУровень(Лог.Уровень());
418-
427+
419428

420429
ЭтоМакет = ВРег(Файл.Расширение) = ".MXL";
430+
ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог();
421431

422432
Параметры = Конфигуратор.ПолучитьПараметрыЗапуска();
423433
Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда
424434

425435
КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""",
426-
ПапкаИсходников.ПолноеИмя, Файл.ИмяБезРасширения, Файл.ПолноеИмя);
436+
ВременнаяПапкаИсходников, Файл.ИмяБезРасширения, Файл.ПолноеИмя);
427437

428438
Лог.Отладка("Командная строка распаковки: " + КоманднаяСтрокаРаспаковки);
429439

@@ -441,7 +451,7 @@
441451
.ЭтоИстина();
442452

443453
КоманднаяСтрокаV8Reader = СтрШаблон("/C""decompile;pathtocf;%1;pathout;%2;convert-mxl2txt;ЗавершитьРаботуПосле;""",
444-
Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ПапкаИсходников.ПолноеИмя));
454+
Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ВременнаяПапкаИсходников));
445455

446456
Лог.Отладка("Командная строка V8Reader: " + КоманднаяСтрокаV8Reader);
447457

@@ -454,6 +464,15 @@
454464
Конфигуратор.ВыполнитьКоманду(Параметры);
455465
Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды());
456466

467+
Если Не ЭтоМакет Тогда
468+
Если НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() = 0 Тогда
469+
ВызватьИсключение СтрШаблон("Не удалось разобрать на исходники %1", Файл.ПолноеИмя);
470+
КонецЕсли;
471+
ОбеспечитьПустойКаталог(ПапкаИсходников);
472+
Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя);
473+
КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя);
474+
КонецЕсли;
475+
457476
КонецПроцедуры
458477

459478
Процедура УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта()

0 commit comments

Comments
 (0)