Skip to content

LexX1st/precommit1c

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git.

Что к чему


  • pyv8unpack.py - python скрипт, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние обработки/отчеты и запускающий внешнюю обработку для распаковки этих файлов.
  • V8Reader.epf - внешняя обработка 1С, которая с помощью v8unpack разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т.д. и раскладывает их в нормальную структуру папок.
  • ibService - сервисная база данных на 1С для запуска V8Reader.epf
  • pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py

Установка

  1. Зависимости:

    • python 3.3
    • установленная платформа 1С предприятия.
    • git
    • в случае запуска из под wine необходим и msscriptcontrol.
  2. По умолчанию считается, что пути к python.exe и git.exe находятса в переменной path, иначе необходимо указать явный путь в файлах pre-commit(для python) и pyv8unpack.py(для git)

  3. В файле pyv8unpack.py в переменной 1сbin необходимо указать путь к платформе

Внимание путь не к starter.exe , а к 1cv8.exe

  1. Наконец содержимое каталога необходимо скопировать в каталог .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

About

precommit1c

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 98.9%
  • Shell 1.1%