Skip to content

Commit bdd2930

Browse files
committedOct 23, 2019
Merge branch 'release/v2.2.2'
2 parents c48a5d8 + 83562ee commit bdd2930

14 files changed

+433
-331
lines changed
 

‎README.md

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,28 @@ oscript v8files-extractor.os ?
8989
Разбор файлов на исходники
9090
--help
9191
Показ этого экрана
92+
--git-check-config
93+
Проверка настроек репозитория git
9294
--git-precommit outputPath [--remove-orig-bin-files]
9395
Запустить чтение индекса из git и определить список файлов для разбора, разложить их и добавить исходники в индекс
94-
Если передан флаг --remove-orig-bin-files, обработанные файлы epf/ert будут удалены из индекса git
96+
Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git
9597
--compile inputPath outputPath [--recursive]
9698
Собрать внешний файл/обработку.
9799
Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога
98-
--install
100+
--install [--remove-orig-bin-files]
99101
Установить precommit1c для текущего репозитория git
102+
Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git
103+
104+
Общие параметры:
105+
--use-designer
106+
Если передан этот флаг, то для операций сборки/разборки будет использован конфигуратор 1С.
107+
ТОЛЬКО ДЛЯ ВЕРСИЙ ПЛАТФОРМЫ 8.3.8 И ВЫШЕ!
108+
--ib-connection-string
109+
Строка подключения к информационной базе (для Windows-путей обязательно экранировать '\' так: '\\'!)
110+
--ib-user
111+
Имя пользователя в информационной базе
112+
--ib-pwd
113+
Пароль пользователя в информационной базе
100114
```
101115

102116
## Ограничения
@@ -135,7 +149,7 @@ git config --local core.longpaths true
135149
1. Нужно выполнить следующее:
136150

137151
* добавить нужную обработку в индекс git - например, `git add XXX.epf`
138-
* установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
152+
* установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов
139153
* выполнить `git commit` или `precommit1c --git-precommit`
140154

141155
+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG`
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
3+
#Использовать asserts
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
7+
// Метод выдает список шагов, реализованных в данном файле-шагов
8+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
9+
БДД = КонтекстФреймворкаBDD;
10+
11+
ВсеШаги = Новый Массив;
12+
13+
ВсеШаги.Добавить("ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате");
14+
ВсеШаги.Добавить("ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате");
15+
16+
Возврат ВсеШаги;
17+
КонецФункции
18+
19+
// Реализация шагов
20+
21+
// Процедура выполняется перед запуском каждого сценария
22+
Процедура ПередЗапускомСценария(Знач Узел) Экспорт
23+
24+
КонецПроцедуры
25+
26+
// Процедура выполняется после завершения каждого сценария
27+
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
28+
29+
КонецПроцедуры
30+
31+
32+
//в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
33+
Процедура ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате(Знач Подпапка, Знач ИмяОбработки, Знач Формат) Экспорт
34+
Если Формат = "v8reader" Тогда
35+
ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
36+
ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаV8reader());
37+
ИначеЕсли Формат = "designer" Тогда
38+
ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки);
39+
ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
40+
КонецЕсли;
41+
КонецПроцедуры
42+
43+
//в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
44+
Процедура ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате(Знач ИмяОбработки, Знач Формат) Экспорт
45+
Если Формат = "v8reader" Тогда
46+
ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаV8reader());
47+
ИначеЕсли Формат = "designer" Тогда
48+
ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки));
49+
КонецЕсли;
50+
КонецПроцедуры
51+
52+
//{ Служебные методы
53+
54+
Функция РабочийКаталог()
55+
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
56+
КонецФункции
57+
58+
Функция КаталогПроекта()
59+
Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
60+
КонецФункции
61+
62+
Процедура ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходников)
63+
ПроверяемСуществованиеФайлаВРабочемКаталоге(ИмяОбработки, Ложь);
64+
Для каждого КлючИЗначение из ОписаниеИсходников Цикл
65+
ПроверяемСуществованиеФайлаВРабочемКаталоге(ОбъединитьПути(ИмяОбработки, КлючИЗначение.Ключ), КлючИЗначение.Значение);
66+
КонецЦикла;
67+
КонецПроцедуры
68+
69+
Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу, ЭтоФайл)
70+
Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
71+
Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
72+
СтрокаОшибки = СтрШаблон("%1: значение Файл.ЭтоФайл() должно %2, а это не так!", ПутьКФайлу, ЭтоФайл);
73+
Ожидаем.Что(Файл.ЭтоФайл() = ЭтоФайл, СтрокаОшибки).ЭтоИстина();
74+
КонецПроцедуры
75+
76+
Функция ОписаниеИсходниковФорматаV8reader()
77+
Описание = Новый Соответствие;
78+
Описание.Вставить("renames.txt", Истина);
79+
Описание.Вставить("Form", Ложь);
80+
Описание.Вставить("Макеты", Ложь);
81+
Описание.Вставить("und", Ложь);
82+
Возврат Описание;
83+
КонецФункции
84+
85+
Функция ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)
86+
Описание = Новый Соответствие;
87+
Описание.Вставить(ИмяОбработки + ".xml", Истина);
88+
Описание.Вставить(ИмяОбработки, Ложь);
89+
Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Forms"), Ложь);
90+
Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Templates"), Ложь);
91+
Возврат Описание;
92+
КонецФункции
93+
94+
//}
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd
2+
#Использовать 1commands
3+
#Использовать asserts
4+
5+
Перем БДД; //контекст фреймворка 1bdd
6+
Перем Лог;
7+
8+
// Метод выдает список шагов, реализованных в данном файле-шагов
9+
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт
10+
БДД = КонтекстФреймворкаBDD;
11+
12+
ВсеШаги = Новый Массив;
13+
14+
ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами");
15+
ВсеШаги.Добавить("ВРабочемКаталогеУстановленPrecommit");
16+
ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит");
17+
18+
Возврат ВсеШаги;
19+
КонецФункции
20+
21+
// Реализация шагов
22+
23+
// Процедура выполняется перед запуском каждого сценария
24+
Процедура ПередЗапускомСценария(Знач Узел) Экспорт
25+
26+
КонецПроцедуры
27+
28+
// Процедура выполняется после завершения каждого сценария
29+
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт
30+
31+
КонецПроцедуры
32+
33+
// Я устанавливаю Precommit в рабочий каталог с параметрами "Параметры"
34+
Процедура ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами(Знач Параметры) Экспорт
35+
36+
ПараметрыКоманды = Новый Массив;
37+
ПараметрыКоманды.Добавить(ОбъединитьПути(КаталогПроекта(), "v8files-extractor.os"));
38+
ПараметрыКоманды.Добавить("--install");
39+
Если ЗначениеЗаполнено(Параметры) Тогда
40+
ПараметрыКоманды.Добавить(ЗаменитьШаблоныВПараметрахКоманды(Параметры));
41+
КонецЕсли;
42+
43+
Команда = Новый Команда;
44+
45+
Команда.УстановитьКоманду("oscript");
46+
Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8);
47+
Команда.УстановитьРабочийКаталог(РабочийКаталог());
48+
Команда.ДобавитьПараметры(ПараметрыКоманды);
49+
50+
Лог.Отладка("Устанавливаем precommit1c с параметрами %1", СтрСоединить(Команда.ПолучитьПараметры(), " "));
51+
52+
КодВозврата = Команда.Исполнить();
53+
54+
Если КодВозврата <> 0 Тогда
55+
Лог.Ошибка("Получен ненулевой код возврата " + КодВозврата + ". Выполнение скрипта остановлено!");
56+
ВызватьИсключение СокрЛП(Команда.ПолучитьВывод());
57+
Иначе
58+
Лог.Отладка("Код возврата равен 0");
59+
КонецЕсли;
60+
61+
КонецПроцедуры
62+
63+
// Файл хука в репозитории рабочего каталога содержит "Параметры"
64+
Процедура ФайлХукаВРепозиторииРабочегоКаталогаСодержит(Знач Параметры) Экспорт
65+
СтрокаШага = СтрШаблон("файл "".git/hooks/pre-commit"" в рабочем каталоге содержит ""oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src %1""",
66+
Параметры);
67+
БДД.ВыполнитьШаг(СтрокаШага);
68+
КонецПроцедуры
69+
70+
//в рабочем каталоге установлен precommit
71+
Процедура ВРабочемКаталогеУстановленPrecommit() Экспорт
72+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks");
73+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader");
74+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools");
75+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader/V8Reader.epf");
76+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/pre-commit");
77+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8files-extractor.os");
78+
ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/v8unpack.exe");
79+
КонецПроцедуры
80+
81+
//{ Служебные методы
82+
83+
Функция РабочийКаталог()
84+
Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог");
85+
КонецФункции
86+
87+
Функция КаталогПроекта()
88+
Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта");
89+
КонецФункции
90+
91+
Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу)
92+
Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу));
93+
Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина();
94+
КонецПроцедуры
95+
96+
Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды)
97+
Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(КаталогПроекта()));
98+
Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(РабочийКаталог()));
99+
Возврат Рез;
100+
КонецФункции
101+
102+
Функция ЭкранированныйПуть(Знач Путь)
103+
Рег = Новый РегулярноеВыражение("(?<!\\)\\(?!\\)");
104+
Рез = Рег.Заменить(Путь, "\\");
105+
Возврат Рез;
106+
КонецФункции
107+
108+
//}
109+
110+
Лог = Логирование.ПолучитьЛог("bdd");

