|
1 |
| -## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении(commit) в git. |
| 1 | +## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git |
2 | 2 |
|
3 | 3 | ### Что к чему
|
4 | 4 | ----
|
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 |
9 | 9 |
|
10 | 10 | ### Установка
|
11 | 11 |
|
12 | 12 | 1. Зависимости:
|
13 |
| - * python 3.3 |
14 |
| - * установленная платформа 1С предприятия. |
| 13 | + * Python 3.3 |
| 14 | + * установленная платформа 1С:Предприятия |
15 | 15 | * git
|
16 |
| - * в случаии запуска из под wine, необходим и msscriptcontrol. |
| 16 | + * в случае запуска из под wine необходим msscriptcontrol |
17 | 17 |
|
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) |
19 | 19 |
|
20 |
| -3. Путь к платформе находит автоматически, в случаии стандатной установки 1С. Если необходимо указать явно путь к платформе, необходимо: Указать переменную окружения PATH1C c путем к каталогу, где установленна 1С |
| 20 | +3. Путь к платформе находится автоматически в случае стандартной установки 1С. Если необходимо явно указать путь к платформе, то нужно: указать переменную окружения PATH1C c путём к каталогу, в который установлена 1С |
21 | 21 | ```
|
22 | 22 | set PATH1C = d:\program\
|
23 | 23 | ```
|
24 |
| -или создать файл ini рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне, с именем precommit1c.ini и содеражнием: |
| 24 | +или создать ini-файл рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне с именем precommit1c.ini и содержанием: |
25 | 25 | ```
|
26 | 26 | [DEFAULT]
|
27 | 27 | onecplatfrorms = c:\program\1cv8\8.3.5.823\bin\1cv8.exe
|
28 | 28 | ```
|
29 | 29 |
|
30 |
| -4. Путь хранения исходных текстово разобранных обработок поумолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini файле |
| 30 | +4. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле |
31 | 31 | ```
|
32 | 32 | [DEFAULT]
|
33 | 33 | source = plugin_source
|
34 | 34 | ```
|
35 | 35 |
|
36 |
| -5. Наконец содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта. |
| 36 | +5. Флажок, изменяющий корневую папку хранения исходных текстов разобранных обработок по умолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле. Если изменить флажок на True - в каждой корневой папке внешних обработок будет создан подкаталог текстов разобранных обработок. |
| 37 | +``` |
| 38 | +[DEFAULT] |
| 39 | +source_in_source = False |
| 40 | +``` |
| 41 | + |
| 42 | +6. Наконец, содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта. |
37 | 43 | > *Примечание:* каталог .git по умолчанию скрыт.
|
38 | 44 |
|
39 | 45 | ```
|
40 | 46 | .git\
|
41 | 47 | hooks\
|
42 | 48 | pre-commit
|
43 |
| - V8Reader.epf |
| 49 | + V8Reader |
44 | 50 | ibService
|
45 | 51 | pyv8unpack.py
|
46 | 52 | ```
|
47 | 53 |
|
48 | 54 | ##Запуск
|
49 | 55 |
|
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 | +``` |
51 | 82 |
|
52 | 83 | ##Командная строка запуска
|
53 | 84 |
|
@@ -76,8 +107,8 @@ optional arguments:
|
76 | 107 |
|
77 | 108 | ##Ограничения
|
78 | 109 |
|
79 |
| -Одинковыми именами файлы с разным расширением epf и erf называть не надо, т.к. каталоги с исходниками создаются только по наименованию без учета расширения и возможен конфликт. |
80 |
| -Дополнительно необходима настройка git для возможности использования кирилических наименований внешних обработок ```git config --local core.quotepath false``` |
| 110 | +Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учёта расширения и возможен конфликт имен. |
| 111 | +Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок ```git config --local core.quotepath false``` |
81 | 112 | ##Что внутри
|
82 | 113 |
|
83 |
| -как это работает: pyv8unpack.py повторяет полностью иерархию папок относительно корня репозитария только в папке SRC (от слова source) или ту которую вы определили в конфигурационном файлу , каждая для каждой измененной внешней обработки создается своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяютса наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняютса в служебном файле renames.txt , те файлы, которые невозмонжно определить или же носят чисто служебный характер, переносятса в каталог *und* |
| 114 | +Как это работает: pyv8unpack.py полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und* |
0 commit comments