|
1 | 1 | # unpackPy
|
2 |
| -Yet another precommit 1c. Python |
| 2 | + |
| 3 | +[](https://www.python.org/downloads/) |
| 4 | + |
| 5 | +## Миссия инструмента |
| 6 | + |
| 7 | +1. Организация процесса сборки/извлечения метаданных: |
| 8 | + |
| 9 | + - Извелечение исходников, в формате 1С:Предприятие |
| 10 | + - Реорганизция исходников в установленый формат хранения ("unpackPy" формат) |
| 11 | + - Модификация исходников установленного формата |
| 12 | + - Конвертация исходников установленного формата в формат 1С:Предприятие |
| 13 | + - Сборка исполняемых файлов |
| 14 | + |
| 15 | +2. Оптимизация процесса сборки/извлечения метаданных |
| 16 | + |
| 17 | +## Для работы необходима платформа версии 8.3.10 + или хз какая в которой появился формат выгрузки 2.0 |
| 18 | + |
| 19 | +## Быстрый старт |
| 20 | + |
| 21 | +1. Установить [python](https://www.python.org/downloads/) |
| 22 | +2. Запустить терминал в корневом каталоге репозитория |
| 23 | +3. Установить зависимости (от имени администратора) |
| 24 | + |
| 25 | + ```cmd |
| 26 | + py -m pip install -r ./tools/requirements.txt |
| 27 | + ``` |
| 28 | +
|
| 29 | +4. Описание утилиты |
| 30 | +
|
| 31 | + ```cmd |
| 32 | + py .\src\v8unpack.py -h |
| 33 | + ``` |
| 34 | +
|
| 35 | +5. Примеры выполнения команд: |
| 36 | +
|
| 37 | +- Разобрать обработку: |
| 38 | +
|
| 39 | +```cmd |
| 40 | +py .\src\v8unpack.py --v8unpack=./tools/v8unpack.exe parse --epf=./tools/anyEpf.epf --xml=./execution/epfSrc/anyEpf.xml |
| 41 | +``` |
| 42 | + |
| 43 | +- Разобрать все обработки в каталоге: |
| 44 | + |
| 45 | +```cmd |
| 46 | +py .\src\v8unpack.py --v8unpack=./tools/v8unpack.exe parse-all --path=./tools/ --repo-root=./execution/ |
| 47 | +``` |
| 48 | + |
| 49 | +- Собрать обработку: |
| 50 | + |
| 51 | +```cmd |
| 52 | +py .\src\v8unpack.py --v8unpack=./tools/v8unpack.exe build --epf=./tools/anyEpf.epf --xml=./execution/epfSrc/anyEpf.xml |
| 53 | +``` |
| 54 | + |
| 55 | +- Выполнить прекоммит: |
| 56 | + |
| 57 | +```cmd |
| 58 | +py .\src\v8unpack.py --v8unpack=./tools/v8unpack.exe precommit --path=. |
| 59 | +``` |
| 60 | + |
| 61 | +## Проблемы |
| 62 | + |
| 63 | +1. Изменить инструмент таким образом, что бы его было легко внедрить на конкретном продукте |
| 64 | +2. Продумать процесс ручного объединения обычных форм |
| 65 | + > Конфликт возникший в обычной форме затруднительно устранить, необходимо предоставить такую возможность при помощи внешнего инструмента. Например: собрать 2 ветки -> устранить в конфигураторе -> разобрать на исходники |
| 66 | +
|
| 67 | +## Образец внедрения |
| 68 | + |
| 69 | +```py |
| 70 | +import v8unpack |
| 71 | + |
| 72 | +epf = '../src/My.epf' |
| 73 | +xml = '../src/My.xml' |
| 74 | +unp = '../.git/hooks/v8unpack.exe' |
| 75 | +v8unpack.unpack(epf, xml, unp) |
| 76 | +v8unpack.build(xml, epf, unp) |
| 77 | +``` |
0 commit comments