‎features/step_definitions/СтроковыеОперации.os

Lines changed: 0 additions & 52 deletions
This file was deleted.

‎features/ПроверкаСтроковыхОпераций.feature

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 36 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,36 @@
1-
# language: ru
2-
3-
Функционал: Выполнение операций по разборке на исходники
4-
Как Пользователь
5-
Я хочу иметь возможность разбирать внешние файлы на исходники
6-
Чтобы я мог проще следить за изменениями в коде
7-
8-
Контекст:
9-
Допустим я создаю временный каталог и сохраняю его в контекст
10-
И я сохраняю каталог проекта в контекст
11-
И я устанавливаю временный каталог как рабочий каталог
12-
И я установил рабочий каталог как текущий каталог
13-
14-
Сценарий: Разборка файла из заданной папки
15-
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
16-
Тогда в рабочем каталоге существует каталог "Fixture"
17-
И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt"
18-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Form"
19-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты"
20-
И в подкаталоге "Fixture" рабочего каталога существует каталог "und"
21-
22-
Сценарий: Разборка макета из заданной папки
23-
Когда я создаю каталог "1" в рабочем каталоге
24-
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
25-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
26-
Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt"
27-
28-
Сценарий: Разборка каталога с вложенными каталогами
29-
Когда я создаю каталог "bin" в рабочем каталоге
30-
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
31-
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
32-
И я создаю каталог "src" в рабочем каталоге
33-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
34-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
35-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
36-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
37-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
38-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники
6+
Чтобы я мог проще следить за изменениями в коде
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
14+
Сценарий: Разборка файла из заданной папки
15+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>"
16+
Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader"
17+
18+
Сценарий: Разборка макета из заданной папки
19+
Дано я создаю каталог "1" в рабочем каталоге
20+
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
21+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
22+
Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
23+
24+
Сценарий: Разборка каталога с вложенными каталогами
25+
Дано я создаю каталог "bin" в рабочем каталоге
26+
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
27+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
28+
И я создаю каталог "src" в рабочем каталоге
29+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src"
30+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
31+
32+
Сценарий: Разборка макета из заданной папки
33+
Когда я создаю каталог "1" в рабочем каталоге
34+
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
35+
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1"
36+
Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"

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

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,45 @@
1111
И я устанавливаю временный каталог как рабочий каталог
1212
И я установил рабочий каталог как текущий каталог
1313
И Я выполняю команду "git" с параметрами 'init'
14-
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
15-
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
1614

