Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git.
- pyv8unpack.py - python скрипт, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние обработки/отчеты и запускающий внешнюю обработку для распаковки этих файлов.
- V8Reader.epf - внешняя обработка 1С, которая с помощью v8unpack разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т.д. и раскладывает их в нормальную структуру папок.
- ibService - сервисная база данных на 1С для запуска V8Reader.epf
- pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
-
Зависимости:
- python 3.3
- установленная платформа 1С предприятия.
- git
- в случае запуска из под wine необходим и msscriptcontrol.
-
По умолчанию считается, что пути к python.exe и git.exe находятса в переменной path, иначе необходимо указать явный путь в файлах pre-commit(для python) и pyv8unpack.py(для git)
-
В файле pyv8unpack.py в переменной 1сbin необходимо указать путь к платформе
Внимание путь не к starter.exe , а к 1cv8.exe
- Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
Примечание: каталог .git по умолчанию скрыт.
.git\
hooks\
pre-commit
V8Reader.epf
ibService
pyv8unpack.py
##Запуск
После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитарии автоматически должна создаться папка src, полностью повторяющая структуру проекта, измененные или добавленные файлы распакуются в папки с аналогичным наименованием.
##Ограничения
Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учета расширения и возможен конфликт имен.
##Что внутри
Как это работает: pyv8unpack.py повторяет полностью иерархию папок относительно корня репозитария только в папке SRC(от слова source), для каждой измененной внешней обработки создается своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог und