Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
98a0730
#ONECICD-497
Aug 27, 2021
898a6a0
ONECICD-498 / Отключение флага "Разрешить изменять форму" для новых ф…
Sep 27, 2021
8aa07bd
обновление версии
theshadowco Sep 29, 2021
1087ce5
Merge branch 'release/21.09'
theshadowco Sep 29, 2021
3ac6997
Merge tag '21.09' into develop
theshadowco Sep 29, 2021
ef1874f
Update КомандаВыполнитьСценарии.os
artkor83 Jan 6, 2022
5097e96
Update РазборОтчетовОбработокРасширений.os
artkor83 Jan 6, 2022
bb1c593
Update СценарииОбработки.os
artkor83 Jan 6, 2022
2aa11d0
Update КомандаВыполнитьСценарии.os
artkor83 Jan 10, 2022
5a7ca19
Update КомандаПрекоммит.os
artkor83 Jan 10, 2022
94c801b
Update МенеджерПриложения.os
artkor83 Jan 10, 2022
cd26d6e
Update СценарииОбработки.os
artkor83 Jan 10, 2022
62751b9
Update РазборОтчетовОбработокРасширений.os
artkor83 Jan 10, 2022
098c6f9
Merge pull request #15 from artkor83/issue-14
theshadowco Feb 13, 2022
851b280
ONECICD-522 / Сортировка состава конфигурации и подсистем.
Mar 25, 2022
57f6a19
Реализация сценария
Mar 25, 2022
cbbf2e9
update from GH + bump version
theshadowco Mar 29, 2022
8031f5f
правка тестов
theshadowco Mar 29, 2022
9ab4cd8
Merge branch 'release/22.03'
theshadowco Mar 29, 2022
49bc48a
Merge tag '22.03' into develop
theshadowco Mar 29, 2022
21e9ff5
Merge branch 'master' into develop
realMaxA Jul 22, 2022
c3feead
Добавлена обработка параметров команды precommit
realMaxA Jul 22, 2022
d463a82
Добавлена возможность установки с указанием соединения с ИБ
realMaxA Jul 22, 2022
b2b2617
Merge branch 'feature/#17' into develop
realMaxA Jul 22, 2022
8f8221a
Merge pull request #18 from realMaxA/develop
theshadowco Jul 24, 2022
3940cfd
Исправил падение на уровнях лога
Sep 18, 2022
4129d90
Обновить src/Модули/ТипыФайлов.os
Sep 18, 2022
5792c0b
оптимизация нумерации
theshadowco Nov 26, 2022
2f1e030
релиз 22.11
theshadowco Nov 26, 2022
425ff68
Merge branch 'release/22.11'
theshadowco Nov 26, 2022
407ff0f
Merge tag '22.11' into develop
theshadowco Nov 26, 2022
5ad48bd
#21
machikhin2023 Apr 14, 2023
fe1134f
Update ПроверкаКорректностиИнструкцийПрепроцессора.os
theshadowco Apr 18, 2023
a8a30d4
Merge pull request #22 from machikhin2023/develop
theshadowco Apr 18, 2023
9d36d85
Merge branch 'master' into develop
theshadowco Apr 18, 2023
9f6ed7e
- ORAIS-773: Добавлена обработка имен метаданных таблиц внешних исто…
theshadowco Apr 18, 2023
5c9688a
- ORAIS-810: исправил регексп для Перейти
theshadowco Apr 18, 2023
6270d12
- ORAIS-810Ж обыграно отсутствие параметра в файле настроек
theshadowco Apr 18, 2023
0f7d3f2
- удалил сценарий добавления тестов
theshadowco Apr 18, 2023
964bdcb
Новая версия
theshadowco Apr 18, 2023
b8e75b7
Merge branch 'release/22.04'
theshadowco Apr 18, 2023
0b673a6
Merge tag '22.04' into develop
theshadowco Apr 18, 2023
3bedca7
#ORAIS-901
May 17, 2023
830213e
ORAIS-926 / Фикс сценария обработки препроцессора
May 29, 2023
8fdc5d0
ORAIS-951 / Ошибки сортировки состава подсистем
Jun 2, 2023
043d58e
ORAIS-517 / Сортировка состава определяемых типов
Jun 9, 2023
89d63e0
#ORAIS-902
Jun 9, 2023
0b4c357
#ORAIS-903
Jun 13, 2023
16d0738
#ORAIS-966
Jul 6, 2023
3e05928
новый релиз 23.07
bia-tech Jul 10, 2023
6704188
Merge branch 'release/23.07'
bia-tech Jul 10, 2023
707cb50
Merge tag '23.07' into develop
bia-tech Jul 10, 2023
0155e7e
fix #27
Segate-ekb Oct 27, 2023
7e74fcb
Merge pull request #28 from Segate-ekb/develop
theshadowco Oct 30, 2023
c32b364
ORAIS-401: Заполнение копирайта - исключить объекты на поставке.
azazulov Nov 28, 2023
766959f
ORAIS-1264: Некорректный текст замены дат копирайта.
azazulov Dec 6, 2023
2bb5664
ORAIS-1287: Сценарий копирайта. Ошибка метода КонфигурацияНаПоддержке.
azazulov Dec 15, 2023
b46f8df
релиз 23.12
theshadowco Dec 22, 2023
fe9dfb5
дополнил зависимости
theshadowco Dec 22, 2023
e7eeef7
Merge branch 'release/23.12'
theshadowco Dec 22, 2023
bbb2838
Merge tag '23.12' into develop
theshadowco Dec 22, 2023
2ce8c27
Merge remote-tracking branch 'github/develop' into develop
theshadowco Dec 22, 2023
c37730d
Merge branch 'release/23.12.1'
theshadowco Dec 22, 2023
bf94166
Merge tag '23.12.1' into develop
theshadowco Dec 22, 2023
f7cb45a
Update МетаданныеКонфигурации.os
Feb 10, 2024
e213228
Merge pull request #32 from anklimashenko/develop
theshadowco Feb 27, 2024
d3fc882
ORAIS-1395: Ошибка вставки копирайта в файл внешней обработки.
azazulov Feb 20, 2024
0f05ecc
ORAIS-1398: Отсутствует тип IntegrationService в списке типов метадан…
azazulov Feb 21, 2024
08ae0c4
Добавлено соответствие Form.oform обычным формам
bia-tech Feb 26, 2024
a027643
ORAIS-1367. Исправление ошибок сортировки заимствованных из расширени…
bia-tech Mar 11, 2024
ffe54b3
ORAIS-1414: Не учитывается буква "ё" в СинхронизацияОбъектовМетаданны…
azazulov Mar 13, 2024
129fb72
ORAIS-1265: Заменить объекты ЧтениеТекста и ЗаписьТекста на методы мо…
azazulov Mar 13, 2024
853f39e
Merge branch 'feature/ORAIS-1265' into 'develop'
bia-tech Mar 13, 2024
dec855d
релиз 23.04
theshadowco Mar 13, 2024
e0d6463
Merge branch 'release/24.03'
theshadowco Mar 13, 2024
249c071
Merge tag '24.03' into develop
theshadowco Mar 13, 2024
df08f6b
#34 Исправлено экранирование chmod
anatox Apr 2, 2024
b591dda
Merge pull request #35 from anatox/develop
theshadowco Apr 3, 2024
19a129d
ORAIS-1430: Ложное срабатывание на инструкцию Перейти
azazulov Apr 17, 2024
2564cfd
Merge branch 'feature/ORAIS-1430' into 'develop'
bia-tech Apr 17, 2024
cbc20e6
ORAIS-1489: Изменение индексов в формах расширений.
azazulov May 22, 2024
076bb59
Merge branch 'feature/ORAIS-1489' into 'develop'
bia-tech May 22, 2024
116b2d4
Merge remote-tracking branch 'github/develop' into develop
bia-tech May 22, 2024
2d781ac
релиз 24.05
bia-tech May 22, 2024
69050b9
Merge branch 'release/24.05'
bia-tech May 22, 2024
1b745d0
Merge tag '24.05' into develop
bia-tech May 22, 2024
f65039d
ORAIS-1536: Исключить из проверки модули без исходных кодов.
azazulov Jul 31, 2024
5aff312
Merge branch 'feature/ORAIS-1536' into 'develop'
bia-tech Jul 31, 2024
68ffb24
ORAIS-1687: Исправить поведение сценария КорректировкаXMLФорм для пус…
azazulov Aug 8, 2024
f4e7789
Merge branch 'feature/ORAIS-1687' into 'develop'
bia-tech Aug 8, 2024
62a9a9d
ORAIS-1626: Поддержка заимствованных модулей расширений.
azazulov Aug 12, 2024
b6cdf0a
Merge branch 'feature/ORAIS-1626' into 'develop'
bia-tech Aug 12, 2024
406f6c7
ORAIS-1622: Сценарий синхронизации файлов.
azazulov Sep 2, 2024
66a5e6d
Merge branch 'feature/ORAIS-1622' into 'develop'
bia-tech Sep 2, 2024
7fb9979
ORAIS-990: Новый сценарий "Сортировка прав ролей".
azazulov Sep 4, 2024
faef1dc
Merge branch 'feature/ORAIS-990' into 'develop'
bia-tech Sep 4, 2024
d2c2848
Исправлена опечатка в имени сценария
alkoleft Sep 5, 2024
4bc13b4
ORAIS-1538: Исправить ошибку в тестах для сценария распаковки файлов.
azazulov Nov 18, 2024
14bbcae
Merge branch 'feature/ORAIS-1538' into 'develop'
bia-tech Nov 18, 2024
0fdc590
ORAIS-1726: Новый сценарий: проверка комментария по шаблону.
azazulov Nov 22, 2024
accac1a
Merge branch 'feature/ORAIS-1726' into 'develop'
bia-tech Nov 22, 2024
fe44688
ORAIS-1429: Запуск прекоммита для списка файлов.
azazulov Nov 26, 2024
9ce9c38
Merge branch 'feature/ORAIS-1429' into 'develop'
bia-tech Nov 26, 2024
2907dcb
Merge remote-tracking branch 'github/develop' into develop
theshadowco Nov 27, 2024
1187e62
Релиз 24.11
theshadowco Nov 27, 2024
2deb193
Merge branch 'release/24.11'
theshadowco Nov 27, 2024
8bb0e06
Merge tag '24.11' into develop
theshadowco Nov 27, 2024
3f041b3
ORAIS-928: Пре-Прекоммит.
azazulov Dec 11, 2024
f5d0475
Merge branch 'feature/ORAIS-928' into 'develop'
bia-tech Dec 11, 2024
80f24b1
ORAIS-1870: Новый сценарий "Сортировка состава общих реквизитов".
azazulov Dec 16, 2024
63f7e36
Merge branch 'feature/ORAIS-1870' into 'develop'
bia-tech Dec 16, 2024
af9b87f
ORAIS-1949: Новый сценарий сортировка состава подписок на события.
azazulov Jan 21, 2025
c2522b8
Merge branch 'feature/ORAIS-1949' into 'develop'
bia-tech Jan 21, 2025
1e884fe
Релиз 25.01
theshadowco Jan 22, 2025
fe76ace
Merge branch 'release/25.1'
theshadowco Jan 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ bdd-log.xml
exec.log
.vscode/
/tests.xml
/oscript_modules
/reports/
/coverage/
17 changes: 17 additions & 0 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2014-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
//©///////////////////////////////////////////////////////////////////////////©//
2 changes: 2 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@Library(['jenkins-lib-core', 'jenkins-lib-oscript']) _
opmPipeline()
20 changes: 15 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,30 +29,36 @@
- для выполнения установки в конкретный репозиторий необходимо выполнить команду `precommit4onec install repo_name`
- для выполнения установки во все репозитории каталога необходимо выполнить команду `precommit4onec install folder_reps -r`
- если каталог исходных файлов в репозитории отличается от стандартного "src" (например, когда исходные файлы в формате EDT), необходимо явно указать его с помощью дополнительного параметра `-source-dir "configuration"`