1715
Сценарий: Разборка изменений по журналу Git с вложенными каталогами
18-
Когда я создаю каталог "1" в рабочем каталоге
16+
Дано я устанавливаю Precommit в рабочий каталог с параметрами ""
17+
И я создаю каталог "1" в рабочем каталоге
1918
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
2019
И я создаю каталог "src" в рабочем каталоге
2120
И я выполняю команду "git" с параметрами "add -A ."
22-
И я выполняю команду "git" с параметрами "status"
23-
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
24-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
25-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
26-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
27-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
28-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
21+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
22+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
2923
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
3024

3125
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша
32-
Когда я создаю каталог "1" в рабочем каталоге
26+
Дано я устанавливаю Precommit в рабочий каталог с параметрами "--remove-orig-bin-files"
27+
И я создаю каталог "1" в рабочем каталоге
28+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
29+
И я создаю каталог "src" в рабочем каталоге
30+
И я выполняю команду "git" с параметрами "add -A ."
31+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
32+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
33+
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
34+
35+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы
36+
Дано я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib"
37+
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
38+
И я создаю каталог "1" в рабочем каталоге
3339
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
3440
И я создаю каталог "src" в рабочем каталоге
35-
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --remove-orig-bin-files"
36-
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --remove-orig-bin-files"
41+
И я выполняю команду "git" с параметрами "add -A ."
42+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
43+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader"
44+
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
45+
46+
Сценарий: Разборка изменений макета по журналу Git
47+
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
48+
И я создаю каталог "1" в рабочем каталоге
49+
И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога
50+
И я создаю каталог "src" в рабочем каталоге
3751
И я выполняю команду "git" с параметрами "add -A ."
3852
И я выполняю команду "git" с параметрами "status"
3953
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
40-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
41-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt"
42-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form"
43-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты"
44-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und"
45-
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
54+
Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt"
55+
И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt"
Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# language: ru
22

