Skip to content

Commit 08202be

Browse files
committed
Merge branch 'develop'
2 parents 99832f1 + 3ec7acb commit 08202be

17 files changed

+1181
-70
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
1. `tool1CD` - заменяет использование штатных механизмов 1С на приложение `tool1CD` при синхронизации
1313
1. `disable-support` - снимает конфигурацию с поддержки перед выгрузкой в исходники
1414
1. `edtExport` - добавляет функциональность выгрузки в формате `1C:EDT`
15+
1. `use-ibcmd` - включает использование утилиты управления автономным сервером `ibcmd` для выгрузки конфигурации/расширения в файлы
16+
1. `drop-config-dump` - удаляет файл дампа состояний объектов конфигурации `ConfigDumpInfo.xml` перед/после выгрузки в исходники
17+
1. `drop-support` - снимает конфигурацию с поддержки после выгрузки конфигурации в исходники (удаляет файлы конфигураций поставщика `./Ext/ParentConfigurations/*.cf` и очищает информацию о поддержке в файле `./Ext/ParentConfigurations.bin`)конфигуратора.
1518

1619
## Доработка
1720

bin/v8unpack/v8unpack.exe

64 KB
Binary file not shown.

bin/v8unpack/zlib1.dll

58.5 KB
Binary file not shown.

packagedef

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,20 @@
66

77
ФС.ОбеспечитьПустойКаталог(ОбъединитьПути(РабочийКаталог, "oscript_modules"));
88

9-
//Лог.Информация("Установка локальных зависимостей библиотек");
9+
Сообщить("Запаковка бинарных данных библиотек");
10+
КомандаOpm = Новый Команда;
11+
12+
КомандаOpm.УстановитьКоманду("opm");
13+
КомандаOpm.ДобавитьПараметр("run packdata ");
14+
КомандаOpm.ДобавитьЛогВыводаКоманды("task.build");
15+
16+
КодВозврата = КомандаOpm.Исполнить();
17+
18+
Если КодВозврата <> 0 Тогда
19+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
20+
КонецЕсли;
21+
22+
Сообщить("Установка локальных зависимостей библиотек");
1023
КомандаOpm = Новый Команда;
1124

1225
КомандаOpm.УстановитьКоманду("opm");
@@ -16,7 +29,7 @@
1629
КодВозврата = КомандаOpm.Исполнить();
1730

1831
Если КодВозврата <> 0 Тогда
19-
ВызватьИсключение КомандаOpm.ПолучитьВывод();
32+
ВызватьИсключение КомандаOpm.ПолучитьВывод();
2033
КонецЕсли;
2134

2235
КонецПроцедуры
@@ -42,4 +55,7 @@
4255
.ОпределяетКласс("Плагин_СинхронизацииСУдаленнымРепозиторием", "src/Классы/syncRemote.os")
4356
.ОпределяетКласс("Плагин_ВыгрузкаВФорматеEDT", "src/Классы/edtExport.os")
4457
.ОпределяетКласс("Плагин_ЗаменаАвторов", "src/Классы/replaceAuthors.os")
58+
.ОпределяетКласс("Плагин_Ibcmd", "src/Классы/useIbcmd.os")
59+
.ОпределяетКласс("Плагин_DropConfigDump", "src/Классы/dropConfigDump.os")
60+
.ОпределяетКласс("Плагин_DropSupport", "src/Классы/dropSupport.os")
4561
;

src/Классы/checkComments.os

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
Перем КомандыПлагина;
66
Перем ВызватьОшибку;
77
Перем ПрефиксЗадачи;
8+
Перем ПаттернЗадачи;
89
Перем МинимальноеКоличествоЗадач;
910
Перем МаксимальноеКоличествоЗадач;
1011
Перем ВыводитьПредставление;
12+
Перем ИсправлятьКавычки;
1113

1214
#Область Интерфейс_плагина
1315

@@ -84,6 +86,10 @@
8486
КлассРеализации.Опция("task-prefix", "", "[*check-comments] Префикс задачи.")
8587
.ВОкружении("GITSYNC_TASK_PREFIX")
8688
.Обязательный(Ложь);
89+
90+
КлассРеализации.Опция("task-pattern", "", "[*check-comments] Паттерн задачи.")
91+
.ВОкружении("GITSYNC_TASK_PATTERN")
92+
.Обязательный(Ложь);
8793

8894
КлассРеализации.Опция("min-task-count", 0, СтрШаблон("[*check-comments] Минимальное количество упоминаний задач"))
8995
.ТЧисло()
@@ -98,6 +104,10 @@
98104
.ВОкружении("GITSYNC_AUTHOR_PRESENTATION")
99105
.Обязательный(Ложь);
100106

107+
КлассРеализации.Опция("repair-quotes", Ложь, "[*check-comments] Флаг замены всех символов кавычек на корректные.")
108+
.Флаг()
109+
.ВОкружении("GITSYNC_REPAIR_QUOTES")
110+
.Обязательный(Ложь);
101111
КонецПроцедуры
102112