Для корректного отображения путей с кириллицей прекоммит установит настройку Git `core.quotePath` для локального репозитория.

После этого, при каждом коммите будет выполняться обработка файлов.

В комплекте присутствуют следующие сценарии обработки файлов:

- `ВставкаКопирайтов` - добавляет текст копирайта в файлы модулей. [См. подробнее](/docs/ВставкаКопирайтов.md)
- `ДобавлениеПробеловПередКлючевымиСловами` - добавляет отсутствующие пробелы перед ключевыми словами в файлах модулей. На данный момент обрабатывается только ключевое слово `Экспорт`.
- `ДобавлениеТестовВРасширение` - добавляет отсутствующие сценарии в расширение с unit-тестами. [См. подробнее](/docs/ДобавлениеТестовВРасширение.md)
- `ЗапретИспользованияПерейти` - проверяет модуль на использование методов `Перейти`.
- `ИсправлениеНеКаноническогоНаписания` - исправляет неканоничное написание ключевых слов в модулях.
- `КорректировкаXMLФорм` - исправляет дубли индексов элементов в файлах описаний форм (могут образоваться при объединениях). Поддерживаются как файлы в формате выгрузки конфигуратора (`Form.xml`), так и в формате EDT (`Form.form`).
- `ОбработкаЮнитТестов` - обновляет метод-загрузчик сценариев в общих модулях расширения с unit-тестами (по умолчанию отключен).
- `ОтключениеПолнотекстовогоПоиска` - отключает полнотекстовый поиск в файлах описаний метаданных. [См. подробнее](/docs/ОтключениеПолнотекстовогоПоиска.md)
- `ОтключениеРазрешенияИзменятьФорму` - снимает флаг `РазрешеноИзменятьФорму` в описаниях форм. [См. подробнее](/docs/ОтключениеРазрешенияИзменятьФорму.md)
- `ПроверкаДублейПроцедурИФункций` - проверяет уникальность названий процедур и функций в модулях.
- `ПроверкаКорректностиИнструкцийПрепроцессора` - проверяет корректность написания инструкций препроцессора в модулях.
- `ПроверкаКорректностиОбластей` - проверяет корректность "скобок" областей в модулях (парность и последовательность).
- `ПроверкаНецензурныхСлов` - проверяет наличие нецензурных слов в модулях. [См. подробнее](/docs/ПроверкаНецензурныхСлов.md)
- `РазборОбычныхФормНаИсходники` - раскладывает файлы обычных форм (`Form.bin`) на исходные файлы с помощью инструмента `v8unpack`.
- `РазборОтчетОбработокРасширений` - раскладывает средствами платформы файлы внешних отчетов, обработок и расширений на исходные файлы. [См. подробнее](/docs/РазборОтчетОбработокРасширений.md)
- `СинхронизацияОбъектовМетаданныхИФайлов` - анализирует наличие файлов и объектов конфигурации. Поддерживается только файл описания конфигурации в формате выгрузки конфигуратора (`Configuration.xml`).
- `СортировкаДереваМетаданных` - упорядочивает объекты метаданных верхнего уровня по алфавиту в файле описания конфигурации (кроме подсистем). Поддерживается как файл в формате выгрузки конфигуратора (`Configuration.xml`), так и в формате EDT (`Configuration.mdo`).
- `РазборОтчетовОбработокРасширений` - раскладывает средствами платформы файлы внешних отчетов, обработок и расширений на исходные файлы. [См. подробнее](/docs/РазборОтчетОбработокРасширений.md)
- `СинхронизацияОбъектовМетаданныхИФайлов` - анализирует наличие файлов и объектов конфигурации. Поддерживается как файл в формате выгрузки конфигуратора (`Configuration.xml`), так и в формате EDT (`Configuration.mdo`).
- `СортировкаПравРолей` - упорядочивает по имени объекты в файле описания прав роли.
- `СортировкаСостава` - сортирует описания состава конфигурации и некоторых объектов метаданных. [См. подробнее](/docs/СортировкаСостава.md)
- `УдалениеДублейМетаданных` - удаляет дубли объектов метаданных в файле описания конфигурации (могут образоваться при объединениях). Поддерживается как файл в формате выгрузки конфигуратора (`Configuration.xml`), так и в формате EDT (`Configuration.mdo`)..
- `УдалениеЛишнихКонцевыхПробелов` - удаляет лишние пробелы и табы в конце не пустых строк в файлах модулей.
- `УдалениеЛишнихПустыхСтрок` - удаляет лишние пустые строки в модулях (лишними считаются 2 и более идущих подряд пустых строк).