3-
Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
3+
Функционал: Выполнение операций по разборке на исходники конфигуратором с помощью хука pre-commit
44
Как Пользователь
5-
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
5+
Я хочу иметь возможность разбирать внешние файлы на исходники конфигуратором с помощью хука pre-commit
66
Чтобы я не делал вручную разборку при commit'е
77

88
Контекст:
@@ -11,36 +11,34 @@
1111
И я устанавливаю временный каталог как рабочий каталог
1212
И я установил рабочий каталог как текущий каталог
1313
И Я выполняю команду "git" с параметрами 'init'
14-
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
15-
И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
16-
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --use-designer"
1714

1815
Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы
19-
Когда я создаю каталог "1" в рабочем каталоге
16+
Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer"
17+
И я создаю каталог "1" в рабочем каталоге
2018
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
2119
И я создаю каталог "src" в рабочем каталоге
2220
И я выполняю команду "git" с параметрами "add -A ."
23-
И я выполняю команду "git" с параметрами "status"
24-
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
25-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
26-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
27-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
28-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
29-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
21+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
22+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
3023
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
3124

3225
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы
33-
Когда я создаю каталог "1" в рабочем каталоге
26+
Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --remove-orig-bin-files"
27+
И я создаю каталог "1" в рабочем каталоге
3428
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
3529
И я создаю каталог "src" в рабочем каталоге
36-
И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src --use-designer" на строку "v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
37-
И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files"
3830
И я выполняю команду "git" с параметрами "add -A ."
39-
И я выполняю команду "git" с параметрами "status"
40-
И я выполняю команду "git" с параметрами 'commit -m "init commit"'
41-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
42-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
43-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
44-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
45-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
31+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
32+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
4633
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
34+
35+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы
36+
Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
37+
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
38+
И я создаю каталог "1" в рабочем каталоге
39+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
40+
И я создаю каталог "src" в рабочем каталоге
41+
И я выполняю команду "git" с параметрами "add -A ."
42+
Когда я выполняю команду "git" с параметрами 'commit -m "init commit"'
43+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
44+
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# language: ru
22

