diff --git a/README.md b/README.md index 09750a7..6c0c238 100644 --- a/README.md +++ b/README.md @@ -35,9 +35,42 @@ - `РазборОтчетОбработокРасширений` - при выполнении данного сценария, файлы внешних отчетов, обработок и расширений средствами платформы будут разложены на исходные файлы и помещены в каталог исходных файлов репозитория в подкаталоги, соответствующие расширениям. Например внешний отчет `ВнешнийОтчет1.erf` будет разложен в каталог `src\erf\ВнешнийОтчет1` - `РазборОбычныхФормНаИсходники` - при выполнении данного сценария, файлы обычных форм (`Form.bin`) раскладываются на исходные файлы с помощью инструмента `v8unpack` +## Изменение настроек + +precommit4onec может читать настройки своей работы из специального конфигурационного файла. + +Управление настройками происходит с использованием команды `configure`: + +- Печать настроек - `precommit4onec configure -global` +- Сброс настроек на заводские - `precommit4onec configure -global -reset` +- Интерактивное изменение настроек - `precommit4onec configure -global -config`. + +Конфигурирование дает возможности: + +- Изменить список сценариев обработки файлов +- Активизировать алгоритм подключния сценариев из каталогов репозитория + ## Расширение функциональности -Для добавления своих сценариев обработки файлов необходимо создать новый сценарий в каталоге `СценарииОбработки` скрипта используя соответствующий шаблон. Новый сценарий автоматически подключится. +Для создания нового сценария обработки файлов необходимо воспользваться шаблоном, находящимся в каталоге `СценарииОбработки` скрипта. + +### Установка сценария для всех репозиториев + +Чтобы сценарий работал для всех репозиториев необходимо + +- сохранить файл сценария в каталог `СценарииОбработки` +- выполнить команду сброса настроек либо интерактивного изменения, где указать сценарий в списке загружаемых + +### Установка сценария для конкретного репозитория + +Чтобы сценарий работал в конкретном репозитории необходимо + +- Решить, в каком каталоге в репозиториях будут хранится сценарии, например `tools\СценарииОбработки` +- Создать каталог в репозитории и скопировать в него файл сценария +- Вызвать команду конфигурирования, в которой включить использование сценариев из репозитория +- Указать имя каталога + +Если при выполнении precommit4onec не найдет файлов сценариев в указанном каталоге, либо не найдет каталог, он об этом сообщит в лог и продолжит работу без ошибок. ## Ссылки diff --git a/features/Конфигурирование.feature b/features/Конфигурирование.feature index 82d4382..6c0ff5f 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.1" + И Вывод команды "oscript" содержит "precommit4onec v1.0.2" И Вывод команды "oscript" содержит "Установленные настройки:" И Вывод команды "oscript" содержит "ИспользоватьСценарииРепозитория =" И Вывод команды "oscript" содержит "КаталогЛокальныхСценариев =" @@ -24,7 +24,7 @@ И Я сообщаю вывод команды "oscript" И Вывод команды "oscript" содержит """ - precommit4onec v1.0.1 + precommit4onec v1.0.2 Установленные настройки: ИспользоватьСценарииРепозитория = Нет КаталогЛокальныхСценариев = diff --git a/features/ПростыеКоманды.feature b/features/ПростыеКоманды.feature index 694ae30..7619b05 100644 --- a/features/ПростыеКоманды.feature +++ b/features/ПростыеКоманды.feature @@ -14,7 +14,7 @@ Сценарий: Получение версии продукта Когда Я выполняю команду "oscript" c параметрами "src/main.os version" Тогда Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "1.0.1" + И Вывод команды "oscript" содержит "1.0.2" И Вывод команды "oscript" не содержит "precommit4onec v" И Код возврата команды "oscript" равен 0 @@ -22,7 +22,7 @@ Когда Я выполняю команду "oscript" c параметрами "src/main.os help" Тогда Вывод команды "oscript" содержит """ - precommit4onec v1.0.1 + precommit4onec v1.0.2 Возможные команды: help - Выводит справку по командам version - Выводит версию приложения @@ -36,7 +36,7 @@ Когда Я выполняю команду "oscript" c параметрами "src/main.os" Тогда Вывод команды "oscript" содержит """ - precommit4onec v1.0.1 + precommit4onec v1.0.2 Возможные команды: help - Выводит справку по командам version - Выводит версию приложения diff --git a/features/УстановкаПрекоммита.feature b/features/УстановкаПрекоммита.feature index 2108371..eee694c 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.1" + И Вывод команды "oscript" содержит "precommit4onec v1.0.2" И Вывод команды "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.1" + И Вывод команды "oscript" содержит "precommit4onec v1.0.2" И Вывод команды "oscript" содержит "не является репозиторием git" Сценарий: Установка precommit4onec во вложенные каталоги Когда Я выполняю команду "oscript" c параметрами "<КаталогПроекта>/src/main.os install ./ -r" Тогда Код возврата команды "oscript" равен 0 И Я сообщаю вывод команды "oscript" - И Вывод команды "oscript" содержит "precommit4onec v1.0.1" + И Вывод команды "oscript" содержит "precommit4onec v1.0.2" И В каталоге ".git/hooks" репозитория "Репозиторий1" есть файл "pre-commit" И В каталоге ".git/hooks" репозитория "Репозиторий2" есть файл "pre-commit" diff --git a/packagedef b/packagedef index 6b1a216..0bb2942 100644 --- a/packagedef +++ b/packagedef @@ -15,4 +15,5 @@ .ВключитьФайл("src") .ВключитьФайл("features") .ВключитьФайл("tasks") + .ВключитьФайл("v8config.json") .ИсполняемыйФайл("src/main.os", ИмяПродукта); diff --git a/src/Классы/КомандаПрекоммит.os b/src/Классы/КомандаПрекоммит.os index ebbcde1..84b5dcd 100644 --- a/src/Классы/КомандаПрекоммит.os +++ b/src/Классы/КомандаПрекоммит.os @@ -226,7 +226,7 @@ КонецЕсли; - Если ИменаЗагружаемыхСценариев.Количество() И НЕ ИменаЗагружаемыхСценариев.Найти(ФайлСценария.Имя) Тогда + Если ИменаЗагружаемыхСценариев.Количество() И ИменаЗагружаемыхСценариев.Найти(ФайлСценария.Имя) = Неопределено Тогда Продолжить; diff --git a/src/Модули/ПараметрыПриложения.os b/src/Модули/ПараметрыПриложения.os index dbdcb24..3d205d9 100644 --- a/src/Модули/ПараметрыПриложения.os +++ b/src/Модули/ПараметрыПриложения.os @@ -22,7 +22,7 @@ // Функция ВерсияПродукта() Экспорт - Возврат "1.0.1"; + Возврат "1.0.2"; КонецФункции // ВерсияПродукта