При использовании таск-трекеров может возникнуть необходимость указывать номер задачи в каждом комментарии коммита. Специально для этой задачи реализована функциональность проверки комментария коммита на соответствие маске. [См. подробнее](/docs/ПроверкаСообщенияКоммита.md)

## Изменение настроек

precommit4onec может читать настройки своей работы из специального конфигурационного файла.
Expand All @@ -67,7 +73,7 @@ precommit4onec может читать настройки своей работ

Также можно настроить различное поведение для различных каталогов репозитория, для работы с подкаталогами (проектами) используется ключ `-child-path`.
Настройки проектов полностью переопределяют базовые настройки. Например если в основной настройке указаны `ОтключенныеСценарии`,
а для проекта `configuration\` они не заполнены, то для каталога `configuration` будут выполнены все сценарии.
а для проекта `configuration\` они не заполнены, то для каталога `configuration\` будут выполнены все сценарии.

Конфигурирование дает возможности:

Expand Down Expand Up @@ -103,6 +109,10 @@ precommit4onec может читать настройки своей работ
}
```

## Принудительное выполнение для группы файлов

Команда `exec-rules` предназначена для запуска выбранных сценариев в указанном репозитории. [См. подробнее](/docs/КомандаВыполнитьСценарии.md)

## Расширение функциональности

