|
5 | 5 | Перем КомандыПлагина;
|
6 | 6 | Перем ВызватьОшибку;
|
7 | 7 | Перем ПрефиксЗадачи;
|
| 8 | +Перем ПаттернЗадачи; |
8 | 9 | Перем МинимальноеКоличествоЗадач;
|
9 | 10 | Перем МаксимальноеКоличествоЗадач;
|
10 | 11 | Перем ВыводитьПредставление;
|
|
85 | 86 | КлассРеализации.Опция("task-prefix", "", "[*check-comments] Префикс задачи.")
|
86 | 87 | .ВОкружении("GITSYNC_TASK_PREFIX")
|
87 | 88 | .Обязательный(Ложь);
|
| 89 | + |
| 90 | + КлассРеализации.Опция("task-pattern", "", "[*check-comments] Паттерн задачи.") |
| 91 | + .ВОкружении("GITSYNC_TASK_PATTERN") |
| 92 | + .Обязательный(Ложь); |
88 | 93 |
|
89 | 94 | КлассРеализации.Опция("min-task-count", 0, СтрШаблон("[*check-comments] Минимальное количество упоминаний задач"))
|
90 | 95 | .ТЧисло()
|
|
114 | 119 |
|
115 | 120 | ПрефиксЗадачи = ПараметрыКоманды.Параметр("task-prefix", "");
|
116 | 121 | Лог.Отладка("Получаю параметр <task-prefix> значение <%1>", ПрефиксЗадачи);
|
| 122 | + |
| 123 | + ПаттернЗадачи = ПараметрыКоманды.Параметр("task-pattern", ""); |
| 124 | + Лог.Отладка("Получаю параметр <task-pattern> значение <%1>", ПаттернЗадачи); |
117 | 125 |
|
118 | 126 | МинимальноеКоличествоЗадач = ПараметрыКоманды.Параметр("min-task-count", 0);
|
119 | 127 | Лог.Отладка("Получаю параметр <min-task-count> значение <%1>", МинимальноеКоличествоЗадач);
|
|
159 | 167 |
|
160 | 168 | Процедура ПроверитьКомментарийНаНаличиеУпоминанийЗадач(СтрокаВерсии, СледующаяВерсия)
|
161 | 169 |
|
162 |
| - Если ПустаяСтрока(ПрефиксЗадачи) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда |
| 170 | + Если (ПустаяСтрока(ПрефиксЗадачи) и ПустаяСтрока(ПаттернЗадачи)) Или ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда |
163 | 171 | Возврат;
|
164 | 172 | КонецЕсли;
|
165 | 173 |
|
166 |
| - РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d")); |
| 174 | + Если НЕ ПустаяСтрока(ПаттернЗадачи) Тогда |
| 175 | + РВ = Новый РегулярноеВыражение(ПаттернЗадачи); |
| 176 | + ИспользуемыйШаблон = "соответствующих паттерну """ + ПаттернЗадачи + """"; |
| 177 | + Иначе |
| 178 | + РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d")); |
| 179 | + ИспользуемыйШаблон = ПрефиксЗадачи; |
| 180 | + КонецЕсли; |
| 181 | + |
167 | 182 | Совпадения = РВ.НайтиСовпадения(СтрокаВерсии.Комментарий);
|
168 | 183 | КоличествоВхождений = Совпадения.количество();
|
169 | 184 |
|
170 | 185 | Если КоличествоВхождений < МинимальноеКоличествоЗадач Тогда
|
171 | 186 | СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) меньше требуемого (%5)",
|
172 | 187 | СледующаяВерсия,
|
173 |
| - Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МинимальноеКоличествоЗадач); |
| 188 | + Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МинимальноеКоличествоЗадач); |
174 | 189 |
|
175 | 190 | Лог.КритичнаяОшибка(СтрокаОшибки);
|
176 | 191 |
|
|
185 | 200 | Если КоличествоВхождений > МаксимальноеКоличествоЗадач Тогда
|
186 | 201 | СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: количество упоминаний задач %3 (%4) больше требуемого (%5)",
|
187 | 202 | СледующаяВерсия,
|
188 |
| - Автор(СтрокаВерсии), ПрефиксЗадачи, КоличествоВхождений, МаксимальноеКоличествоЗадач); |
| 203 | + Автор(СтрокаВерсии), ИспользуемыйШаблон, КоличествоВхождений, МаксимальноеКоличествоЗадач); |
189 | 204 |
|
190 | 205 | Лог.КритичнаяОшибка(СтрокаОшибки);
|
191 | 206 |
|
|
0 commit comments