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
70 changes: 38 additions & 32 deletions features/РазборкаНаИсходники.feature
Original file line number Diff line number Diff line change
@@ -1,32 +1,38 @@
# language: ru

Функционал: Выполнение операций по разборке на исходники
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники
Чтобы я мог проще следить за изменениями в коде

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог

Сценарий: Разборка файла из заданной папки
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
Тогда в рабочем каталоге существует каталог "Fixture"
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"

Сценарий: Разборка каталога с вложенными каталогами
Когда я создаю каталог "bin" в рабочем каталоге
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
# language: ru

Функционал: Выполнение операций по разборке на исходники
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники
Чтобы я мог проще следить за изменениями в коде

Контекст:
Допустим я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог

Сценарий: Разборка файла из заданной папки
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
Тогда в рабочем каталоге существует каталог "Fixture"
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"

Сценарий: Разборка макета из заданной папки
Когда я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt"

Сценарий: Разборка каталога с вложенными каталогами
Когда я создаю каталог "bin" в рабочем каталоге
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
Binary file added tests/Fixture.mxl
Binary file not shown.
2 changes: 1 addition & 1 deletion v8Reader
Submodule v8Reader updated 31 files
+ V8Reader.epf
+22 −1 history.txt
+1 −1 src/V8Reader/Form/ВиртуальнаяФорма/form
+5 −5 src/V8Reader/Form/ВиртуальнаяФорма/module.bsl
+32 −32 src/V8Reader/Form/НавигаторПоФайлам/form
+53 −50 src/V8Reader/Form/НавигаторПоФайлам/module.bsl
+36 −36 src/V8Reader/Form/РазборФормы/form
+2,140 −2,031 src/V8Reader/Form/РазборФормы/module.bsl
+105 −18 src/V8Reader/Form/Форма/form
+2,723 −2,582 src/V8Reader/Form/Форма/module.bsl
+127 −127 src/V8Reader/Form/ФормаHTML/form
+21 −21 src/V8Reader/Form/ФормаHTML/module.bsl
+1 −1 src/V8Reader/Form/ФормаДвоичныхДанных/form
+6 −7 src/V8Reader/Form/ФормаДвоичныхДанных/module.bsl
+193 −193 src/V8Reader/Form/ФормаДляРолей/form
+1,303 −1,296 src/V8Reader/Form/ФормаДляРолей/module.bsl
+3 −3 src/V8Reader/Form/ФормаКартинки/form
+15 −18 src/V8Reader/Form/ФормаКартинки/module.bsl
+100 −28 src/V8Reader/Form/ФормаНастройки/form
+75 −65 src/V8Reader/Form/ФормаНастройки/module.bsl
+1 −1 src/V8Reader/Form/ФормаСвойств/form
+4 −5 src/V8Reader/Form/ФормаСвойств/module.bsl
+1 −1 src/V8Reader/Form/ФормаСтруктурногоСравненияМодуля/form
+40 −24 src/V8Reader/Form/ФормаСтруктурногоСравненияМодуля/module.bsl
+133 −131 src/V8Reader/ObjectModule.bsl
+2 −2 src/V8Reader/maps.txt
+22 −1 src/V8Reader/und/a73b50b7-09a5-48f1-80d0-b4ce9f6116cb
+9 −2 src/V8Reader/und/copyinfo
+1 −1 src/V8Reader/und/versions
+ src/V8Reader/Макеты/UnpackV8.bin
+0 −16,664 src/V8Reader/Макеты/UnpackV8.txt
15 changes: 10 additions & 5 deletions v8files-extractor.os
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@
Возврат Ложь;
КонецЕсли;

Поз = Найти(ВРег(".epf,.erf,.cfe,"), ВРег(Файл.Расширение+","));
Поз = Найти(ВРег(".epf,.erf,.cfe,.mxl,"), ВРег(Файл.Расширение+","));
Возврат Поз > 0;

КонецФункции
Expand All @@ -296,7 +296,10 @@
Лог.Отладка("ПутьКаталогаИсходников <%1>", ПутьКаталогаИсходников);
ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников);

ОбеспечитьПустойКаталог(ПапкаИсходников);
Если НЕ ВРег(Файл.Расширение) = ".MXL" Тогда
ОбеспечитьПустойКаталог(ПапкаИсходников);
КонецЕсли;

Если ВРег(Файл.Расширение) = ".CFE" Тогда
ЗапуститьРаспаковкуРасширения(Файл, ПапкаИсходников);
Иначе
Expand Down Expand Up @@ -369,12 +372,14 @@
Конфигуратор.ИспользоватьКонтекст(КонтекстКонфигуратора);
КонецЕсли;


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


ЭтоМакет = ВРег(Файл.Расширение) = ".MXL";

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

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

Expand All @@ -390,7 +395,7 @@
Лог.Отладка("Путь к V8Reader: " + ПутьV8Reader);
Ожидаем.Что(Новый Файл(ПутьV8Reader).Существует(), "Некорректно установлен V8Reader. Не обнаружен файл <" + ПутьV8Reader + ">").ЭтоИстина();

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

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

Expand Down