Skip to content
This repository was archived by the owner on Oct 25, 2018. It is now read-only.

pumbaEO/precommit1c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9f7c33c · Jul 25, 2016
Jun 17, 2015
Apr 26, 2016
Aug 13, 2015
Mar 22, 2016
Nov 16, 2015
Apr 1, 2016
Jul 5, 2015
Nov 22, 2014
Apr 22, 2016
Apr 22, 2016
Jul 25, 2016
Mar 22, 2016
Mar 22, 2016
Nov 11, 2015
May 23, 2016

Repository files navigation

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

Join the chat at https://gitter.im/xDrivenDevelopment/precommit1c Здесь вы можете задавать любые вопросы разработчикам и активным участникам

Что к чему


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

Установка

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

    • OneScript http://oscript.io/
    • установленная платформа 1С:Предприятие 8
    • git
    • в случае запуска из под wine необходим msscriptcontrol
    • Библиотеки oscript-library
  2. По умолчанию считается, что пути к oscript.exe и git.exe находятся в переменной path, иначе необходимо указать явный путь в файле pre-commit

  3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как src (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле pre-commit

Установка через zip-архив

  1. Скачайте zip-архив precommit1c.zip со страницы последнего релиза.

  2. Содержмое архива необходимо разархивировать в каталог .git/hooks/ вашего проекта.
    Примечание: каталог .git по умолчанию скрыт.
    В итоге у вас должна получиться следующая структура каталога:

.git\
    hooks\
        pre-commit
        V8Reader
        tools
        ibService
        v8files-extractor.os

Установка через git clone

  1. Склонируйте репозиторий precommit1c в удобное место.

  2. После клонирования репозитория необходимо инициализировать используемые подмодули.
    Откройте командую строку и выполните команды:

cd путь/к/репозиторию/precommit1c
git submodule update --init --recursive
  1. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
    Примечание: каталог .git по умолчанию скрыт.
    В итоге у вас должна получиться следующая структура каталога:
.git\
    hooks\
        pre-commit
        V8Reader
        tools
        ibService
        v8files-extractor.os

Запуск

После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитории автоматически должна создаться папка src, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.

Командная строка запуска OneScript

oscript v8files-extractor.os ?

Утилита сборки/разборки внешних файлов 1С

Параметры командной строки:
        --decompile inputPath outputPath
                Разбор файлов на исходники
        --help
                Показ этого экрана
        --git-precommit outputPath [--remove-orig-bin-files]
                Запустить чтение индекса из git и определить список файлов для разбора, разложить их и добавить исходники в индекс
                Если передан флаг --remove-orig-bin-files, обработанные файлы epf/ert будут удалены из индекса git
        --compile inputPath outputPath [--recursive]
                Собрать внешний файл/обработку.
                Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога

Ограничения

Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок git config --local core.quotepath false

Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учёта расширения и возможен конфликт имен.

Что внутри

Как это работает: v8files-extractor.os полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог und

Лицензия

Лицензировано на условиях Apache License 2.0. Смотрите файл LICENSE.md в корневом каталоге репозитория.