1
0
mirror of https://github.com/bia-technologies/precommit4onec.git synced 2025-02-13 13:48:32 +02:00

Добавил использование локальных настроек репозитория

This commit is contained in:
Maxmov Valery 2017-12-06 17:04:11 +03:00
parent 18ba87b9ae
commit 684a0942f5
3 changed files with 48 additions and 32 deletions

View File

@ -15,7 +15,7 @@
// Добавление параметров команды
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-global", "Работа с глобальными настройками.");
// TODO: пока оция не используется Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-rep-path", "Каталог репозитория, настройки которого интересуют.");
Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-rep-path", "Каталог репозитория, настройки которого интересуют.");
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-reset", "Сброс настроек на значения по умолчанию. Если редактируются настройки репозитория, то происходит удаление файла настроек.");
Парсер.ДобавитьПараметрФлагКоманды(Команда, "-config", "Интерактивное конфигурирование настроек.");
@ -30,11 +30,10 @@
Функция ВыполнитьКоманду(Знач ПараметрыКоманды, Знач Приложение) Экспорт
Лог = Приложение.ПолучитьЛог();
Если НЕ ПараметрыКоманды["-global"] Тогда
// TODO: Пока не используется И НЕ ЗначениеЗаполнено(ПараметрыКоманды["-rep-path"]) Тогда
Если НЕ ПараметрыКоманды["-global"]
И НЕ ЗначениеЗаполнено(ПараметрыКоманды["-rep-path"]) Тогда
// TODO: пока не используется Лог.Ошибка("Для конфгурирования необходимо передать флаг -global или указать каталог репозитория параметром -rep-path");
Лог.Ошибка("Для конфгурирования необходимо передать флаг -global");
Лог.Ошибка("Для конфгурирования необходимо передать флаг -global или указать каталог репозитория параметром -rep-path");
Возврат Приложение.РезультатыКоманд().НеверныеПараметры;
КонецЕсли;
@ -163,42 +162,48 @@
Процедура ИнтерактивнаяНастройка(КаталогРепозитория, УправлениеНастройками, ГлобальныеНастройки, КаталогГлобальныхСценариев)
ИмяПриложения = "Precommt4onecСценарии";
Сообщить("Настройка конфигурации precommit");
Если ГлобальныеНастройки Тогда
ИмяПриложения = "Precommt4onecСценарии";
ГлобальныеСценарии = ПолучитьНастройкуМассив("Выберите подключаемые глобальные сценарии: ",
ГлобальныеСценарии = ПолучитьНастройкуМассив("Выберите подключаемые глобальные сценарии: ",
ПолучитьИменаСценариев(КаталогГлобальныхСценариев),
УправлениеНастройками.Настройка(ИмяПриложения + "\ГлобальныеСценарии"));
ИспользоватьСценарииРепозитория = ПолучитьНастройкуБулево("Нужно использовать сценарии локальных репозиториев?",
УправлениеНастройками.Настройка(ИмяПриложения + "\ИспользоватьСценарииРепозитория"));
Если ГлобальныеНастройки Тогда
КаталогЛокальныхСценариев = "";
Если ИспользоватьСценарииРепозитория Тогда
КаталогЛокальныхСценариев = ПолучитьНастройкуСтрока("Укажите относительный путь к сценариям в репозитории: ",
УправлениеНастройками.Настройка(ИмяПриложения + "\КаталогЛокальныхСценариев"));
КонецЕсли;
СброситьНастройкиРепозитория(УправлениеНастройками);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ИспользоватьСценарииРепозитория", ИспользоватьСценарииРепозитория);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\КаталогЛокальныхСценариев", КаталогЛокальныхСценариев);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ГлобальныеСценарии", ГлобальныеСценарии);
Подсказка = "Нужно использовать сценарии локальных репозиториев?";
Иначе
Подсказка = "Нужно использовать локальные сценарии?";
// todo
// пока нет, будет в будущем
КонецЕсли;
ИспользоватьСценарииРепозитория = ПолучитьНастройкуБулево(Подсказка,
УправлениеНастройками.Настройка(ИмяПриложения + "\ИспользоватьСценарииРепозитория"));
КаталогЛокальныхСценариев = "";
Если ИспользоватьСценарииРепозитория Тогда
КаталогЛокальныхСценариев = ПолучитьНастройкуСтрока("Укажите относительный путь к сценариям в репозитории: ",
УправлениеНастройками.Настройка(ИмяПриложения + "\КаталогЛокальныхСценариев"));
КонецЕсли;
СброситьНастройкиРепозитория(УправлениеНастройками);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ИспользоватьСценарииРепозитория", ИспользоватьСценарииРепозитория);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\КаталогЛокальныхСценариев", КаталогЛокальныхСценариев);
УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ГлобальныеСценарии", ГлобальныеСценарии);
КонецПроцедуры
Функция ПолучитьНастройкуБулево(ТекстПодсказки, ЗначениеПоУмолчанию)
Функция ПолучитьНастройкуБулево(ТекстПодсказки, Знач ЗначениеПоУмолчанию)
Если НЕ ЗначениеЗаполнено(ЗначениеПоУмолчанию) Тогда
ЗначениеПоУмолчанию = Истина;
КонецЕсли;
ВыбранноеЗначение = Формат(ЗначениеПоУмолчанию, "БЛ=n; БИ=y");
Пока ИСТИНА Цикл

View File

@ -41,7 +41,18 @@
КонецЕсли;
УправлениеНастройками = Новый НастройкиРепозитория(Приложение.ПутьКРодительскомуКаталогу());
УправлениеНастройками = Новый НастройкиРепозитория(КаталогРепозитория);
Если УправлениеНастройками.ЭтоНовый() ИЛИ УправлениеНастройками.НастройкиПриложения("Precommt4onecСценарии") = Неопределено Тогда
Лог.Информация("Используем глобальные настройки");
УправлениеНастройками = Новый НастройкиРепозитория(Приложение.ПутьКРодительскомуКаталогу());
Иначе
Лог.Информация("Используем локальные настройки");
КонецЕсли;
ЗагрузитьСценарииОбработки(Приложение.КаталогСценариев(), УправлениеНастройками, КаталогРепозитория);
КаталогИсходныхФайлов = ПараметрыКоманды["-source-dir"];

View File

@ -214,7 +214,7 @@
ПарсерJSON = Новый ПарсерJSON;
ТекстКонфигурации = ПарсерJSON.ЗаписатьJSON(Конфигурация);
Запись = Новый ЗаписьТекста(АдресКонфигурационногоФайла);
Запись = Новый ЗаписьТекста(АдресКонфигурационногоФайла, КодировкаТекста.UTF8NoBOM);
Запись.Записать(ТекстКонфигурации);
Запись.Закрыть();
@ -250,7 +250,7 @@
Файл = Новый Файл(АдресКонфигурационногоФайла);
Если Файл.Существует() Тогда
Чтение = Новый ЧтениеТекста(АдресКонфигурационногоФайла);
Чтение = Новый ЧтениеТекста(АдресКонфигурационногоФайла, КодировкаТекста.UTF8NoBOM);
ТекстКонфигурации = Чтение.Прочитать();
Чтение.Закрыть();