Skip to content

Commit 1df5738

Browse files
committed
Merge pull request xDrivenDevelopment#72 from nixel2007/feature/bsl
precommit1c 2.0
2 parents 325f937 + 92205e0 commit 1df5738

File tree

8 files changed

+45
-553
lines changed

8 files changed

+45
-553
lines changed

README.md

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

33
[![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) Здесь вы можете задавать любые вопросы разработчикам и активным участникам
44

55
### Что к чему
66
----
77
* v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки и запускающий внешнюю обработку для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников.
8-
* * pyv8unpack.py - Python-скрипт, выполняющий такую же задачу
98
* [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок.
109
* ibService - сервисная база данных на 1С для запуска V8Reader.epf
11-
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта pyv8unpack.py
10+
* pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os
1211

1312
### Установка
1413

1514
1. Зависимости:
16-
* OneScript http://oscript.io/ (рекомендуется)
17-
* * или Python 3.3
15+
* OneScript http://oscript.io/
1816
* установленная платформа 1С:Предприятие 8
1917
* git
2018
* в случае запуска из под wine необходим msscriptcontrol
21-
* в случае использования OneScript-версии требуется установка **develop**-версии библиотек [oscript-library]( https://github.com/EvilBeaver/oscript-library)
19+
* Библиотеки [oscript-library]( https://github.com/EvilBeaver/oscript-library)
2220

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

25-
3. После скачивания данного репозитория необходимо инициализировать используемые подмодули.
23+
3. После клонирования данного репозитория необходимо инициализировать используемые подмодули.
2624
Откройте командую строку и выполните команды:
2725
```cmd
2826
cd путь/к/репозиторию/precommit1c
2927
git submodule update --init --recursive
3028
```
3129

32-
4. Путь к платформе находится автоматически в случае стандартной установки 1С. Если необходимо явно указать путь к платформе, то нужно: указать переменную окружения PATH1C c путём к каталогу, в который установлена 1С
33-
```
34-
set PATH1C = d:\program\
35-
```
36-
или создать ini-файл рядом с файлом скрипта pyv8unpack.py или в домашней папке в корне с именем precommit1c.ini и содержанием:
37-
```
38-
[DEFAULT]
39-
onecplatfrorms = c:\program\1cv8\8.3.5.823\bin\1cv8.exe
40-
```
41-
42-
5. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле
43-
```
44-
[DEFAULT]
45-
source = plugin_source
46-
```
47-
48-
6. Флажок, изменяющий корневую папку хранения исходных текстов разобранных обработок по умолчанию используется как корневая папка (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в ini-файле. Если изменить флажок на True - в каждой корневой папке внешних обработок будет создан подкаталог текстов разобранных обработок.
49-
```
50-
[DEFAULT]
51-
source_in_source = False
52-
```
53-
54-
7. Наконец, содержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
55-
> *Примечание:* каталог .git по умолчанию скрыт.
56-
30+
4. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта.
31+
*Примечание:* каталог .git по умолчанию скрыт.
5732
В итоге у вас должна получиться следующая структура каталога:
5833
```
5934
.git\
@@ -63,14 +38,15 @@ source_in_source = False
6338
tools
6439
ibService
6540
v8files-extractor.os
66-
pyv8unpack.py
6741
```
6842

69-
##Запуск
43+
5. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit`
44+
45+
## Запуск
7046

7147
После установки достаточно для проверки сделать commit для любого файла epf/erf, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями.
7248

73-
##Командная строка запуска OneScript
49+
## Командная строка запуска OneScript
7450

7551
```
7652
oscript v8files-extractor.os ?
@@ -90,38 +66,12 @@ oscript v8files-extractor.os ?
9066
Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога
9167
```
9268

93-
##Командная строка запуска Питона
94-
95-
```
96-
python pyv8unpack.py [-h] [--version] [-v] [--index] [--g] [--compile]
97-
[--type TYPE] [--platform PLATFORM]
98-
[inputPath] [output]
99-
100-
101-
Утилита для автоматической распаковки внешних обработок
102-
103-
positional arguments:
104-
inputPath Путь к файлам, необходимым для распаковки
105-
output Путь к каталогу, куда распаковывать
106-
107-
optional arguments:
108-
-h, --help Show this help message and exit
109-
--version Show program's version number and exit
110-
-v, --verbose Increases log verbosity for each occurence
111-
--index Добавляем в индекс исходники
112-
--g Запустить чтение индекса из git и определить список
113-
файлов для разбора
114-
--compile Собрать внешний отчёт/обработку
115-
--type TYPE Тип файла для сборки epf, erf. По умолчанию авто epf
116-
--platform PLATFORM Путь к платформе 1С
117-
```
118-
119-
##Ограничения
69+
## Ограничения
12070

121-
Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок ```git config --local core.quotepath false```
71+
Дополнительно необходима настройка git для возможности использования кириллических наименований внешних обработок `git config --local core.quotepath false`
12272

12373
Не стоит называть файлы с разным расширением epf и erf одинаковыми именами - каталоги с исходниками создаются только по наименованию без учёта расширения и возможен конфликт имен.
12474

125-
##Что внутри
75+
## Что внутри
12676

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

copy-to-hook.cmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ xcopy .\ibService .\..\..\.git\hooks\ibService\ /Y /E /F
66
xcopy .\pre-commit .\..\..\.git\hooks\ /Y /F
77
mkdir .\..\..\.git\hooks\v8Reader
88
xcopy .\v8Reader\V8Reader.epf .\..\..\.git\hooks\v8Reader\ /Y /F
9-
xcopy .\pyv8unpack.py .\..\..\.git\hooks\ /Y /F
9+
xcopy .\v8files-extractor.os .\..\..\.git\hooks\ /Y /F
1010
mkdir .\..\..\.git\hooks\tools
1111
xcopy .\tools\v8unpack.exe .\..\..\.git\hooks\tools\ /Y /F
1212

1313
cd .\..\..\
14-
git config --local core.quotepath false
14+
git config --local core.quotepath false

create-links-in-hooks.bat

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
mklink ".git/hooks/pre-commit" "%~dp0pre-commit"
2-
mklink ".git/hooks/pyv8unpack.py" "%~dp0pyv8unpack.py"
2+
mklink ".git/hooks/v8files-extractor.os" "%~dp0v8files-extractor.os"
33
mklink /J ".git/hooks/ibService" "%~dp0ibService"
44
mklink /J ".git/hooks/v8Reader" "%~dp0v8Reader"
55
mklink /J ".git/hooks/tools" "%~dp0tools"
6-
git config --local core.quotepath false
6+
git config --local core.quotepath false

precommit1c.ini.example

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)