Skip to content

Commit 395e454

Browse files
author
Yegor Ivanov
committed
Merge remote-tracking branch 'upstream/develop' into develop
2 parents c62a5de + 62ff551 commit 395e454

File tree

6 files changed

+250
-272
lines changed

6 files changed

+250
-272
lines changed

README.md

Lines changed: 42 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
1-
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git.
1+
## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git
22

33
### Что к чему
44
----
5-
* pyv8unpack.py - python скрипт, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние обработки/отчеты и запускающий внешнюю обработку для распаковки этих файлов.
6-
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т.д. и раскладывает их в нормальную структуру папок.
5+
* pyv8unpack.py - Python-скрипт, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки и запускающий внешнюю обработку для распаковки этих файлов.
6+
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
77
* ibService - сервисная база данных на 1С для запуска V8Reader.epf
8-
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
8+
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
99

1010
### Установка
1111

1212
1. Зависимости:
13-
* python 3.3
14-
* установленная платформа 1С предприятия.
13+
* Python 3.3
14+
* установленная платформа 1С:Предприятия
1515
* git
16-
* в случае запуска из под wine необходим и msscriptcontrol.
16+
* в случае запуска из под wine необходим msscriptcontrol
1717

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

20-
3. Путь к платформе находит автоматически, в случаии стандатной установки 1С. Если необходимо указать явно путь к платформе, необходимо: Указать переменную окружения PATH1C c путем к каталогу, где установленна
20+
3. Путь к платформе находится автоматически в случае стандартной установки 1С. Если необходимо явно указать путь к платформе, то нужно: указать переменную окружения PATH1C c путём к каталогу, в который установлена
2121
```
2222
set PATH1C = d:\program\
2323
```
24-
или создать файл ini рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне, с именем precommit1c.ini и содеражнием:
24+
или создать ini-файл рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне с именем precommit1c.ini и содержанием:
2525
```
2626
[DEFAULT]
2727
onecplatfrorms = c:\program\1cv8\8.3.5.823\bin\1cv8.exe
2828
```
2929

30-
4. Путь хранения исходных текстово разобранных обработок поумолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini файле
30+
4. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле
3131
```
3232
[DEFAULT]
3333
source = plugin_source
3434
```
3535

36-
5. Флажок изменеяющий корневую папку хранения исходных текстово разобранных обработок поумолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini файле. Если изменить флажок на True - в каждой корневой папаке внешних обработок будет создан подкаталог текстово разобранных обработок.
36+
5. Флажок, изменяющий корневую папку хранения исходных текстов разобранных обработок по умолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле. Если изменить флажок на True - в каждой корневой папке внешних обработок будет создан подкаталог текстов разобранных обработок.
3737
```
3838
[DEFAULT]
3939
source_in_source = False
4040
```
4141

42-
6. Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
42+
6. Наконец, содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
4343
> *Примечание:* каталог .git по умолчанию скрыт.
4444
4545
```
@@ -53,7 +53,32 @@ source_in_source = False
5353

5454
##Запуск
5555

56-
После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитарии автоматически должна создаться папка *src*, повторяющая полностью структуру проекта, измененные или добавленные файлы распакуются в папки с аналогичным наименованием.
56+
После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
57+
58+
##Командная строка запуска
59+
60+
```
61+
python pyv8unpack.py [-h] [--version] [-v] [--index] [--g] [--compile]
62+
[--type TYPE] [--platform PLATFORM]
63+
[inputPath] [output]
64+
65+
Утилита для автоматической распаковки внешних обработок
66+
67+
positional arguments:
68+
inputPath Путь к файлам, необходимым для распаковки
69+
output Путь к каталогу, куда распаковывать
70+
71+
optional arguments:
72+
-h, --help Show this help message and exit
73+
--version Show program's version number and exit
74+
-v, --verbose Increases log verbosity for each occurence
75+
--index Добавляем в индекс исходники
76+
--g Запустить чтение индекса из git и определить список
77+
файлов для разбора
78+
--compile Собрать внешний отчёт/обработку
79+
--type TYPE Тип файла для сборки epf, erf. По умолчанию авто epf
80+
--platform PLATFORM Путь к платформе 1С
81+
```
5782

5883
##Командная строка запуска
5984

@@ -82,8 +107,8 @@ optional arguments:
82107

83108
##Ограничения
84109

85-
Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учета расширения и возможен конфликт имен.
86-
Дополнительно необходима настройка git для возможности использования кирилических наименований внешних обработок ```git config --local core.quotepath false```
110+
Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учёта расширения и возможен конфликт имен.
111+
Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок ```git config --local core.quotepath false```
87112
##Что внутри
88113

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

create-links-in-hooks.bat

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mklink ".git/hooks/pre-commit" "%~dp0pre-commit"
2+
mklink ".git/hooks/pyv8unpack.py" "%~dp0pyv8unpack.py"
3+
mklink /J ".git/hooks/ibService" "%~dp0ibService"
4+
mklink /J ".git/hooks/v8Reader" "%~dp0v8Reader"
5+
git config --local core.quotepath false

pre-commit

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
#!/bin/sh
2-
32
echo "Start hooks before commit for v8unpack erf and epf"
43
python.exe .git/hooks/pyv8unpack.py --g --index

precommit1c.ini.example

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
[DEFAULT]
2-
onecplatfrorms = D:\environ\onec\1cv8\8.3.4.465\bin\1cv8.exe
3-
source = plugin_source
1+
[default]
2+
onec_platform=D:\environ\onec\1cv8\8.3.4.465\bin\1cv8.exe
3+
source=plugin_source

0 commit comments

Comments
 (0)