Для создания нового сценария обработки файлов необходимо воспользоваться шаблоном, находящимся в каталоге `СценарииОбработки` скрипта.
Expand Down
11 changes: 11 additions & 0 deletions build-configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"sonarqube" : true,
"test" : true,
"coverage" : true,
"build" : true,
"publish" : {
"enable" : true,
"stableBranch" : "release/.*",
"develop" : true
}
}
Binary file added docs/img/GitExtensions_Interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/GitExtensions_Settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/img/GitExtensions_StagedFiles.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
27 changes: 27 additions & 0 deletions docs/ВставкаКопирайтов.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Сценарий `ВставкаКопирайтов`

Добавляет текст копирайта в файлы модулей при его отсутствии или несоответствии эталону.

Эталонный текст копирайта должен находиться в файле в каталоге репозитория. Относительный путь и имя файла задаются в настройке "ПутьКФайлуКопирайта" конфигурационного файла `v8config.json`. Значение по-умолчанию: "COPYRIGHT".
Если этот файл неактуален (год в тексте не соответствует текущему), сценарий исправит его.

Чтобы модуль не обрабатывался, он должен содержать исключаемый тег, определяемый в настройке "ИсключаемыеТеги". По-умолчанию игнорируются модули, содержащие тег "// IMPORT".

Если в каталоге репозитория имеется файл ParentConfigurations.bin с данными о настройках поддержки, модули, относящиеся к объектам основной поставки, не будут обрабатываться. Это позволит избежать ложного срабатыватывания механизма сравнения конфигураций на дважды измененные объекты. В конфигурационный файл `v8config.json` добавлена настройка "ИгнорироватьМодулиОбъектовПоставки", по-умолчанию установленная в значение `true`. Переключение в значение `false` позволит обрабатывать все файлы.

Пример заполнения конфигурационного файла:
```JSON
{
"Precommt4onecСценарии": {
"НастройкиСценариев": {
"ВставкаКопирайтов": {
"ИгнорироватьМодулиОбъектовПоставки": true,
"ПутьКФайлуКопирайта": "COPYRIGHT",
"ИсключаемыеТеги": [
"// IMPORT"
]
}
}
}
}
```
14 changes: 0 additions & 14 deletions docs/ДобавлениеТестовВРасширение.md

This file was deleted.

Loading