diff --git a/README.md b/README.md
index 04c2ffd..3aeb758 100644
--- a/README.md
+++ b/README.md
@@ -1,18 +1,20 @@
-## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
+# Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
[![Join the chat at https://gitter.im/xDrivenDevelopment/precommit1c](https://badges.gitter.im/xDrivenDevelopment/precommit1c.svg)](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
[![GitHub release](https://img.shields.io/github/release/xDrivenDevelopment/precommit1c.svg)](https://github.com/xDrivenDevelopment/precommit1c/releases)
-### Что к чему
+## Что к чему
----
+**precommit1c** - инструмент для хранения в Git исходников внешних отчетов/обработок, технически состоит из:
+
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки, расширения и запускающий команды для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
-### Установка
+## Установка
1. Зависимости:
* OneScript [http://oscript.io/](http://oscript.io/)
@@ -25,15 +27,15 @@
3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
-#### Установка через OneScript Package Manager
+### Установка через OneScript Package Manager (предпочтительно)
-1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора).
+1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора). При этом необходимые библиотеки oscript будут установлены автоматически.
2. Перейдите в рабочий каталог репозитория, для которого следует использовать автоматическую сборку/разборку.
3. Выполните из командной строки `precommit1c --install` (здесь можно без прав администратора).
-#### Установка через zip-архив
+### Установка через zip-архив
1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest).
@@ -50,12 +52,15 @@
v8files-extractor.os
```
-#### Установка через git clone
+3. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
+
+### Установка через git clone
1. Склонируйте репозиторий `precommit1c` в удобное место.
2. После клонирования репозитория необходимо инициализировать используемые подмодули.
Откройте командую строку и выполните команды:
+
```cmd
cd путь/к/репозиторию/precommit1c
git submodule update --init --recursive
@@ -64,6 +69,7 @@ git submodule update --init --recursive
3. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
*Примечание:* каталог .git по умолчанию скрыт.
В итоге у вас должна получиться следующая структура каталога:
+
```
.git\
hooks\
@@ -73,6 +79,8 @@ git submodule update --init --recursive
v8files-extractor.os
```
+4. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`.
+
## Запуск
После установки достаточно для проверки сделать commit для любого файла epf/erf/cfe, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
@@ -89,14 +97,28 @@ oscript v8files-extractor.os ?
Разбор файлов на исходники
--help
Показ этого экрана
+ --git-check-config
+ Проверка настроек репозитория git
--git-precommit outputPath [--remove-orig-bin-files]
Запустить чтение индекса из git и определить список файлов для разбора, разложить их и добавить исходники в индекс
- Если передан флаг --remove-orig-bin-files, обработанные файлы epf/ert будут удалены из индекса git
+ Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git
--compile inputPath outputPath [--recursive]
Собрать внешний файл/обработку.
Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога
- --install
+ --install [--remove-orig-bin-files]
Установить precommit1c для текущего репозитория git
+ Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git
+
+Общие параметры:
+ --use-designer
+ Если передан этот флаг, то для операций сборки/разборки будет использован конфигуратор 1С.
+ ТОЛЬКО ДЛЯ ВЕРСИЙ ПЛАТФОРМЫ 8.3.8 И ВЫШЕ!
+ --ib-connection-string
+ Строка подключения к информационной базе (для Windows-путей обязательно экранировать '\' так: '\\'!)
+ --ib-user
+ Имя пользователя в информационной базе
+ --ib-pwd
+ Пароль пользователя в информационной базе
```
## Ограничения
@@ -118,11 +140,21 @@ git config --local core.longpaths true
Т.о. в файл C:\Program Files (x86)\1cv8\conf\conf.cfg необходимо добавить строку `DisableUnsafeActionProtection=.*`
Подробнее [на ИТС](http://its.1c.ru/db/v838doc#bookmark:dev:TI000001873)
+## Особенности распаковки макетов
+
+При использовании v8Reader макеты выгружаются в файлы, соответствующие их типам, дополнительно обрабатываются специальные случаи:
+
+* У макетов табличных документов дополнительно создаются .txt версии, чтобы их было легче сравнивать в текстовом редакторе.
+* У макетов типа html дополнительно выгружаются файлы вложений.
+* Макеты в двоичных данных выгружаются либо в .bin, либо (для печатных форм) в тот тип файла, который указан в имени макета (например, `ПФ_MXL_КакаяТоПечатнаяФорма` будет выгружен в `ПФ_MXL_КакаяТоПечатнаяФорма.mxl`).
+
## Известные проблемы
1. При использовании некоторых версий SourceTree (удобный клиент git) может возникать следующая ошибка:
+
>`.git/hooks/pre-commit: line 4: oscript: command not found`
Несколько вариантов решения:
+
+ убедиться, что команда `oscript` доступна
+ для проверки вызвать из командной строки или Win+R `cmd /k oscript`
+ откатиться на предыдущую версию SourceTree
@@ -135,14 +167,12 @@ git config --local core.longpaths true
1. Нужно выполнить следующее:
* добавить нужную обработку в индекс git - например, `git add XXX.epf`
- * установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
+ * установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
* выполнить `git commit` или `precommit1c --git-precommit`
+ * Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
+ * или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
+ * Или создать и выполнить командный файл
-+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
-
-+ или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg`
-
-* Или создать и выполнить командный файл
```bat
git add XXX.epf
@set LOGOS_CONFIG=logger.rootLogger=DEBUG
@@ -152,6 +182,7 @@ git add XXX.epf
* где каталог `src` - выходной каталог, где хранятся исходники
2. Для отключения отладочных логов выполнить обратные действия
+
## Что внутри
Как это работает: `v8files-extractor.os` полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*.
diff --git "a/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os"
new file mode 100644
index 0000000..1464c8a
--- /dev/null
+++ "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os"
@@ -0,0 +1,98 @@
+// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
+
+#Использовать asserts
+
+Перем БДД; //контекст фреймворка 1bdd
+
+// Метод выдает список шагов, реализованных в данном файле-шагов
+Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
+ БДД = КонтекстФреймворкаBDD;
+
+ ВсеШаги = Новый Массив;
+
+ ВсеШаги.Добавить("ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате");
+ ВсеШаги.Добавить("ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате");
+
+ Возврат ВсеШаги;
+КонецФункции
+
+// Реализация шагов
+
+// Процедура выполняется перед запуском каждого сценария
+Процедура ПередЗапускомСценария(Знач Узел) Экспорт
+
+КонецПроцедуры
+
+// Процедура выполняется после завершения каждого сценария
+Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
+
+КонецПроцедуры
+
+
+//в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
+Процедура ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате(Знач Подпапка, Знач ИмяОбработки, Знач Формат) Экспорт
+ Если Формат = "v8reader" Тогда
+ ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
+ ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаV8reader());
+ ИначеЕсли Формат = "designer" Тогда
+ ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
+ ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
+ Иначе
+ ВызватьИсключение "Проверяем несуществующий формат!";
+ КонецЕсли;
+КонецПроцедуры
+
+//в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
+Процедура ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате(Знач ИмяОбработки, Знач Формат) Экспорт
+ Если Формат = "v8reader" Тогда
+ ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаV8reader());
+ ИначеЕсли Формат = "designer" Тогда
+ ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
+ Иначе
+ ВызватьИсключение "Проверяем несуществующий формат!";
+ КонецЕсли;
+КонецПроцедуры
+
+//{ Служебные методы
+
+Функция РабочийКаталог()
+ Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
+КонецФункции
+
+Функция КаталогПроекта()
+ Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
+КонецФункции
+
+Процедура ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходников)
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(ИмяОбработки, Ложь);
+ Для каждого КлючИЗначение из ОписаниеИсходников Цикл
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(ОбъединитьПути(ИмяОбработки, КлючИЗначение.Ключ), КлючИЗначение.Значение);
+ КонецЦикла;
+КонецПроцедуры
+
+Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу, ЭтоФайл)
+ Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
+ Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
+ СтрокаОшибки = СтрШаблон("%1: значение Файл.ЭтоФайл() должно %2, а это не так!", ПутьКФайлу, ЭтоФайл);
+ Ожидаем.Что(Файл.ЭтоФайл() = ЭтоФайл, СтрокаОшибки).ЭтоИстина();
+КонецПроцедуры
+
+Функция ОписаниеИсходниковФорматаV8reader()
+ Описание = Новый Соответствие;
+ Описание.Вставить("renames.txt", Истина);
+ Описание.Вставить("Form", Ложь);
+ Описание.Вставить("Макеты", Ложь);
+ Описание.Вставить("und", Ложь);
+ Возврат Описание;
+КонецФункции
+
+Функция ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)
+ Описание = Новый Соответствие;
+ Описание.Вставить(ИмяОбработки + ".xml", Истина);
+ Описание.Вставить(ИмяОбработки, Ложь);
+ Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Forms"), Ложь);
+ Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Templates"), Ложь);
+ Возврат Описание;
+КонецФункции
+
+//}
diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os"
new file mode 100644
index 0000000..6b50984
--- /dev/null
+++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os"
@@ -0,0 +1,111 @@
+// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
+#Использовать 1commands
+#Использовать asserts
+
+Перем БДД; //контекст фреймворка 1bdd
+Перем Лог;
+
+// Метод выдает список шагов, реализованных в данном файле-шагов
+Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
+ БДД = КонтекстФреймворкаBDD;
+
+ ВсеШаги = Новый Массив;
+
+ ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами");
+ ВсеШаги.Добавить("ВРабочемКаталогеУстановленPrecommit");
+ ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит");
+
+ Возврат ВсеШаги;
+КонецФункции
+
+// Реализация шагов
+
+// Процедура выполняется перед запуском каждого сценария
+Процедура ПередЗапускомСценария(Знач Узел) Экспорт
+
+КонецПроцедуры
+
+// Процедура выполняется после завершения каждого сценария
+Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
+
+КонецПроцедуры
+
+// Я устанавливаю Precommit в рабочий каталог с параметрами "Параметры"
+Процедура ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами(Знач Параметры) Экспорт
+
+ ПараметрыКоманды = Новый Массив;
+ ПараметрыКоманды.Добавить(ОбъединитьПути(КаталогПроекта(), "v8files-extractor.os"));
+ ПараметрыКоманды.Добавить("--install");
+ Если ЗначениеЗаполнено(Параметры) Тогда
+ ПараметрыКоманды.Добавить(ЗаменитьШаблоныВПараметрахКоманды(Параметры));
+ КонецЕсли;
+
+ Команда = Новый Команда;
+
+ Команда.УстановитьКоманду("oscript");
+ Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
+ Команда.УстановитьРабочийКаталог(РабочийКаталог());
+ Команда.ДобавитьПараметры(ПараметрыКоманды);
+
+ Лог.Отладка("Устанавливаем precommit1c с параметрами %1", СтрСоединить(Команда.ПолучитьПараметры(), " "));
+
+ КодВозврата = Команда.Исполнить();
+
+ Если КодВозврата <> 0 Тогда
+ Лог.Ошибка("Получен ненулевой код возврата " + КодВозврата + ". Выполнение скрипта остановлено!");
+ ВызватьИсключение СокрЛП(Команда.ПолучитьВывод());
+ Иначе
+ Лог.Отладка("Код возврата равен 0");
+ КонецЕсли;
+
+КонецПроцедуры
+
+// Файл хука в репозитории рабочего каталога содержит "Параметры"
+Процедура ФайлХукаВРепозиторииРабочегоКаталогаСодержит(Знач Параметры) Экспорт
+ СтрокаШага = СтрШаблон("файл "".git/hooks/pre-commit"" в рабочем каталоге содержит ""oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src %1""",
+ Параметры);
+ БДД.ВыполнитьШаг(СтрокаШага);
+КонецПроцедуры
+
+//в рабочем каталоге установлен precommit
+Процедура ВРабочемКаталогеУстановленPrecommit() Экспорт
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader/V8Reader.epf");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/pre-commit");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8files-extractor.os");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/v8unpack.exe");
+ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/mxl2txt.epf");
+КонецПроцедуры
+
+//{ Служебные методы
+
+Функция РабочийКаталог()
+ Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
+КонецФункции
+
+Функция КаталогПроекта()
+ Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
+КонецФункции
+
+Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу)
+ Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
+ Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
+КонецПроцедуры
+
+Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды)
+ Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(КаталогПроекта()));
+ Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(РабочийКаталог()));
+ Возврат Рез;
+КонецФункции
+
+Функция ЭкранированныйПуть(Знач Путь)
+ Рег = Новый РегулярноеВыражение("(?/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
+ Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
+
+Сценарий: Разборка макета из заданной папки при включенном режиме использования конфигуратора
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1 --use-designer"
+ Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
+
+Сценарий: Разборка изменений макета по журналу Git
+ Дано я выполняю команду "git" с параметрами 'init'
+ И я устанавливаю Precommit в рабочий каталог с параметрами ""
+ И я выполняю команду "git" с параметрами "add -A ."
+ И я выполняю команду "git" с параметрами "status"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
+ И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt"
+
+Сценарий: Разборка изменений макета по журналу Git при включенном режиме использования конфигуратора
+ Дано я выполняю команду "git" с параметрами 'init'
+ И я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
+ И я выполняю команду "vanessa-runner" с параметрами "init-dev"
+ И я выполняю команду "git" с параметрами "add -A ."
+ И я выполняю команду "git" с параметрами "status"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
+ И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt"
diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature"
index 1ef2809..0e75c16 100644
--- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature"
+++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature"
@@ -1,38 +1,31 @@
-# 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"
+# language: ru
+
+Функционал: Выполнение операций по разборке на исходники
+ Как Пользователь
+ Я хочу иметь возможность разбирать внешние файлы на исходники
+ Чтобы я мог проще следить за изменениями в коде
+
+Контекст:
+ Допустим Я пропускаю этот сценарий в Linux
+ И я создаю временный каталог и сохраняю его в контекст
+ И я сохраняю каталог проекта в контекст
+ И я устанавливаю временный каталог как рабочий каталог
+ И я установил рабочий каталог как текущий каталог
+
+Сценарий: Разборка файла из заданной папки
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
+ Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
+
+Сценарий: Разборка макета из заданной папки
+ Дано я создаю каталог "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" в формате "v8reader"
diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature"
index 345b93f..9cc63ff 100644
--- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature"
+++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature"
@@ -6,40 +6,53 @@
Чтобы я не делал вручную разборку при commit'е
Контекст:
- Допустим я создаю временный каталог и сохраняю его в контекст
+ Допустим Я пропускаю этот сценарий в Linux
+ И я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог
И Я выполняю команду "git" с параметрами 'init'
- И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
- И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
+
+Сценарий: Разборка с ошибкой не приводит к очистке уже существующих исходников
+ Дано я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>/src"
+ И в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
+ И я выполняю команду "git" с параметрами "add -A ."
+ И я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ И я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib --ib-user temp --ib-pwd 123"
+ И я выполняю команду "vanessa-runner" с параметрами "init-dev"
+ И я копирую файл "Fixture.epf" из каталога "tests" проекта в рабочий каталог
+ И я выполняю команду "git" с параметрами "add -A ."
+ Когда я выполняю команду "git" с параметрами 'commit -m "second commit"'
+ Тогда в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
+ И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
Сценарий: Разборка изменений по журналу Git с вложенными каталогами
- Когда я создаю каталог "1" в рабочем каталоге
+ Дано я устанавливаю Precommit в рабочий каталог с параметрами ""
+ И я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "git" с параметрами "add -A ."
- И я выполняю команду "git" с параметрами "status"
- И я выполняю команду "git" с параметрами 'commit -m "init commit"'
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша
- Когда я создаю каталог "1" в рабочем каталоге
+ Дано я устанавливаю Precommit в рабочий каталог с параметрами "--remove-orig-bin-files"
+ И я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
- И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --remove-orig-bin-files"
- И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --remove-orig-bin-files"
И я выполняю команду "git" с параметрами "add -A ."
- И я выполняю команду "git" с параметрами "status"
- И я выполняю команду "git" с параметрами 'commit -m "init commit"'
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
+
+Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы
+ Дано я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib"
+ И я выполняю команду "vanessa-runner" с параметрами "init-dev"
+ И я создаю каталог "1" в рабочем каталоге
+ И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
+ И я создаю каталог "src" в рабочем каталоге
+ И я выполняю команду "git" с параметрами "add -A ."
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
+ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
index f27232b..4920a9a 100644
--- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
+++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
@@ -1,8 +1,8 @@
# language: ru
-Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
+Функционал: Выполнение операций по разборке на исходники конфигуратором с помощью хука pre-commit
Как Пользователь
- Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
+ Я хочу иметь возможность разбирать внешние файлы на исходники конфигуратором с помощью хука pre-commit
Чтобы я не делал вручную разборку при commit'е
Контекст:
@@ -11,36 +11,34 @@
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог
И Я выполняю команду "git" с параметрами 'init'
- И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
- И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
- И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --use-designer"
Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы
- Когда я создаю каталог "1" в рабочем каталоге
+ Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer"
+ И я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
И я выполняю команду "git" с параметрами "add -A ."
- И я выполняю команду "git" с параметрами "status"
- И я выполняю команду "git" с параметрами 'commit -m "init commit"'
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы
- Когда я создаю каталог "1" в рабочем каталоге
+ Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --remove-orig-bin-files"
+ И я создаю каталог "1" в рабочем каталоге
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
- И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src --use-designer" на строку "v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
- И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
И я выполняю команду "git" с параметрами "add -A ."
- И я выполняю команду "git" с параметрами "status"
- И я выполняю команду "git" с параметрами 'commit -m "init commit"'
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
+
+Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы
+ Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
+ И я выполняю команду "vanessa-runner" с параметрами "init-dev"
+ И я создаю каталог "1" в рабочем каталоге
+ И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
+ И я создаю каталог "src" в рабочем каталоге
+ И я выполняю команду "git" с параметрами "add -A ."
+ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
+ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
index 3affad4..1d909ce 100644
--- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
+++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
@@ -1,6 +1,6 @@
# language: ru
-Функционал: Выполнение операций по разборке на исходники
+Функционал: Выполнение операций по разборке на исходники конфигуратором
Как Пользователь
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью конфигуратора
Чтобы я мог проще следить за изменениями в коде
@@ -14,40 +14,24 @@
Сценарий: Разборка файла из заданной папки без указания информационной базы
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer"
- Тогда в рабочем каталоге существует каталог "Fixture"
- И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer"
Сценарий: Разборка каталога с вложенными каталогами без указания информационной базы
- Когда я создаю каталог "bin" в рабочем каталоге
+ Дано я создаю каталог "bin" в рабочем каталоге
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
- И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer"
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer"
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
Сценарий: Разборка файла из заданной папки с указанием информационной базы
- Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
- Тогда в рабочем каталоге существует каталог "Fixture"
- И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
+ Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer"
Сценарий: Разборка каталога с вложенными каталогами с указанием информационной базы
- Когда я создаю каталог "bin" в рабочем каталоге
+ Дано я создаю каталог "bin" в рабочем каталоге
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
И я создаю каталог "src" в рабочем каталоге
- И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
- Тогда в рабочем каталоге существует каталог "src/1/Fixture"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
- И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
- И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
+ Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature"
index 4a28166..1b69bd5 100644
--- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature"
+++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature"
@@ -13,12 +13,12 @@
И Я выполняю команду "git" с параметрами 'init'
Структура сценария: Проверка настроек репозитория Git (простой отрицательный) - <Настройка>
- Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
+ Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
И Я выполняю команду "git" с параметрами "config --local core.longpaths true"
И Я выполняю команду "git" с параметрами <Настройка>
- И Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config'
- Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!"
+ Когда Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config'
+ Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!"
Примеры:
|Настройка|
@@ -26,46 +26,31 @@
|config --local core.longpaths false|
Сценарий: Проверка настроек репозитория Git (простой положительный)
- Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
+ Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
И Я выполняю команду "git" с параметрами "config --local core.longpaths true"
- И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
+ Когда Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
Тогда вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
Сценарий: Установка precommit1c в репозиторий
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
- Тогда В рабочем каталоге существует каталог ".git/hooks"
- И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
- И В рабочем каталоге существует каталог ".git/hooks/tools"
- И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
- И В рабочем каталоге существует файл ".git/hooks/pre-commit"
- И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
- И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
+ Тогда в рабочем каталоге установлен precommit
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
-Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы
- Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
+Структура сценария: Установка precommit1c в репозиторий с параметрами: <Параметры>
+ Когда Я устанавливаю Precommit в рабочий каталог с параметрами <Параметры>
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
- Тогда В рабочем каталоге существует каталог ".git/hooks"
- И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
- И В рабочем каталоге существует каталог ".git/hooks/tools"
- И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
- И В рабочем каталоге существует файл ".git/hooks/pre-commit"
- И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
- И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
- И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
+ Тогда в рабочем каталоге установлен precommit
+ И Файл хука в репозитории рабочего каталога содержит <Параметры>
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
-Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора
- Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
- И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
- Тогда В рабочем каталоге существует каталог ".git/hooks"
- И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
- И В рабочем каталоге существует каталог ".git/hooks/tools"
- И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
- И В рабочем каталоге существует файл ".git/hooks/pre-commit"
- И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
- И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
- И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
- И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
+Примеры:
+ |Параметры|
+ |--use-designer|
+ |--remove-orig-bin-files|
+ |--ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
+ |--use-designer --remove-orig-bin-files|
+ |--use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
+ |--remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
+ |--use-designer --remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature"
index d9d9e08..d41e6b1 100644
--- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature"
+++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature"
@@ -6,12 +6,19 @@
Чтобы я мог не делать этого вручную
Контекст:
- Допустим я создаю временный каталог и сохраняю его в контекст
+ Допустим Я пропускаю этот сценарий в Linux
+ И я создаю временный каталог и сохраняю его в контекст
И я сохраняю каталог проекта в контекст
И я устанавливаю временный каталог как рабочий каталог
И я установил рабочий каталог как текущий каталог
Сценарий: Сборка файла из заданной папки
- Когда я создаю каталог "bin" в рабочем каталоге
- И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin"
- Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
\ No newline at end of file
+ Дано я создаю каталог "bin" в рабочем каталоге
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin"
+ Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
+
+Сценарий: Сборка файла из заданной папки с указанием информационной базы
+ Дано я создаю каталог "bin" в рабочем каталоге
+ И я выполняю команду "vanessa-runner" с параметрами "init-dev"
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\fixture <РабочийКаталог>\bin --ib-connection-string /F<РабочийКаталог>/build/ib"
+ Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
index d1c4236..acd761d 100644
--- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
+++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature"
@@ -1,8 +1,8 @@
# language: ru
-Функционал: Сборка внешних файлов из исходников
+Функционал: Сборка внешних файлов из исходников конфигуратором
Как Пользователь
- Я хочу иметь возможность собирать внешние файлы из исходников
+ Я хочу иметь возможность собирать внешние файлы из исходников конфигуратором
Чтобы я мог не делать этого вручную
Контекст:
@@ -12,12 +12,12 @@
И я установил рабочий каталог как текущий каталог
Сценарий: Сборка файла из заданной папки без указания информационной базы
- Когда я создаю каталог "bin" в рабочем каталоге
- И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer"
+ Дано я создаю каталог "bin" в рабочем каталоге
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer"
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
Сценарий: Сборка файла из заданной папки с указанием информационной базы
- Когда я создаю каталог "bin" в рабочем каталоге
+ Дано я создаю каталог "bin" в рабочем каталоге
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
- И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
- Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
\ No newline at end of file
+ Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
+ Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
diff --git a/packagedef b/packagedef
index bb92f0e..25a5f63 100644
--- a/packagedef
+++ b/packagedef
@@ -1,13 +1,14 @@
Описание.Имя("precommit1c")
- .Версия("2.2.1")
+ .Версия("2.3.0")
.ЗависитОт("asserts", "0.4.0")
.ЗависитОт("cmdline", "1.0.0")
.ЗависитОт("logos", "1.1.1")
.ЗависитОт("strings", "0.4.1")
.ЗависитОт("tempfiles", "0.2.2")
.ЗависитОт("v8runner", "1.1.3")
- .ЗависитОт("1commands", "1.3.5")
+ .ЗависитОт("1commands", "1.5.0")
+ .ЗависитОт("gitrunner", "1.6.0")
.ВключитьФайл("license.md")
.ВключитьФайл("readme.md")
.ВключитьФайл("NOTICE")
diff --git a/src/tools/mxl2txt/mxl2txt.xml b/src/tools/mxl2txt/mxl2txt.xml
new file mode 100644
index 0000000..89ef6e8
--- /dev/null
+++ b/src/tools/mxl2txt/mxl2txt.xml
@@ -0,0 +1,30 @@
+
+