Skip to content

Commit bb5fd74

Browse files
author
Сосна Евгений
committed
Merge branch 'develop'
* develop: Обновление на последнюю версию v8Reader Шаг добавления разобранных исходников в индекс git перед коммитом #32 Распаковка одного файла epf в заданный каталог. (Портировано на 1Script) #30 Увеличил скорость работы из-за уменьшения размера сервисной базы fixed #29 Ранее использовалась ИБ размером в 19 Мб, а сейчас размер 600 Кб Добавил поиск пути к unpackv8 и вывод ошибки, если не нашли. Добавил create-links-in-hooks.bat, который создаёт символические ссылки на необходимые файлы в папке '.git/hooks/'. на некоторых Windows машинах может быть ошибка связанная с определением кодировки #18 - добавил возможность создавать подпапку хранения разобранных исходников в папке с обработками Ошибка при первом коммите файла #15 Зависание на разборе штатной обработки обмена через xml #14 Добавленны тесты. Добавленна возможность разбора всех отедльных файлов. Добавленна возможность сборки из исходников. Исправлена ошибка записи в renames.txt полных путей к файлам. Исправил V8Reader.epf Останов при разборе управляемой формы, в которой нет обработчика ПриСозданииНаСервере #6 Имена файлов-макетов получаются слишком длинные #5 Макеты компоновки выкладываются в папку Макеты\ИмяМакета\t.xml Прочие макеты выкладываются в папку Макеты\ приложен базовый тест проверки работы сабжа
2 parents 046d445 + be686c9 commit bb5fd74

File tree

72 files changed

+3224
-581
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+3224
-581
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.lgp
2+
*.lgf
3+
tests/testSrc/

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "v8Reader"]
2+
path = v8Reader
3+
url = https://github.com/xDrivenDevelopment/v8Reader.git

README.md

Lines changed: 49 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,84 @@
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/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т.д. и раскладывает их в нормальную структуру папок.
7-
* ibService - сервисная база данных на 1С, для запуска V8Reader.epf
8-
* pre-commit - собственно командный файл вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
5+
* pyv8unpack.py - Python-скрипт, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки и запускающий внешнюю обработку для распаковки этих файлов.
6+
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
7+
* ibService - сервисная база данных на 1С для запуска V8Reader.epf
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. Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
36+
5. Флажок, изменяющий корневую папку хранения исходных текстов разобранных обработок по умолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле. Если изменить флажок на True - в каждой корневой папке внешних обработок будет создан подкаталог текстов разобранных обработок.
37+
```
38+
[DEFAULT]
39+
source_in_source = False
40+
```
41+
42+
6. Наконец, содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
3743
> *Примечание:* каталог .git по умолчанию скрыт.
3844
3945
```
4046
.git\
4147
hooks\
4248
pre-commit
43-
V8Reader.epf
49+
V8Reader
4450
ibService
4551
pyv8unpack.py
4652
```
4753

4854
##Запуск
4955

50-
После установки достаточно для проверки сделать commit для любого файла epf и в вашем репозитарии автоматически должна создаться папка *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+
```
5182

5283
##Командная строка запуска
5384

@@ -76,8 +107,8 @@ optional arguments:
76107

77108
##Ограничения
78109

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

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

V8Reader.epf

-589 KB
Binary file not shown.

copy-to-hook.cmd

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
xcopy .\ibService .\..\..\.git\hooks\ibService\ /Y /E /F
66
xcopy .\pre-commit .\..\..\.git\hooks\ /Y /F
7-
xcopy .\v8Reader.epf .\..\..\.git\hooks\ /Y /F
7+
mkdir .\..\..\.git\hooks\v8Reader
8+
xcopy .\v8Reader\V8Reader.epf .\..\..\.git\hooks\v8Reader\ /Y /F
89
xcopy .\pyv8unpack.py .\..\..\.git\hooks\ /Y /F
910

1011
cd .\..\..\

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

ibService/1Cv8.1CD

-18.4 MB
Binary file not shown.

pre-commit

Lines changed: 1 addition & 2 deletions
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"
4-
python.exe .git/hooks/pyv8unpack.py
3+
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)