diff --git a/features/Конфигурирование.feature b/features/Конфигурирование.feature index 0b49b0c..b3510c6 100644 --- a/features/Конфигурирование.feature +++ b/features/Конфигурирование.feature @@ -10,7 +10,7 @@ Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os configure -global" Тогда Код возврата команды "oscript" равен 0 И Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "precommit4onec v1.0.11" + И Вывод команды "oscript" содержит "precommit4onec v1.0.12" И Вывод команды "oscript" содержит "Установленные настройки:" И Вывод команды "oscript" содержит "ИспользоватьСценарииРепозитория =" И Вывод команды "oscript" содержит "КаталогЛокальныхСценариев =" @@ -24,7 +24,7 @@ И Я сообщаю вывод команды "oscript" И Вывод команды "oscript" содержит """ - precommit4onec v1.0.11 + precommit4onec v1.0.12 Установленные настройки: ИспользоватьСценарииРепозитория = Нет КаталогЛокальныхСценариев = diff --git a/features/ПростыеКоманды.feature b/features/ПростыеКоманды.feature index e815874..394f995 100644 --- a/features/ПростыеКоманды.feature +++ b/features/ПростыеКоманды.feature @@ -14,7 +14,7 @@ Сценарий: Получение версии продукта Когда Я выполняю команду "oscript" c параметрами "src/main.os version" Тогда Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "1.0.11" + И Вывод команды "oscript" содержит "1.0.12" И Вывод команды "oscript" не содержит "precommit4onec v" И Код возврата команды "oscript" равен 0 @@ -22,7 +22,7 @@ Когда Я выполняю команду "oscript" c параметрами "src/main.os help" Тогда Вывод команды "oscript" содержит """ - precommit4onec v1.0.11 + precommit4onec v1.0.12 Возможные команды: help - Выводит справку по командам version - Выводит версию приложения @@ -36,7 +36,7 @@ Когда Я выполняю команду "oscript" c параметрами "src/main.os" Тогда Вывод команды "oscript" содержит """ - precommit4onec v1.0.11 + precommit4onec v1.0.12 Возможные команды: help - Выводит справку по командам version - Выводит версию приложения diff --git a/features/УстановкаПрекоммита.feature b/features/УстановкаПрекоммита.feature index 430de58..d664118 100644 --- a/features/УстановкаПрекоммита.feature +++ b/features/УстановкаПрекоммита.feature @@ -18,7 +18,7 @@ Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os install rep1" Тогда Код возврата команды "oscript" равен 0 И Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "precommit4onec v1.0.11" + И Вывод команды "oscript" содержит "precommit4onec v1.0.12" И Вывод команды "oscript" содержит "Pre-commit hook для rep1 создан" И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit" @@ -26,13 +26,13 @@ Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os install ./" Тогда Код возврата команды "oscript" равен 0 И Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "precommit4onec v1.0.11" + И Вывод команды "oscript" содержит "precommit4onec v1.0.12" И Вывод команды "oscript" содержит "не является репозиторием git" Сценарий: Установка precommit4onec во вложенные каталоги Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os install ./ -r" Тогда Код возврата команды "oscript" равен 0 И Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "precommit4onec v1.0.11" + И Вывод команды "oscript" содержит "precommit4onec v1.0.12" И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit" И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit" diff --git a/installlocalhost.bat b/installlocalhost.bat index 90bedd7..060070e 100644 --- a/installlocalhost.bat +++ b/installlocalhost.bat @@ -1,4 +1,4 @@ @ECHO OFF call del "*.ospx" call opm build . -mf ./packagedef -out . -call opm install -f precommit4onec-1.0.11.ospx +call opm install -f precommit4onec-1.0.12.ospx diff --git a/src/Классы/КомандаКонфигуратион.os b/src/Классы/КомандаКонфигуратион.os index 511fc4f..e4a5f91 100644 --- a/src/Классы/КомандаКонфигуратион.os +++ b/src/Классы/КомандаКонфигуратион.os @@ -210,9 +210,11 @@ УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ИспользоватьСценарииРепозитория", ИспользоватьСценарииРепозитория); УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\КаталогЛокальныхСценариев", КаталогЛокальныхСценариев); - + УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\ГлобальныеСценарии", ГлобальныеСценарии); + УправлениеНастройками.ЗаписатьНастройку(ИмяПриложения + "\НастройкиСценариев", СформироватьНастройкиСценариев()); + КонецПроцедуры Функция ПолучитьНастройкуБулево(ТекстПодсказки, Знач ЗначениеПоУмолчанию) diff --git a/src/Классы/КомандаПрекоммит.os b/src/Классы/КомандаПрекоммит.os index 662581e..87a089b 100644 --- a/src/Классы/КомандаПрекоммит.os +++ b/src/Классы/КомандаПрекоммит.os @@ -239,7 +239,7 @@ КонецЕсли; - Если ИменаЗагружаемыхСценариев.Количество() И ИменаЗагружаемыхСценариев.Найти(ФайлСценария.Имя) = Неопределено Тогда + Если ИменаЗагружаемыхСценариев.Найти(ФайлСценария.Имя) = Неопределено Тогда Продолжить; diff --git a/src/Модули/ПараметрыПриложения.os b/src/Модули/ПараметрыПриложения.os index 75dd377..91f8979 100644 --- a/src/Модули/ПараметрыПриложения.os +++ b/src/Модули/ПараметрыПриложения.os @@ -22,7 +22,7 @@ // Функция ВерсияПродукта() Экспорт - Возврат "1.0.11"; + Возврат "1.0.12"; КонецФункции // ВерсияПродукта diff --git a/src/СценарииОбработки/ДобавлениеПробеловПередКлючевымиСловами.os b/src/СценарииОбработки/ДобавлениеПробеловПередКлючевымиСловами.os index e1751dc..e3e3e34 100644 --- a/src/СценарииОбработки/ДобавлениеПробеловПередКлючевымиСловами.os +++ b/src/СценарииОбработки/ДобавлениеПробеловПередКлючевымиСловами.os @@ -62,6 +62,12 @@ СодержимоеФайла = Текст.Прочитать(); Текст.Закрыть(); + Если Не ЗначениеЗаполнено(СодержимоеФайла) Тогда + + Возврат Ложь; + + КонецЕсли; + Регексп = Новый РегулярноеВыражение("(^[^\n\/]*\))(Экспорт)([\s]*?)([\/\/]+[^\n]*?)*?$"); Регексп.ИгнорироватьРегистр = ИСТИНА; Регексп.Многострочный = ИСТИНА; diff --git a/src/СценарииОбработки/УдалениеЛишнихКонцевыхПробелов.os b/src/СценарииОбработки/УдалениеЛишнихКонцевыхПробелов.os index dbbac8f..d5324a5 100644 --- a/src/СценарииОбработки/УдалениеЛишнихКонцевыхПробелов.os +++ b/src/СценарииОбработки/УдалениеЛишнихКонцевыхПробелов.os @@ -61,6 +61,12 @@ СодержимоеФайла = Текст.Прочитать(); Текст.Закрыть(); + Если Не ЗначениеЗаполнено(СодержимоеФайла) Тогда + + Возврат Ложь; + + КонецЕсли; + Регексп = Новый РегулярноеВыражение("^([^\n\/]*;)([\t ]+?)$"); Регексп.ИгнорироватьРегистр = ИСТИНА; Регексп.Многострочный = ИСТИНА; diff --git a/src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os b/src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os index 8c9e2cb..a29328d 100644 --- a/src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os +++ b/src/СценарииОбработки/УдалениеЛишнихПустыхСтрок.os @@ -60,20 +60,26 @@ Текст.Открыть(ИмяФайла, "utf-8"); СодержимоеФайла = Текст.Прочитать(); Текст.Закрыть(); - + + Если Не ЗначениеЗаполнено(СодержимоеФайла) Тогда + + Возврат Ложь; + + КонецЕсли; + РегекспОчистка = Новый РегулярноеВыражение("(?m:((?:^[ \t]*\n){2,}))"); РегекспОчистка.Многострочный = Истина; РегекспОчистка.ИгнорироватьРегистр = Истина; НовоеСодержимоеФайла = РегекспОчистка.Заменить(СодержимоеФайла, Символы.ПС); Если СтрСравнить(СодержимоеФайла, НовоеСодержимоеФайла) <> 0 Тогда - ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла,,,, Символы.ПС); + ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла, ,,, Символы.ПС); ЗаписьТекста.Записать(НовоеСодержимоеФайла); ЗаписьТекста.Закрыть(); Возврат Истина; - + КонецЕсли; - - Возврат ЛОЖЬ; + + Возврат Ложь; КонецФункции