1
0
mirror of https://github.com/andranik-ss/integration-1c-redmine.git synced 2024-11-21 10:45:52 +02:00

- Добавлено описание для проекта precommit1c - https://github.com/xDrivenDevelopment/precommit1c

- Команда инициализация модулей precommit1c.
This commit is contained in:
Andranik Simonyan 2016-07-30 15:12:18 +03:00
parent 63cd299623
commit 1df3ebd312
2 changed files with 109 additions and 0 deletions

102
precommit/README.md Normal file
View File

@ -0,0 +1,102 @@
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
[![Join the chat at https://gitter.im/xDrivenDevelopment/precommit1c](https://badges.gitter.im/xDrivenDevelopment/precommit1c.svg)](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
### Что к чему
----
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки и запускающий внешнюю обработку для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
* ibService - сервисная база данных на 1С для запуска V8Reader.epf
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
### Установка
1. Зависимости:
* OneScript http://oscript.io/
* установленная платформа 1С:Предприятие 8
* git
* в случае запуска из под wine необходим msscriptcontrol
* Библиотеки [oscript-library]( https://github.com/EvilBeaver/oscript-library)
2. По умолчанию считается, что пути к oscript.exe и git.exe находятся в переменной path, иначе необходимо указать явный путь в файле pre-commit
3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
#### Установка через zip-архив
1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest).
2. Содержмое архива необходимо разархивировать в каталог .git/hooks/ вашего проекта.
*Примечание:* каталог .git по умолчанию скрыт.
В итоге у вас должна получиться следующая структура каталога:
```
.git\
hooks\
pre-commit
V8Reader
tools
ibService
v8files-extractor.os
```
#### Установка через git clone
1. Склонируйте репозиторий `precommit1c` в удобное место.
2. После клонирования репозитория необходимо инициализировать используемые подмодули.
Откройте командую строку и выполните команды:
```cmd
cd путь/к/репозиторию/precommit1c
git submodule update --init --recursive
```
3. 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](LICENSE.md) в корневом каталоге репозитория.

View File

@ -14,4 +14,11 @@ mkdir .\..\.git\hooks\tools
xcopy .\tools\v8unpack.exe .\..\.git\hooks\tools\ /Y /F xcopy .\tools\v8unpack.exe .\..\.git\hooks\tools\ /Y /F
cd .\..\ cd .\..\
echo storage localization to use Cyrillic characters
git config --local core.quotepath false git config --local core.quotepath false
echo init used submodules
git submodule update --init --recursive