Skip to content

Расширение возможностей CheckComments, правки опечаток #18

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 3, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 83 additions & 10 deletions src/Классы/checkComments.os
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@
Перем Лог;
Перем КомандыПлагина;
Перем ВызватьОшибку;
Перем ПрефиксЗадачи;
Перем МинимальноеКоличествоЗадач;
Перем МаксимальноеКоличествоЗадач;

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

Expand Down Expand Up @@ -67,7 +70,7 @@

Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт

Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды);
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды);
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда
Возврат;
КонецЕсли;
Expand All @@ -77,36 +80,106 @@
КлассРеализации.Опция("C error-comment", Ложь, "[*check-comments] флаг вызова ошибки при отсутствии текста комментария")
.Флаговый();

КлассРеализации.Опция("task-prefix", "", "[*check-comments] Префикс задачи.")
.ВОкружении("GITSYNC_TASK_PREFIX")
.Обязательный(Ложь);

КлассРеализации.Опция("min-task-count", 0, СтрШаблон("[*check-comments] Минимальное количество упоминаний задач"))
.ТЧисло()
.Обязательный(Ложь);

КлассРеализации.Опция("max-task-count", 0, СтрШаблон("[*check-comments] Максимальное количество упоминаний задач"))
.ТЧисло()
.Обязательный(Ложь);

КонецПроцедуры

Процедура ПриПолученииПараметров(ПараметрыКоманды) Экспорт

ВызватьОшибку = ПараметрыКоманды.Параметр("error-comment", Ложь);

ВызватьОшибку = Булево(ВызватьОшибку);

Лог.Отладка("Получаю параметр <error-comment> значение <%1>", ВызватьОшибку);


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

МинимальноеКоличествоЗадач = ПараметрыКоманды.Параметр("min-task-count", 0);
Лог.Отладка("Получаю параметр <min-task-count> значение <%1>", МинимальноеКоличествоЗадач);

МаксимальноеКоличествоЗадач = ПараметрыКоманды.Параметр("max-task-count", 0);
Лог.Отладка("Получаю параметр <max-task-count> значение <%1>", МаксимальноеКоличествоЗадач);

КонецПроцедуры

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

Если ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда
СтрокаОшибки = СтрШаблон("Нашли следующую версию <%1> от автора <%2>, а комментарий не задан!",
СледующаяВерсия,
СтрокаВерсии.Автор);
Лог.КритичнаяОшибка(СтрокаОшибки);
ПроверитьЗаполненностьКомментария(СтрокаВерсии, СледующаяВерсия);

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

КонецПроцедуры

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

Если Не ПустаяСтрока(СтрокаВерсии.Комментарий) Тогда
Возврат;
КонецЕсли;

СтрокаОшибки = СтрШаблон("Версия <%1> от автора <%2>: комментарий не задан",
СледующаяВерсия,
СтрокаВерсии.Автор);
Лог.КритичнаяОшибка(СтрокаОшибки);

Если ВызватьОшибку Тогда

ВызватьИсключение СтрокаОшибки;

КонецЕсли;

КонецПроцедуры

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

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

РВ = Новый РегулярноеВыражение(СтрШаблон("%1-%2", ПрефиксЗадачи, "\d"));
Совпадения = РВ.НайтиСовпадения(СтрокаВерсии.Комментарий);
КоличествоВхождений = Совпадения.количество();

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

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

Если ВызватьОшибку Тогда

ВызватьИсключение СтрокаОшибки;

КонецЕсли;

КонецЕсли;

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

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

Если ВызватьОшибку Тогда

КонецПроцедуры
ВызватьИсключение СтрокаОшибки;

КонецЕсли;

КонецЕсли;

КонецПроцедуры
#КонецОбласти

Процедура Инициализация()
Expand Down
2 changes: 1 addition & 1 deletion src/Классы/increment.os
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
КаталогРабочейКопии,
?(ТекущийФайлВерсийМетаданных.Существует(), "существует", "отсутствует"));

Лог.Отладка("Проверяю возможность обновление выгрузки для файла <%1>", ПутьКФайлуВерсийМетаданных);
Лог.Отладка("Проверяю возможность обновления выгрузки для файла <%1>", ПутьКФайлуВерсийМетаданных);

ВыгрузкаИзмененийВозможна = ТекущийФайлВерсийМетаданных.Существует()
И ПроверитьВозможностьОбновленияФайловВыгрузки(Конфигуратор, КаталогВыгрузки, ПутьКФайлуВерсийМетаданных);
Expand Down
2 changes: 1 addition & 1 deletion src/Классы/limit.os
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@

Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт

Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды);
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды);
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда
Возврат;
КонецЕсли;
Expand Down
6 changes: 3 additions & 3 deletions src/Классы/smartTags.os
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
// Строка - описание функциональности плагина
//
Функция Описание() Экспорт
Возврат "Плагин добавляет функциональность автоматической расстановки метов в git";
Возврат "Плагин добавляет функциональность автоматической расстановки меток в git";
КонецФункции

// Возвращает подробную справку к плагину
Expand Down Expand Up @@ -76,7 +76,7 @@

Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт

Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды);
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды);
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда
Возврат;
КонецЕсли;
Expand Down Expand Up @@ -178,7 +178,7 @@