103113
Процедура ПриПолученииПараметров(ПараметрыКоманды) Экспорт
@@ -109,6 +119,9 @@
109119

110120
ПрефиксЗадачи = ПараметрыКоманды.Параметр("task-prefix", "");
111121
Лог.Отладка("Получаю параметр <task-prefix> значение <%1>", ПрефиксЗадачи);
122+
123+
ПаттернЗадачи = ПараметрыКоманды.Параметр("task-pattern", "");
124+
Лог.Отладка("Получаю параметр <task-pattern> значение <%1>", ПаттернЗадачи);
112125

113126
МинимальноеКоличествоЗадач = ПараметрыКоманды.Параметр("min-task-count", 0);
114127
Лог.Отладка("Получаю параметр <min-task-count> значение <%1>", МинимальноеКоличествоЗадач);
@@ -119,14 +132,19 @@
119132
ВыводитьПредставление = ПараметрыКоманды.Параметр("author-presentation", Ложь);
120133
Лог.Отладка("Получаю параметр <author-presentation> значение <%1>", ВыводитьПредставление);
121134

135+
ИсправлятьКавычки = Булево(ПараметрыКоманды.Параметр("repair-quotes", Ложь));
136+
Лог.Отладка("Получаю параметр <repair-quotes> значение <%1>", ИсправлятьКавычки);
137+
122138
КонецПроцедуры
123139

124140
Процедура ПередОбработкойВерсииХранилища(СтрокаВерсии, СледующаяВерсия) Экспорт
125141

126142
ПроверитьЗаполненностьКомментария(СтрокаВерсии, СледующаяВерсия);
127143

128144
ПроверитьКомментарийНаНаличиеУпоминанийЗадач(СтрокаВерсии, СледующаяВерсия);
129-
145+
146+
ИсправитьКавычки(СтрокаВерсии);
147+
130148
КонецПроцедуры
131149

132150
Процедура ПроверитьЗаполненностьКомментария(СтрокаВерсии, СледующаяВерсия)
@@ -149,18 +167,25 @@
149167

150168
Процедура ПроверитьКомментарийНаНаличиеУпоминанийЗадач(СтрокаВерсии, СледующаяВерсия)
151169

152-
Если ПустаяСтрока(ПрефиксЗадачи) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда
170+
Если (ПустаяСтрока(ПрефиксЗадачи) и ПустаяСтрока(ПаттернЗадачи)) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда
153171
Возврат;
154172
КонецЕсли;
155173

156-
РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d"));
174+
Если НЕ ПустаяСтрока(ПаттернЗадачи) Тогда
175+
РВ = Новый РегулярноеВыражение(ПаттернЗадачи);
176+
ИспользуемыйШаблон = "соответствующих паттерну """ + ПаттернЗадачи + """";
177+
Иначе
178+
РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d"));
179+
ИспользуемыйШаблон = ПрефиксЗадачи;
180+
КонецЕсли;
181+
157182
Совпадения = РВ.НайтиСовпадения(СтрокаВерсии.Комментарий);
158183
КоличествоВхождений = Совпадения.количество();
159184

160185
Если КоличествоВхождений < МинимальноеКоличествоЗадач Тогда
161186
СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) меньше требуемого (%5)",
162187
СледующаяВерсия,
163-
Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МинимальноеКоличествоЗадач);
188+
Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МинимальноеКоличествоЗадач);
164189

165190
Лог.КритичнаяОшибка(СтрокаОшибки);
166191

@@ -175,7 +200,7 @@
175200
Если КоличествоВхождений > МаксимальноеКоличествоЗадач Тогда
176201
СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) больше требуемого (%5)",
177202
СледующаяВерсия,
178-
Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МаксимальноеКоличествоЗадач);
203+
Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МаксимальноеКоличествоЗадач);
179204

180205
Лог.КритичнаяОшибка(СтрокаОшибки);
181206

@@ -188,6 +213,29 @@
188213
КонецЕсли;
189214

190215
КонецПроцедуры
216+
217+
Процедура ИсправитьКавычки(СтрокаВерсии)
218+
219+
Лог.Отладка("Исправлять кавычки в комментарии: <%1>", ИсправлятьКавычки);
220+
221+
Если Не ИсправлятьКавычки Тогда
222+
Возврат;
223+
КонецЕсли;
224+
225+
ХорошаяКавычка = """";
226+
227+
ПлохиеКавычки = Новый Массив;
228+
ПлохиеКавычки.Добавить(Символ(8220));
229+
ПлохиеКавычки.Добавить(Символ(8221));
230+
ПлохиеКавычки.Добавить(Символ(171));
231+
ПлохиеКавычки.Добавить(Символ(187));
232+
233+
Для Каждого ПлохаяКавычка Из ПлохиеКавычки Цикл
234+
СтрокаВерсии.Комментарий = СтрЗаменить(СтрокаВерсии.Комментарий, ПлохаяКавычка, ХорошаяКавычка);
235+
КонецЦикла;
236+
237+
КонецПроцедуры
238+
191239
#КонецОбласти
192240

193241
#Область СлужебныеПроцедурыИФункции

0 commit comments

Comments
 (0)