3-
Функционал: Выполнение операций по разборке на исходники
3+
Функционал: Выполнение операций по разборке на исходники конфигуратором
44
Как Пользователь
55
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью конфигуратора
66
Чтобы я мог проще следить за изменениями в коде
@@ -14,40 +14,24 @@
1414

1515
Сценарий: Разборка файла из заданной папки без указания информационной базы
1616
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer"
17-
Тогда в рабочем каталоге существует каталог "Fixture"
18-
И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml"
19-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture"
20-
И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms"
21-
И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates"
17+
Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer"
2218

2319
Сценарий: Разборка каталога с вложенными каталогами без указания информационной базы
24-
Когда я создаю каталог "bin" в рабочем каталоге
20+
Дано я создаю каталог "bin" в рабочем каталоге
2521
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
2622
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
2723
И я создаю каталог "src" в рабочем каталоге
28-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer"
29-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
30-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
31-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
32-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
33-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
24+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer"
25+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"
3426

3527
Сценарий: Разборка файла из заданной папки с указанием информационной базы
36-
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
37-
Тогда в рабочем каталоге существует каталог "Fixture"
38-
И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml"
39-
И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture"
40-
И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms"
41-
И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates"
28+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
29+
Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer"
4230

4331
Сценарий: Разборка каталога с вложенными каталогами с указанием информационной базы
44-
Когда я создаю каталог "bin" в рабочем каталоге
32+
Дано я создаю каталог "bin" в рабочем каталоге
4533
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
4634
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
4735
И я создаю каталог "src" в рабочем каталоге
48-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
49-
Тогда в рабочем каталоге существует каталог "src/1/Fixture"
50-
И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml"
51-
И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture"
52-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms"
53-
И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates"
36+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
37+
Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer"

‎features/РепозиторийGit.feature

Lines changed: 19 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -13,59 +13,44 @@
1313
И Я выполняю команду "git" с параметрами 'init'
1414

1515
Структура сценария: Проверка настроек репозитория Git (простой отрицательный) - <Настройка>
16-
Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
16+
Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
1717
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
1818
И Я выполняю команду "git" с параметрами "config --local core.longpaths true"
1919
И Я выполняю команду "git" с параметрами <Настройка>
20-
И Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config'
21-
Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!"
20+
Когда Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config'
21+
Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!"
2222

2323
Примеры:
2424
|Настройка|
2525
|config --local core.quotepath true|
2626
|config --local core.longpaths false|
2727

2828
Сценарий: Проверка настроек репозитория Git (простой положительный)
29-
Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
29+
Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога
3030
И Я выполняю команду "git" с параметрами "config --local core.quotepath false"
3131
И Я выполняю команду "git" с параметрами "config --local core.longpaths true"
32-
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
32+
Когда Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
3333
Тогда вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
3434

3535
Сценарий: Установка precommit1c в репозиторий
3636
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install"
3737
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
38-
Тогда В рабочем каталоге существует каталог ".git/hooks"
39-
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
40-
И В рабочем каталоге существует каталог ".git/hooks/tools"
41-
И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
42-
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
43-
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
44-
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
38+
Тогда в рабочем каталоге установлен precommit
4539
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
4640