ФайлКонфигурации = Новый Файл(ОбъединитьПути(КаталогИсходныхФайлов, "Configuration.xml"));
Если Не ФайлКонфигурации.Существует() Тогда
ВызватьИсключение СтрШаблон("Файл <%1> не найдет у указанном каталоге.", ФайлКонфигурации.ПолноеИмя);
ВызватьИсключение СтрШаблон("Файл <%1> не найден у указанном каталоге.", ФайлКонфигурации.ПолноеИмя);
КонецЕсли;

ПараметрыКонфигурации = Новый Структура;
Expand Down
6 changes: 3 additions & 3 deletions src/Классы/syncRemote.os
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@

Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт

Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды);
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды);
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда
Возврат;
КонецЕсли;
Expand Down Expand Up @@ -135,8 +135,8 @@
КоличествоКоммитовДоPush = ПараметрыКоманды.Параметр("push-n-commits", 0);

Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения);
Лог.Отладка("Установлена получение изменений <%1> ", ОтправитьИзменения);
Лог.Отладка("Установлено количество коммитов <%1> после, которых осущевствляется отправка", КоличествоКоммитовДоPush);
Лог.Отладка("Установлено получение изменений <%1> ", ОтправитьИзменения);
Лог.Отладка("Установлено количество коммитов <%1> после, которых осуществляется отправка", КоличествоКоммитовДоPush);
Лог.Отладка("Установлен флаг оправки меток в значение <%1> выгрузки версий", ОтправлятьТеги);

КонецПроцедуры
Expand Down
18 changes: 9 additions & 9 deletions src/Классы/tool1CD.os
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Перем Лог;
Перем Обработчик;
Перем КоличествоЦикловОжиданияЛицензии;
Перем КэшПроверкиПутиКХранилищю;
Перем КэшПроверкиПутиКХранилищу;
Перем ЭтоХранилищеРасширения;

#Область Интерфейс_плагина
Expand Down Expand Up @@ -91,7 +91,7 @@

Процедура ПриЗагрузкеВерсииХранилищаВКонфигурацию(Конфигуратор, КаталогРабочейКопии, ПутьКХранилищу, НомерВерсии, СтандартнаяОбработка) Экспорт

Если НЕ ПроверитьПутьКХранилищю(ПутьКХранилищу) Тогда
Если НЕ ПроверитьПутьКХранилищу(ПутьКХранилищу) Тогда
Возврат;
КонецЕсли;

Expand Down Expand Up @@ -151,7 +151,7 @@

Процедура ПриПолученииТаблицыВерсий(ТаблицаВерсий, ПутьКХранилищу, НачальнаяВерсия, СтандартнаяОбработка) Экспорт

Если НЕ ПроверитьПутьКХранилищю(ПутьКХранилищу) Тогда
Если НЕ ПроверитьПутьКХранилищу(ПутьКХранилищу) Тогда
Возврат;
КонецЕсли;

Expand Down Expand Up @@ -198,7 +198,7 @@
//
Процедура ПриПолученииТаблицыПользователей(ТаблицаПользователей, ПутьКХранилищу, СтандартнаяОбработка) Экспорт

Если НЕ ПроверитьПутьКХранилищю(ПутьКХранилищу) Тогда
Если НЕ ПроверитьПутьКХранилищу(ПутьКХранилищу) Тогда
Возврат;
КонецЕсли;

Expand Down Expand Up @@ -274,15 +274,15 @@

КонецФункции

Функция ПроверитьПутьКХранилищю(Знач ПутьКХранилищу)
Функция ПроверитьПутьКХранилищу(Знач ПутьКХранилищу)

Результат = КэшПроверкиПутиКХранилищю[ПутьКХранилищу];
Результат = КэшПроверкиПутиКХранилищу[ПутьКХранилищу];

Если Результат = Неопределено Тогда

Если СтрНачинаетсяС(ВРег(ПутьКХранилищу), "TCP:")
ИЛИ СтрНачинаетсяС(ВРег(ПутьКХранилищу), "HTTP") Тогда
КэшПроверкиПутиКХранилищю.Вставить(ПутьКХранилищу, Ложь);
КэшПроверкиПутиКХранилищу.Вставить(ПутьКХранилищу, Ложь);
Возврат Ложь;
КонецЕсли;

Expand All @@ -304,7 +304,7 @@

КонецЕсли;

КэшПроверкиПутиКХранилищю.Вставить(ПутьКХранилищу, Результат);
КэшПроверкиПутиКХранилищу.Вставить(ПутьКХранилищу, Результат);

Если Результат Тогда
Лог.Информация("Использую tool1CD для работы с хранилищем");
Expand Down Expand Up @@ -361,7 +361,7 @@
КомандыПлагина.Добавить("clone");
КомандыПлагина.Добавить("init");

КэшПроверкиПутиКХранилищю = Новый Соответствие;
КэшПроверкиПутиКХранилищу = Новый Соответствие;
ЭтоХранилищеРасширения = Ложь;

КонецПроцедуры
Expand Down
2 changes: 1 addition & 1 deletion src/Классы/unpackForm.os
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@

Процедура ПриРегистрацииКомандыПриложения(ИмяКоманды, КлассРеализации) Экспорт

Лог.Отладка("Ищю команду <%1> в списке поддерживаемых", ИмяКоманды);
Лог.Отладка("Ищу команду <%1> в списке поддерживаемых", ИмяКоманды);
Если КомандыПлагина.Найти(ИмяКоманды) = Неопределено Тогда
Возврат;
КонецЕсли;
Expand Down