Skip to content

Commit c7d4473

Browse files
zeratulayurisartbear
authored andcommitted
* Добавил использование опции --use-designer * Добавил обработку опции --use-designer при распаковке * Добавил определение каталога отчета/обработки при использовании конфигуратора Дополнительно изменил реализацию самого метода. * Добавил использование конфигуратора при сборке обработок * Исправил косяк с расширением * Добавил справку по параметру --use-designer * Добавил параметры контекста конфигуратора * Обновил справку * Изменил имя параметра * Сделал КонтекстКонфигуратора глобальной * Сделал общие параметры действительно общими * Сделал общим и --use-designer * Исправил забытые вызовы * Исправил проблемы с whitespace +Поправил косяк с КонецПроцедуры +Поменял форматирование при вызовах команд * Заменил СтрЗаменить на СтрШаблон, где применимо. * Убрал лишнюю строку * Исправил ошибку со скобкой Добавил инициализацию параметров для запуска не консольной командой * Убрал лишние табы * Убрал установку параметра DESIGNER * * добавлен пример интерактивного инсталятора * * немного показательно расширил инсталятор * * добавлена поддержка символических ссылок * копирование v8unpack теперь идет в каталог bin oscript * версия precommit кладется в служебный файл * * исправлено формирование символическиъ ссылок * v8unpack гарантированно копируется в bin * * инсталятор добавлен в zip архив * * добавлен пример запуска 1Script * добавил окончание инсталятора * Добавил проверку на ЭтоКаталог() Добавил пояснения к сообщениям об ошибках * Исправил ошибку с двойным чтением переименований * Скорректировал имена параметров * Поправил форматирование * Добавил ИБ для теста * Исправил получение контекста * Добавил тестовые данные для сборки * Добавил тесты * Переделал так, что 1CD копируется во временный каталог * Прибрал vscode * Этого тоже здесь быть не должно * Убрал ссылку на удаленное * Избавился от .1CD в исходниках * Правки к readme
1 parent 15610a3 commit c7d4473

File tree

20 files changed

+838
-71
lines changed

20 files changed

+838
-71
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,6 @@ target/
6363

6464
*.ospx
6565
oscript_modules/
66+
67+
#VSCode
68+
.vscode/

README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,17 @@
55
[![GitHub release](https://img.shields.io/github/release/xDrivenDevelopment/precommit1c.svg)](https://github.com/xDrivenDevelopment/precommit1c/releases)
66

77
### Что к чему
8+
89
----
10+
911
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки, расширения и запускающий команды для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
1012
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
1113
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
1214

1315
### Установка
1416

1517
1. Зависимости:
16-
* OneScript http://oscript.io/
18+
* OneScript [http://oscript.io/](http://oscript.io/)
1719
* установленная платформа 1С:Предприятие 8
1820
* git
1921
* в случае запуска из под wine необходим msscriptcontrol
@@ -35,7 +37,8 @@
3537

3638
1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest).
3739

38-
2. Содержмое архива необходимо разархивировать в каталог .git/hooks/ вашего проекта.
40+
2. Содержимое архива необходимо разархивировать в каталог .git/hooks/ вашего проекта.
41+
3942
*Примечание:* каталог .git по умолчанию скрыт.
4043
В итоге у вас должна получиться следующая структура каталога:
4144
```
@@ -93,7 +96,7 @@ oscript v8files-extractor.os ?
9396
Собрать внешний файл/обработку.
9497
Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога
9598
--install
96-
Установить precommit1c для текущего репозитория git
99+
Установить precommit1c для текущего репозитория git
97100
```
98101

99102
## Ограничения
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit
6+
Чтобы я не делал вручную разборку при commit'е
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
И Я выполняю команду "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"
17+
18+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы
19+
Когда я создаю каталог "1" в рабочем каталоге
20+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
21+
И я создаю каталог "src" в рабочем каталоге
22+
И я выполняю команду "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"
30+
И вывод команды "git" содержит "create mode 100644 1/Fixture.epf"
31+
32+
Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы
33+
Когда я создаю каталог "1" в рабочем каталоге
34+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога
35+
И я создаю каталог "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"
38+
И я выполняю команду "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"
46+
И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf"
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# language: ru
2+
3+
Функционал: Выполнение операций по разборке на исходники
4+
Как Пользователь
5+
Я хочу иметь возможность разбирать внешние файлы на исходники с помощью конфигуратора
6+
Чтобы я мог проще следить за изменениями в коде
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
И я выполняю команду "vanessa-runner" с параметрами "init-dev"
14+
15+
Сценарий: Разборка файла из заданной папки без указания информационной базы
16+
Когда я выполняю команду "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"
22+
23+
Сценарий: Разборка каталога с вложенными каталогами без указания информационной базы
24+
Когда я создаю каталог "bin" в рабочем каталоге
25+
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
26+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
27+
И я создаю каталог "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"
34+
35+
Сценарий: Разборка файла из заданной папки с указанием информационной базы
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"
42+
43+
Сценарий: Разборка каталога с вложенными каталогами с указанием информационной базы
44+
Когда я создаю каталог "bin" в рабочем каталоге
45+
И я создаю каталог "1" в подкаталоге "bin" рабочего каталога
46+
И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога
47+
И я создаю каталог "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"
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# language: ru
2+
3+
Функционал: Сборка внешних файлов из исходников
4+
Как Пользователь
5+
Я хочу иметь возможность собирать внешние файлы из исходников
6+
Чтобы я мог не делать этого вручную
7+
8+
Контекст:
9+
Допустим я создаю временный каталог и сохраняю его в контекст
10+
И я сохраняю каталог проекта в контекст
11+
И я устанавливаю временный каталог как рабочий каталог
12+
И я установил рабочий каталог как текущий каталог
13+
14+
Сценарий: Сборка файла из заданной папки без указания информационной базы
15+
Когда я создаю каталог "bin" в рабочем каталоге
16+
И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer"
17+
Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf"
18+
19+
Сценарий: Сборка файла из заданной папки с указанием информационной базы
20+
Когда я создаю каталог "bin" в рабочем каталоге
21+
И я выполняю команду "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"

0 commit comments

Comments
 (0)