47-
Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы
48-
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
41+
Структура сценария: Установка precommit1c в репозиторий с параметрами: <Параметры>
42+
Когда Я устанавливаю Precommit в рабочий каталог с параметрами <Параметры>
4943
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
50-
Тогда В рабочем каталоге существует каталог ".git/hooks"
51-
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
52-
И В рабочем каталоге существует каталог ".git/hooks/tools"
53-
И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
54-
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
55-
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
56-
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
57-
И файл ".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 ********"
44+
Тогда в рабочем каталоге установлен precommit
45+
И Файл хука в репозитории рабочего каталога содержит <Параметры>
5846
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
5947

60-
Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора
61-
Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********"
62-
И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config"
63-
Тогда В рабочем каталоге существует каталог ".git/hooks"
64-
И В рабочем каталоге существует каталог ".git/hooks/v8Reader"
65-
И В рабочем каталоге существует каталог ".git/hooks/tools"
66-
И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf"
67-
И В рабочем каталоге существует файл ".git/hooks/pre-commit"
68-
И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os"
69-
И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe"
70-
И файл ".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 ********"
71-
И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!"
48+
Примеры:
49+
|Параметры|
50+
|--use-designer|
51+
|--remove-orig-bin-files|
52+
|--ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
53+
|--use-designer --remove-orig-bin-files|
54+
|--use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
55+
|--remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|
56+
|--use-designer --remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********|

‎features/СборкаИзИсходников.feature

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,12 @@
1212
И я установил рабочий каталог как текущий каталог
1313

1414
Сценарий: Сборка файла из заданной папки
15-
Когда я создаю каталог "bin" в рабочем каталоге
16-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin"
17-
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
15+
Дано я создаю каталог "bin" в рабочем каталоге
16+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin"
17+
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
18+
19+
Сценарий: Сборка файла из заданной папки с указанием информационной базы
20+
Дано я создаю каталог "bin" в рабочем каталоге
21+
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
22+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\fixture <РабочийКаталог>\bin --ib-connection-string /F<РабочийКаталог>/build/ib"
23+
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# language: ru
22

3-
Функционал: Сборка внешних файлов из исходников
3+
Функционал: Сборка внешних файлов из исходников конфигуратором
44
Как Пользователь
5-
Я хочу иметь возможность собирать внешние файлы из исходников
5+
Я хочу иметь возможность собирать внешние файлы из исходников конфигуратором
66
Чтобы я мог не делать этого вручную
77

88
Контекст:
@@ -12,12 +12,12 @@
1212
И я установил рабочий каталог как текущий каталог
1313

1414
Сценарий: Сборка файла из заданной папки без указания информационной базы
15-
Когда я создаю каталог "bin" в рабочем каталоге
16-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer"
15+
Дано я создаю каталог "bin" в рабочем каталоге
16+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer"
1717
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
1818

1919
Сценарий: Сборка файла из заданной папки с указанием информационной базы
20-
Когда я создаю каталог "bin" в рабочем каталоге
20+
Дано я создаю каталог "bin" в рабочем каталоге
2121
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
22-
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib"
23-
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
22+
Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib"
23+
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"

‎packagedef

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11

22
Описание.Имя("precommit1c")
3-
.Версия("2.2.1")
3+
.Версия("2.2.2")
44
.ЗависитОт("asserts", "0.4.0")
55
.ЗависитОт("cmdline", "1.0.0")
66
.ЗависитОт("logos", "1.1.1")
77
.ЗависитОт("strings", "0.4.1")
88
.ЗависитОт("tempfiles", "0.2.2")
99
.ЗависитОт("v8runner", "1.1.3")
10-
.ЗависитОт("1commands", "1.3.5")
10+
.ЗависитОт("1commands", "1.5.0")
11+
.ЗависитОт("gitrunner", "1.6.0")
1112
.ВключитьФайл("license.md")
1213
.ВключитьФайл("readme.md")
1314
.ВключитьФайл("NOTICE")

‎v8files-extractor.os

Lines changed: 78 additions & 106 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.