diff --git "a/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" "b/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" new file mode 100644 index 00000000..26e36b58 --- /dev/null +++ "b/features/\320\237\321\200\320\276\321\201\321\202\321\213\320\265\320\232\320\276\320\274\320\260\320\275\320\264\321\213.feature" @@ -0,0 +1,38 @@ +# language: ru + +Функциональность: Выполнение команды продукта + +Как разработчик +Я хочу иметь возможность выполнять команды продукта +Чтобы выполнять коллективную разработку приложения для OneScript + +Контекст: + Допустим Я очищаю параметры команды "oscript" в контексте + И я включаю отладку лога с именем "oscript.app.gitsync" + # И я включаю отладку лога с именем "bdd" + +Сценарий: Получение версии продукта + Когда Я выполняю команду "oscript" c параметрами "src/gitsync.os version" + Тогда Я сообщаю вывод команды "oscript" + И Вывод команды "oscript" содержит "2.1.1" + И Вывод команды "oscript" не содержит "GitSync v" + И Код возврата команды "oscript" равен 0 + +Сценарий: Получение помощи продукта + Когда Я выполняю команду "oscript" c параметрами "src/gitsync.os help" + Тогда Вывод команды "oscript" содержит + """ + GitSync v2.1.1 + Возможные команды: + """ + И Код возврата команды "oscript" равен 0 + +Сценарий: Вызов исполняемого файла без параметров + Когда Я выполняю команду "oscript" c параметрами "src/gitsync.os" + Тогда Вывод команды "oscript" содержит + """ + GitSync v2.1.1 + ОШИБКА - Некорректные аргументы командной строки + Возможные команды: + """ + И Код возврата команды "oscript" равен 5 diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\270.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\270.feature" new file mode 100644 index 00000000..cf2e9a86 --- /dev/null +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260\320\221\320\270\320\261\320\273\320\270\320\276\321\202\320\265\320\272\320\270.feature" @@ -0,0 +1,17 @@ +# language: ru + +Функционал: Проверка сборки продукта + Как Пользователь + Я хочу автоматически проверять сборку моего продукта + Чтобы гарантировать возможность установку моего продукта у пользователей + +Контекст: Отключение отладки в логах + Допустим Я выключаю отладку лога с именем "oscript.lib.gitsync" + И Я очищаю параметры команды "opm" в контексте + +Сценарий: Выполнение команды без параметров + Когда Я добавляю параметр "build ." для команды "opm" + И Я выполняю команду "opm" + Тогда Вывод команды "opm" содержит "Сборка пакета завершена" + И Вывод команды "opm" не содержит "Внешнее исключение" + И Код возврата команды "opm" равен 0 \ No newline at end of file diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Export.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Export.os" index 8a90cf1a..2bb48b9c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Export.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Export.os" @@ -27,6 +27,7 @@ Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-limit", "<выгрузить неболее limit версий от текущей выгруженной>"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-tempdir", "<Путь к каталогу временных файлов>"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl"); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-check-authors", "Проверка файла AUTHORS, на наличие всех авторов коммитов "); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений"); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); @@ -45,6 +46,7 @@ МаксВерсия = ПараметрыКоманды["-maxversion"]; Лимит = ПараметрыКоманды["-limit"]; ПереименовыватьФайлМодуляОбычнойФормы = ПараметрыКоманды["-process-fatform-modules"]; + ПроверитьАвторовХранилища = ПараметрыКоманды["-check-authors"]; ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; @@ -54,6 +56,12 @@ КонецЕсли; + Если ПроверитьАвторовХранилища = Неопределено Тогда + + ПроверитьАвторовХранилища = Ложь; + + КонецЕсли; + Если Формат = Неопределено Тогда Формат = РежимВыгрузкиФайлов.Авто; @@ -110,7 +118,8 @@ Лимит, ПрерватьВыполнениеБезКомментарияКВерсии, , - АвтоматическаяУстановкаТэговПоВерсиям); + АвтоматическаяУстановкаТэговПоВерсиям, + ПроверитьАвторовХранилища); ДополнительныеПараметры.Лог.Информация("Выгрузка завершена"); Возврат МенеджерКомандПриложения.РезультатыКоманд().Успех; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" index ae08aabc..0c513602 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" @@ -30,6 +30,7 @@ Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер"); Парсер.ДобавитьИменованныйПараметрКоманды(ОписаниеКоманды, "-amount-look-for-license", "<число> количество повторов получения лицензии (попытка подключения каждые 10 сек), 0 - без ограничений"); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl"); + Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-check-authors", "Проверка файла AUTHORS, на наличие всех авторов коммитов "); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлагКоманды (ОписаниеКоманды, "-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); @@ -49,6 +50,7 @@ Парсер.ДобавитьИменованныйПараметр("-tempdir", "<Путь к каталогу временных файлов>"); Парсер.ДобавитьИменованныйПараметр("-push-every-n-commits", "<число> количество коммитов до промежуточной отправки на удаленный сервер"); Парсер.ДобавитьПараметрФлаг ("-process-fatform-modules", "Переименовывать модули обычных форм в Module.bsl"); + Парсер.ДобавитьПараметрФлаг ("-check-authors", "Проверка файла AUTHORS, на наличие всех авторов коммитов "); Парсер.ДобавитьПараметрФлагКоманды("-stop-if-empty-comment", "Остановить, если Комментарий к версии пустой"); Парсер.ДобавитьПараметрФлагКоманды("-auto-set-tags", "Автоматическая установка тэгов по версия конфиграции"); @@ -72,6 +74,7 @@ Лимит = ПараметрыКоманды["-limit"]; КоличествоКоммитовДоPush = ПараметрыКоманды["-push-every-n-commits"]; ПереименовыватьФайлМодуляОбычнойФормы = ПараметрыКоманды["-process-fatform-modules"]; + ПроверитьАвторовХранилища = ПараметрыКоманды["-check-authors"]; ПрерватьВыполнениеБезКомментарияКВерсии = ПараметрыКоманды["-stop-if-empty-comment"]; АвтоматическаяУстановкаТэговПоВерсиям = ПараметрыКоманды["-auto-set-tags"]; @@ -81,6 +84,12 @@ КонецЕсли; + Если ПроверитьАвторовХранилища = Неопределено Тогда + + ПроверитьАвторовХранилища = Ложь; + + КонецЕсли; + Если КонечнаяВерсия = Неопределено Тогда КонечнаяВерсия = 0; @@ -145,6 +154,7 @@ Лог.Отладка("КонечнаяВерсия = " + КонечнаяВерсия); Лог.Отладка("Лимит = " + Лимит); Лог.Отладка("КоличествоКоммитовДоPush = " + КоличествоКоммитовДоPush); + Лог.Отладка("ПроверитьАвторовХранилища = " + ПроверитьАвторовХранилища); Распаковщик = РаспаковщикКонфигурации.ПолучитьРаспаковщик(ДополнительныеПараметры); Распаковщик.ВерсияПлатформы = ВерсияПлатформы; @@ -171,7 +181,8 @@ Лимит, ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, - АвтоматическаяУстановкаТэговПоВерсиям); + АвтоматическаяУстановкаТэговПоВерсиям, + ПроверитьАвторовХранилища); Лог.Информация("Отправка изменений на удаленный узел"); КодВозврата = Распаковщик.ВыполнитьGitPush(ЛокальныйКаталогГит, URLРепозитория, ИмяВетки, АвтоматическаяУстановкаТэговПоВерсиям); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" index 3af3fa10..bae987c0 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\241\320\270\320\275\321\205\321\200\320\276\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" @@ -633,17 +633,21 @@ // Прописывает в таблицы пользователей и версий информацию о git auth вида user // -Процедура ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(Знач ТаблицаХранилища, Знач КаталогРепо) Экспорт +Процедура ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(Знач ТаблицаХранилища, Знач КаталогРепо, Знач ПроверитьАвторовХранилища = Ложь) Экспорт ПутьКФайлуСопоставления = ОбъединитьПути(КаталогРепо, ИмяФайлаАвторов()); ТаблицаСопоставления = ПрочитатьФайлАвторовГитВТаблицуПользователей(ПутьКФайлуСопоставления); - + МассивСообщенийОбОшибочныхАвторах = Новый Массив; Для Каждого Строка Из ТаблицаХранилища Цикл СтрокаПользователя = ТаблицаСопоставления.Найти(строка.Автор, "Автор"); Если СтрокаПользователя = Неопределено Тогда - СтрокаСообщения = "Пользователю хранилища <%1> не сопоставлен пользователь git. Использую сопоставление по умолчанию"; - Лог.Отладка(СтроковыеФункции.ПодставитьПараметрыВСтроку(СтрокаСообщения, строка.Автор)); + + СтрокаСообщения = СтрШаблон("Пользователю хранилища <%1> не сопоставлен пользователь git.",строка.Автор); + Если ПроверитьАвторовХранилища Тогда + МассивСообщенийОбОшибочныхАвторах.Добавить(СтрокаСообщения); + КонецЕсли; + Лог.Отладка(СтрокаСообщения + " Использую сопоставление по умолчанию"); ПредставлениеАвтора = СтроковыеФункции.ПодставитьПараметрыВСтроку("%1 <%1@%2>", строка.Автор, Строка(ДоменПочтыДляGit())); Иначе ПредставлениеАвтора = строкаПользователя.ПредставлениеАвтора; @@ -653,6 +657,15 @@ КонецЦикла; + Если МассивСообщенийОбОшибочныхАвторах.Количество() > 1 Тогда + Для каждого СообщениеМассива Из МассивСообщенийОбОшибочныхАвторах Цикл + Лог.КритическаяОшибка(СообщениеМассива); + КонецЦикла; + + ВызватьИсключение СтрШаблон("В таблице истории версий найдены авторы (количество %1), которые не сопоставлены в AUTHORS",МассивСообщенийОбОшибочныхАвторах.Количество()); + + КонецЕсли; + КонецПроцедуры Функция КонвертироватьТаблицуВерсийИзФорматаБД(Знач ТаблицаБД) @@ -882,14 +895,16 @@ Знач Формат = Неопределено, Знач КоличествоКоммитовДоPush = 0, Знач URLРепозитория = Неопределено, + Знач Лимит = 0, Знач ПрерватьВыполнениеБезКомментарияКВерсии = Ложь, Знач ИмяВетки = Неопределено, - Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь) Экспорт + Знач АвтоматическаяУстановкаТэговПоВерсиям = Ложь, + Знач ПроверитьАвторовХранилища = Ложь) Экспорт Лог.Информация("Начало синхронизации с git"); ТаблицаИсторииХранилища = ПрочитатьИзХранилищаИсториюКоммитовСАвторами(ФайлХранилища); - ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии); + ДополнитьТаблицуХранилищаИнформациейОСигнатуреПользователяВГит(ТаблицаИсторииХранилища, КаталогРабочейКопии, ПроверитьАвторовХранилища); ТекущаяВерсия = НомерСинхронизированнойВерсии(КаталогРабочейКопии); Лог.Информация("Номер синхронизированной версии: " + ТекущаяВерсия); diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" index ad18bbfa..1c57fe18 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\241\320\270\321\201\321\202\320\265\320\274\321\213.os" @@ -7,16 +7,27 @@ // /////////////////////////////////////////////////////////////////// -// ИмяЛогаСистемы +// ИмяПродукта +// Возвращает имя продукта +// +// Возвращаемое значение: +// Строка - Значение имени продукта +// +Функция ИмяПродукта() Экспорт + + Возврат "GitSync"; + +КонецФункции // ИмяПродукта + // Возвращает идентификатор лога приложения // // Возвращаемое значение: // Строка - Значение идентификатора лога приложения // Функция ИмяЛогаСистемы() Экспорт - - Возврат "oscript.app.gitsync"; - + + Возврат "oscript.app." + ИмяПродукта(); + КонецФункции // ИмяЛогаСистемы // ВерсияПродукта @@ -34,18 +45,29 @@ Процедура ПриРегистрацииКомандПриложения(Знач КлассыРеализацииКоманд) Экспорт КлассыРеализацииКоманд["help"] = "КомандаСправкаПоПараметрам"; + КлассыРеализацииКоманд[ИмяКомандыВерсия()] = "КомандаVersion"; КлассыРеализацииКоманд["clone"] = "КомандаClone"; КлассыРеализацииКоманд["init"] = "КомандаInit"; КлассыРеализацииКоманд["set-version"] = "КомандаSetVersion"; КлассыРеализацииКоманд["all"] = "КомандаAll"; КлассыРеализацииКоманд["export"] = "КомандаExport"; КлассыРеализацииКоманд["sync"] = "КомандаSync"; - КлассыРеализацииКоманд["version"] = "КомандаVersion"; - + КонецПроцедуры // ПриРегистрацииКомандПриложения Функция ИмяКомандыПоУмолчанию() Экспорт Возврат "sync"; -КонецФункции // ИмяКомандыПоУмолчанию \ No newline at end of file +КонецФункции // ИмяКомандыПоУмолчанию + +// Возвращает имя команды версия (ключ командной строки) +// +// Возвращаемое значение: +// Строка - имя команды +// +Функция ИмяКомандыВерсия() Экспорт + + Возврат "version"; + +КонецФункции // ИмяКомандыВерсия diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" index 2f0e203b..39592cb5 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\321\201\320\277\320\260\320\272\320\276\320\262\321\211\320\270\320\272\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" @@ -81,7 +81,8 @@ Знач Лимит = 0, Знач ПрерватьВыполнениеБезКомментарияКВерсии, Знач ИмяВетки = Неопределено, - Знач АвтоматическаяУстановкаТэговПоВерсиям) Экспорт + Знач АвтоматическаяУстановкаТэговПоВерсиям, + Знач ПроверитьАвторовХранилища = Ложь) Экспорт ФайлБазыДанныхХранилища = ПолучитьПутьКБазеДанныхХранилища(ПутьКХранилищу); Распаковщик.СинхронизироватьХранилищеКонфигурацийСГит(ЛокальныйКаталогГит, @@ -94,7 +95,8 @@ Лимит, ПрерватьВыполнениеБезКомментарияКВерсии, ИмяВетки, - АвтоматическаяУстановкаТэговПоВерсиям); + АвтоматическаяУстановкаТэговПоВерсиям, + ПроверитьАвторовХранилища); КонецПроцедуры // ВыполнитьЭкспортИсходников diff --git a/src/gitsync.os b/src/gitsync.os index 1cd12715..eb8d9f6e 100644 --- a/src/gitsync.os +++ b/src/gitsync.os @@ -12,44 +12,22 @@ #Использовать "core" -/////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// Перем Лог; -/////////////////////////////////////////////////////////////////// - -Процедура ВывестиВерсию() - - Сообщить("GitSync v" + ПараметрыСистемы.ВерсияПродукта()); - -КонецПроцедуры // ВывестиВерсию() - -Функция РазобратьАргументыКоманднойСтроки() - - Парсер = ПолучитьПарсерКоманднойСтроки(); - Возврат Парсер.Разобрать(АргументыКоманднойСтроки); - -КонецФункции // РазобратьАргументыКоманднойСтроки - -Функция ПолучитьПарсерКоманднойСтроки() - - Парсер = Новый ПарсерАргументовКоманднойСтроки(); - МенеджерКомандПриложения.ЗарегистрироватьКоманды(Парсер); - - Возврат Парсер; - -КонецФункции // ПолучитьПарсерКоманднойСтроки +/////////////////////////////////////////////////////////////////////////////// Функция ВыполнениеКоманды() - ВывестиВерсию(); ПараметрыЗапуска = РазобратьАргументыКоманднойСтроки(); Если ПараметрыЗапуска = Неопределено ИЛИ ПараметрыЗапуска.Количество() = 0 Тогда + ВывестиВерсию(); Лог.Ошибка("Некорректные аргументы командной строки"); МенеджерКомандПриложения.ПоказатьСправкуПоКомандам(); - Возврат МенеджерКомандПриложения.РезультатыКоманд().ОшибкаВремениВыполнения; + Возврат МенеджерКомандПриложения.РезультатыКоманд().НеверныеПараметры; КонецЕсли; @@ -61,12 +39,14 @@ // это команда Команда = ПараметрыЗапуска.Команда; ЗначенияПараметров = ПараметрыЗапуска.ЗначенияПараметров; + Лог.Отладка("Выполняю команду продукта %1", Команда); ИначеЕсли ЗначениеЗаполнено(ПараметрыСистемы.ИмяКомандыПоУмолчанию()) Тогда // это команда по-умолчанию Команда = ПараметрыСистемы.ИмяКомандыПоУмолчанию(); ЗначенияПараметров = ПараметрыЗапуска; + Лог.Отладка("Выполняю команду продукта по умолчанию %1", Команда); Иначе @@ -74,22 +54,53 @@ КонецЕсли; + Если Команда <> ПараметрыСистемы.ИмяКомандыВерсия() Тогда + + ВывестиВерсию(); + + КонецЕсли; + Возврат МенеджерКомандПриложения.ВыполнитьКоманду(Команда, ЗначенияПараметров); КонецФункции // ВыполнениеКоманды() +/////////////////////////////////////////////////////////////////////////////// + +Процедура ВывестиВерсию() + + Сообщить(СтрШаблон("%1 v%2", ПараметрыСистемы.ИмяПродукта(), ПараметрыСистемы.ВерсияПродукта())); + +КонецПроцедуры // ВывестиВерсию + +Функция ПолучитьПарсерКоманднойСтроки() + + Парсер = Новый ПарсерАргументовКоманднойСтроки(); + МенеджерКомандПриложения.ЗарегистрироватьКоманды(Парсер); + + Возврат Парсер; + +КонецФункции // ПолучитьПарсерКоманднойСтроки + +Функция РазобратьАргументыКоманднойСтроки() + + Парсер = ПолучитьПарсерКоманднойСтроки(); + Возврат Парсер.Разобрать(АргументыКоманднойСтроки); + +КонецФункции // РазобратьАргументыКоманднойСтроки + /////////////////////////////////////////////////////////////////// Лог = Логирование.ПолучитьЛог(ПараметрыСистемы.ИмяЛогаСистемы()); МенеджерКомандПриложения.РегистраторКоманд(ПараметрыСистемы); Попытка - + ЗавершитьРаботу(ВыполнениеКоманды()); - + Исключение - + Лог.КритичнаяОшибка(ОписаниеОшибки()); ЗавершитьРаботу(МенеджерКомандПриложения.РезультатыКоманд().ОшибкаВремениВыполнения); - + КонецПопытки; + diff --git a/src/xml-config.os b/src/xml-config.os index 7ad4fe2c..18b2c1c2 100644 --- a/src/xml-config.os +++ b/src/xml-config.os @@ -96,6 +96,8 @@ Ключ = "ПутьGit"; ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда Ключ = "КоличествоКоммитовДоPush"; + ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда + Ключ = "ПроверитьАвторовХранилища"; ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии"; ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда