From 69f7003b893c306cff191c97c1e4eb07dc94170a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 08:51:11 +0300 Subject: [PATCH 01/11] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=B5=D0=BE=D0=B1?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BA?= =?UTF-8?q?=20=D0=B1=D1=83=D0=BB=D0=B5=D0=B2=D0=BE,=20=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=BC=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\276\320\274\320\260\320\275\320\264\320\260Export.os" | 7 +++++++ ...320\276\320\274\320\260\320\275\320\264\320\260Sync.os" | 7 +++++++ 2 files changed, 14 insertions(+) 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 2bb48b9c..21f6654f 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" @@ -62,6 +62,13 @@ КонецЕсли; + Если ПереименовыватьФайлМодуляОбычнойФормы = Неопределено Тогда + + ПереименовыватьФайлМодуляОбычнойФормы = Ложь; + + КонецЕсли; + + Если Формат = Неопределено Тогда Формат = РежимВыгрузкиФайлов.Авто; 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 343cd45f..bea4b3c2 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" @@ -90,6 +90,13 @@ КонецЕсли; + Если ПереименовыватьФайлМодуляОбычнойФормы = Неопределено Тогда + + ПереименовыватьФайлМодуляОбычнойФормы = Ложь; + + КонецЕсли; + + Если КонечнаяВерсия = Неопределено Тогда КонечнаяВерсия = 0; From 5692abca40c8c20027f43b1ecd9b57afb13f7c34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 08:52:05 +0300 Subject: [PATCH 02/11] =?UTF-8?q?=D0=9F=D1=83=D1=81=D1=82=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D1=87=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...32\320\276\320\274\320\260\320\275\320\264\320\260Export.os" | 1 - ...\232\320\276\320\274\320\260\320\275\320\264\320\260Sync.os" | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) 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 21f6654f..082435e0 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" @@ -68,7 +68,6 @@ КонецЕсли; - Если Формат = Неопределено Тогда Формат = РежимВыгрузкиФайлов.Авто; 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 bea4b3c2..a03ee13e 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" @@ -95,7 +95,7 @@ ПереименовыватьФайлМодуляОбычнойФормы = Ложь; КонецЕсли; - + Если КонечнаяВерсия = Неопределено Тогда From 99a5bf01fc5f0abee7685f0feabdb37ce1ba4f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 08:59:21 +0300 Subject: [PATCH 03/11] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA=D1=83?= =?UTF-8?q?=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/multi-controller.os | 3 ++- src/xml-config.os | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/multi-controller.os b/src/multi-controller.os index 30e6d258..642585a4 100644 --- a/src/multi-controller.os +++ b/src/multi-controller.os @@ -78,7 +78,8 @@ ЗначенияПараметров.Вставить("-check-authors", ПреобразоватьЗначениеКБулево(Репо.ПроверитьАвторовХранилища)); ЗначенияПараметров.Вставить("-stop-if-empty-comment", ПреобразоватьЗначениеКБулево(Репо.ПрерватьВыполнениеБезКомментарияКВерсии)); ЗначенияПараметров.Вставить("-auto-set-tags", ПреобразоватьЗначениеКБулево(Репо.АвтоматическаяУстановкаТэговПоВерсиям)); - + ЗначенияПараметров.Вставить("-process-fatform-modules", ПреобразоватьЗначениеКБулево(Репо.ПереименовыватьФайлМодуляОбычнойФормы)); + // дополним настройками из параметров команды Для Каждого ПараметрКоманды Из мПараметрыКоманды Цикл diff --git a/src/xml-config.os b/src/xml-config.os index 18b2c1c2..71764cab 100644 --- a/src/xml-config.os +++ b/src/xml-config.os @@ -102,6 +102,8 @@ Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии"; ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда Ключ = "АвтоматическаяУстановкаТэговПоВерсиям"; + ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда + Ключ = "ПереименовыватьФайлМодуляОбычнойФормы"; Иначе ВызватьИсключение НекорректнаяСтруктураНастроек(); КонецЕсли; From 3f348ca8244afec702e5adecdc6d8e7bdcaa52e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 15:07:53 +0300 Subject: [PATCH 04/11] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D1=84=D0=B8=D0=B3?= =?UTF-8?q?=D1=83=D1=80=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B2=20JSON=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20syn?= =?UTF-8?q?c=20-all?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config-example.json | 42 ++++++++++ packagedef | 10 ++- src/json-config.os | 143 ++++++++++++++++++++++++++++++++++ src/multi-controller.os | 28 ++++++- tests/fixtures/config.json | 42 ++++++++++ tests/multi-controller-xml.os | 85 ++++++++++++++++++-- 6 files changed, 338 insertions(+), 12 deletions(-) create mode 100644 config-example.json create mode 100644 src/json-config.os create mode 100644 tests/fixtures/config.json diff --git a/config-example.json b/config-example.json new file mode 100644 index 00000000..efead47f --- /dev/null +++ b/config-example.json @@ -0,0 +1,42 @@ +{ + "gitsync-options": + { + "global": + { + "email-domain": "server.com", + "v8-version": "8.3.10", + "git-executable": "git" + } + }, + "repositories" : [ + { + "name" : "test", + "git-local-path": "Путь", + "git-remote": "адрес2", + "v8-storage-dir": "каталог2", + "process-fatform-modules": "on", + "push-every-n-commits": 5, + "auto-set-tags": "on", + "stop-if-empty-comment": "on", + "check-authors": "on" + //"email-domain", + //"v8-version", + //"git-executable", + }, + { + "name" : "test2", + "git-local-path": "Путь2", + "git-remote": "адрес2", + "v8-storage-dir": "каталог2", + "process-fatform-modules": "on", + "push-every-n-commits": 5, + "auto-set-tags": "on", + "stop-if-empty-comment": "on", + "check-authors": "on" + //"email-domain", + //"v8-version", + //"git-executable", + + } + ] + } diff --git a/packagedef b/packagedef index f922905a..75eff57f 100644 --- a/packagedef +++ b/packagedef @@ -5,18 +5,20 @@ .Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта()) .ВерсияСреды("1.0.16") .ЗависитОт("logos") - .ЗависитОт("cmdline", "0.4.1") + .ЗависитОт("cmdline", "0.6.1") .ЗависитОт("tempfiles") .ЗависитОт("tool1cd", "0.4") - .ЗависитОт("v8runner", "0.7.0") - .ЗависитОт("gitrunner", "1.1.0") + .ЗависитОт("v8runner", "0.11.2") + .ЗависитОт("gitrunner", "1.5.0") .ЗависитОт("strings") - .ЗависитОт("1commands", "1.1.1") + .ЗависитОт("1commands", "1.2.1") .ЗависитОт("v8unpack") + .ЗависитОт("json") .ВключитьФайл("src") .ВключитьФайл("tests") .ВключитьФайл("features") .ВключитьФайл("bin") .ВключитьФайл("config-example.xml") + .ВключитьФайл("config-example.json") .ВключитьФайл("readme.md") .ИсполняемыйФайл("src/gitsync.os"); diff --git a/src/json-config.os b/src/json-config.os new file mode 100644 index 00000000..9fdc42d8 --- /dev/null +++ b/src/json-config.os @@ -0,0 +1,143 @@ + +#Использовать json + +Перем мНастройки; + +Функция ПрочитатьФайл(Знач ИмяФайла) + ФайлСуществующий = Новый Файл(ИмяФайла); + Если Не ФайлСуществующий.Существует() Тогда + ВызватьИсключение "Неверная структура файла настроек / файл пустой";; + КонецЕсли; + + Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); + Рез = Чтение.Прочитать(); + Чтение.Закрыть(); + Возврат Рез; +КонецФункции // ПрочитатьФайл() + +Функция ПрочитатьНастройкиИзФайла(Знач ФайлНастроек) Экспорт + + мНастройки = Новый Структура; + + JsonСтрока = ПрочитатьФайл(ФайлНастроек); + JsonСтрока = ВырезатьКомментарииИзТекстаJSON(JsonСтрока); + + ПарсерJSON = Новый ПарсерJSON(); + ПараметрыJSON = ПарсерJSON.ПрочитатьJSON(JsonСтрока); + + ВсеНастройки = ПараметрыJSON["gitsync-options"]; + ГлобальныеНастройки = ВсеНастройки["global"]; + + Для Каждого КлючИЗначение Из ГлобальныеНастройки Цикл + + Если КлючИЗначение.Ключ = "email-domain" Тогда + Ключ = "ДоменПочтыДляGit"; + ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда + Ключ = "ПутьКПлатформе83"; + ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда + Ключ = "ПутьGit"; + Иначе + ВызватьИсключение НекорректнаяСтруктураНастроек(); + КонецЕсли; + + мНастройки.Вставить(Ключ, КлючИЗначение.Значение); + + КонецЦикла; + + мНастройки.Вставить("Репозитарии", Новый Массив); + + МассивРепозиториев = ВсеНастройки["repositories"]; + + Для Каждого Репозиторий Из МассивРепозиториев Цикл + + ПрочитатьНастройкиРепозитория(Репозиторий); + + КонецЦикла; + + + Возврат мНастройки; + +КонецФункции + + +Функция ВырезатьКомментарииИзТекстаJSON(Знач JsonСтрока) + + // вырезаем обычные комменты типа "// комментарий" + Регулярка = Новый РегулярноеВыражение("(^\/\/.*$)"); + Рез = Регулярка.Заменить(JsonСтрока, "$0" ); + + // вырезаем комменты после строки, например, "строка //комментарий" + Регулярка = Новый РегулярноеВыражение("(^.*)(\/\/.*$)"); + Рез = Регулярка.Заменить(Рез, "$1" ); + + Возврат Рез; + +КонецФункции // ВырезатьКомментарииИзТекстаJSON() + +Процедура ПрочитатьНастройкиРепозитория(ЭлементМассива) + + Репо = Новый Структура; + + мНастройки.Репозитарии.Добавить(Репо); + + Для Каждого КлючИЗначение Из ЭлементМассива Цикл + + Если КлючИЗначение.Ключ = "name" Тогда + Ключ = "Имя"; + ИначеЕсли КлючИЗначение.Ключ = "git-local-path" Тогда + Ключ = "КаталогВыгрузки"; + ИначеЕсли КлючИЗначение.Ключ = "git-remote" Тогда + Ключ = "GitURL"; + ИначеЕсли КлючИЗначение.Ключ = "v8-storage-dir" Тогда + Ключ = "КаталогХранилища1С"; + ИначеЕсли КлючИЗначение.Ключ = "email-domain" Тогда + Ключ = "ДоменПочтыДляGit"; + ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда + Ключ = "ПутьКПлатформе83"; + ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда + Ключ = "ПутьGit"; + ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда + Ключ = "КоличествоКоммитовДоPush"; + ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда + Ключ = "ПроверитьАвторовХранилища"; + ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда + Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии"; + ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда + Ключ = "АвтоматическаяУстановкаТэговПоВерсиям"; + ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда + Ключ = "ПереименовыватьФайлМодуляОбычнойФормы"; + Иначе + ВызватьИсключение НекорректнаяСтруктураНастроек(); + КонецЕсли; + + Если ПустаяСтрока(КлючИЗначение.Значение) и мНастройки.Свойство(Ключ) Тогда + КлючИЗначение.Значение = мНастройки[Ключ]; + КонецЕсли; + + Репо.Вставить(Ключ, КлючИЗначение.Значение); + + КонецЦикла; + + Для Каждого ГлобальнаяНастройка Из мНастройки Цикл + + Ключ = ГлобальнаяНастройка.Ключ; + + Если ГлобальнаяНастройка.Ключ = "Репозитарии" Тогда + Продолжить + КонецЕсли; + + ЕстьСвояНастройка = Репо.Свойство(Ключ); + + Если НЕ ЕстьСвояНастройка + ИЛИ ЕстьСвояНастройка и ПустаяСтрока(Репо[Ключ]) Тогда + + Репо.Вставить(Ключ, ГлобальнаяНастройка.Значение); + КонецЕсли; + + КонецЦикла + +КонецПроцедуры + +Функция НекорректнаяСтруктураНастроек() + Возврат "Некорректная структура файла настроек"; +КонецФункции diff --git a/src/multi-controller.os b/src/multi-controller.os index 642585a4..304090a1 100644 --- a/src/multi-controller.os +++ b/src/multi-controller.os @@ -32,9 +32,33 @@ Процедура ПрочитатьНастройкиИзФайла(Знач ФайлНастроек) - Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "xml-config.os")); - мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); + ФайлКонфига = Новый Файл(ФайлНастроек); + Расширение = ФайлКонфига.Расширение; + + Если Расширение = ".xml" Тогда + + ПрочитатьНастройкиИзФайлаXML(ФайлНастроек); + + ИначеЕсли Расширение = ".json" Тогда + + ПрочитатьНастройкиИзФайлаJSON(ФайлНастроек); + + КонецЕсли; + +КонецПроцедуры +Процедура ПрочитатьНастройкиИзФайлаXML(Знач ФайлНастроек) + + Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "xml-config.os")); + мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); + +КонецПроцедуры + +Процедура ПрочитатьНастройкиИзФайлаJSON(Знач ФайлНастроек) + + Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "json-config.os")); + мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); + КонецПроцедуры //////////////////////////////////////////////////////////////////////// diff --git a/tests/fixtures/config.json b/tests/fixtures/config.json new file mode 100644 index 00000000..d4148652 --- /dev/null +++ b/tests/fixtures/config.json @@ -0,0 +1,42 @@ +{ + "gitsync-options": + { + "global": + { + "email-domain": "server.com", + "v8-version": "1cv8.exe", + "git-executable": "git" + }, + "repositories" : [ + { + "name" : "test", + "git-local-path": "путь1", + "git-remote": "адрес1", + "v8-storage-dir": "каталог1", + "process-fatform-modules": "on", + "push-every-n-commits": 5, + "auto-set-tags": "on", + "stop-if-empty-comment": "on", + "check-authors": "on" + //"email-domain", + //"v8-version", + //"git-executable", + }, + { + "name" : "test2", + "git-local-path": "путь2", + "git-remote": "адрес2", + "v8-storage-dir": "каталог2", + "process-fatform-modules": "on", + "push-every-n-commits": 5, + "auto-set-tags": "on", + "stop-if-empty-comment": "on", + "check-authors": "on" + //"email-domain", + //"v8-version", + //"git-executable", + + } + ] + } +} diff --git a/tests/multi-controller-xml.os b/tests/multi-controller-xml.os index bfc88d85..e67c3faa 100644 --- a/tests/multi-controller-xml.os +++ b/tests/multi-controller-xml.os @@ -13,8 +13,10 @@ юТест = Тесты; Список = Новый Массив; - Список.Добавить("Тест_ДолженПрочитатьФайлНастроек"); - Список.Добавить("Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизации"); + Список.Добавить("Тест_ДолженПрочитатьФайлНастроекXML"); + Список.Добавить("Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизацииXML"); + Список.Добавить("Тест_ДолженПрочитатьФайлНастроекJSON"); + Список.Добавить("Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизацииJSON"); Инициализация(); @@ -24,7 +26,8 @@ Процедура Инициализация() - ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/xml-config.os"), "ЧтениеКонфига"); + ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/xml-config.os"), "ЧтениеКонфигаXML"); + ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/json-config.os"), "ЧтениеКонфигаJSON"); Лог = Логирование.ПолучитьЛог("oscript.app.gitsync"); Лог.УстановитьУровень(УровниЛога.Отладка); @@ -36,7 +39,14 @@ Функция ПрочитатьТестовыеНастройки() ФайлНастроек = КаталогFixtures() + "/config.xml"; - ЧтениеКонфига = Новый ЧтениеКонфига(); + ЧтениеКонфига = Новый ЧтениеКонфигаXML(); + мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); + Возврат мНастройки; +КонецФункции + +Функция ПрочитатьТестовыеНастройкиJSON() + ФайлНастроек = КаталогFixtures() + "/config.json"; + ЧтениеКонфига = Новый ЧтениеКонфигаJSON(); мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); Возврат мНастройки; КонецФункции @@ -45,7 +55,7 @@ Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "fixtures"); КонецФункции -Процедура Тест_ДолженПрочитатьФайлНастроек() Экспорт +Процедура Тест_ДолженПрочитатьФайлНастроекXML() Экспорт ПрочитатьТестовыеНастройки(); @@ -75,7 +85,37 @@ КонецПроцедуры -Процедура Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизации() Экспорт +Процедура Тест_ДолженПрочитатьФайлНастроекJSON() Экспорт + + ПрочитатьТестовыеНастройкиJSON(); + + // глобальные настройки + Утверждения.ПроверитьРавенство("server.com", мНастройки.ДоменПочтыДляGit); + Утверждения.ПроверитьРавенство("1cv8.exe" , мНастройки.ПутьКПлатформе83); + Утверждения.ПроверитьРавенство("git" , мНастройки.ПутьGit); + + // репозитарии + Утверждения.ПроверитьРавенство(2, мНастройки.Репозитарии.Количество()); + + Утверждения.ПроверитьРавенство("test", мНастройки.Репозитарии[0].Имя); + Утверждения.ПроверитьРавенство("путь1", мНастройки.Репозитарии[0].КаталогВыгрузки); + Утверждения.ПроверитьРавенство("адрес1", мНастройки.Репозитарии[0].GitURL); + Утверждения.ПроверитьРавенство("каталог1", мНастройки.Репозитарии[0].КаталогХранилища1С); + Утверждения.ПроверитьРавенство(мНастройки.ПутьGit, мНастройки.Репозитарии[0].ПутьGit); + Утверждения.ПроверитьРавенство(мНастройки.ПутьКПлатформе83, мНастройки.Репозитарии[0].ПутьКПлатформе83); + Утверждения.ПроверитьРавенство(мНастройки.ДоменПочтыДляGit, мНастройки.Репозитарии[0].ДоменПочтыДляGit); + + Утверждения.ПроверитьРавенство("test2", мНастройки.Репозитарии[1].Имя); + Утверждения.ПроверитьРавенство("путь2", мНастройки.Репозитарии[1].КаталогВыгрузки); + Утверждения.ПроверитьРавенство("адрес2", мНастройки.Репозитарии[1].GitURL); + Утверждения.ПроверитьРавенство("каталог2", мНастройки.Репозитарии[1].КаталогХранилища1С); + Утверждения.ПроверитьРавенство(мНастройки.ПутьGit, мНастройки.Репозитарии[1].ПутьGit); + Утверждения.ПроверитьРавенство(мНастройки.ПутьКПлатформе83, мНастройки.Репозитарии[1].ПутьКПлатформе83); + Утверждения.ПроверитьРавенство("server.com", мНастройки.Репозитарии[1].ДоменПочтыДляGit); + +КонецПроцедуры + +Процедура Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизацииXML() Экспорт ФайлХранилища = ОбъединитьПути(КаталогFixtures(), "ТестовыйФайлХранилища1С.1CD"); КаталогРепо = ВременныеФайлы.СоздатьКаталог(); КопироватьФайл(ФайлХранилища, ОбъединитьПути(КаталогРепо, "1cv8ddb.1CD")); @@ -107,6 +147,39 @@ КонецПроцедуры + +Процедура Тест_ДолженПроверитьЧтоВызванОбработчикСинхронизацииJSON() Экспорт + ФайлХранилища = ОбъединитьПути(КаталогFixtures(), "ТестовыйФайлХранилища1С.1CD"); + КаталогРепо = ВременныеФайлы.СоздатьКаталог(); + КопироватьФайл(ФайлХранилища, ОбъединитьПути(КаталогРепо, "1cv8ddb.1CD")); + КаталогИсходников = ОбъединитьПути(КаталогРепо, "src"); + СоздатьКаталог(КаталогИсходников); + + РезультатИнициализацииГитЧисло = ИнициализироватьТестовоеХранилищеГит(КаталогРепо); + Утверждения.ПроверитьРавенство(0, РезультатИнициализацииГитЧисло, "Инициализация git-хранилища в каталоге: "+КаталогРепо); + + Распаковщик = Новый МенеджерСинхронизации; + + СоздатьФайлАвторовГит_ДляТестов(КаталогИсходников); + Утверждения.ПроверитьИстину(Новый Файл(ОбъединитьПути(КаталогИсходников, Распаковщик.ИмяФайлаАвторов())).Существует()); + Распаковщик.ЗаписатьФайлВерсийГит(КаталогИсходников,0); + Утверждения.ПроверитьИстину(Новый Файл(ОбъединитьПути(КаталогИсходников, Распаковщик.ИмяФайлаВерсииХранилища())).Существует()); + + Настройки = ПрочитатьТестовыеНастройкиJSON(); + Настройки.Репозитарии.Удалить(1); + Настройки.Репозитарии[0].КаталогВыгрузки = КаталогИсходников; + Настройки.Репозитарии[0].КаталогХранилища1С = КаталогРепо; + Настройки.Репозитарии[0].ПутьGit = "git"; + + мПараметрыВызоваПакетногоСинхронизатора = Неопределено; + ПакетныйСинхронизатор = Новый ПакетнаяСинхронизация; + ПакетныйСинхронизатор.СинхронизироватьХранилища(Настройки, ЭтотОбъект); + + Утверждения.ПроверитьНеравенство(Неопределено, мПараметрыВызоваПакетногоСинхронизатора); + Утверждения.ПроверитьРавенство("test", мПараметрыВызоваПакетногоСинхронизатора.Имя); + +КонецПроцедуры + Функция ТребуетсяСинхронизироватьХранилище(Знач Репо) Экспорт Возврат Истина; КонецФункции From e6428f4cfb4bb987a099dbe4e3645449a8593515 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 15:09:51 +0300 Subject: [PATCH 05/11] =?UTF-8?q?=D0=9D=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6c4151be..f10fe31f 100644 --- a/readme.md +++ b/readme.md @@ -172,7 +172,7 @@ # Синхронизация по нескольким хранилищам -Зачастую удобно настроить регламентную (по расписанию) синхронизацию сразу по нескольким хранилищам 1С. Для этого необходимо подготовить конфигурационный файл с параметрами синхронизации ([пример файла](config-example.xml)) +Зачастую удобно настроить регламентную (по расписанию) синхронизацию сразу по нескольким хранилищам 1С. Для этого необходимо подготовить конфигурационный файл с параметрами синхронизации ([пример файла xml](config-example.xml) [пример файла json](config-example.json)) Далее необходимо запустить gitsync с командой all From f629d15ee0dceea1333219076576b345e2c9b88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 15:10:18 +0300 Subject: [PATCH 06/11] =?UTF-8?q?=D0=B5=D1=88=D0=B5=20=D1=81=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index f10fe31f..45bcba56 100644 --- a/readme.md +++ b/readme.md @@ -176,7 +176,7 @@ Далее необходимо запустить gitsync с командой all - gitsync all <путь к xml-файлу конфигурации> + gitsync all <путь к файлу конфигурации (xml или json)> Подробнее о параметрах команды `all` можно прочитать, запустив `gitsync help all` From 0808da99448d9c921ed5c3204118182156dd6233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Thu, 9 Nov 2017 16:50:17 +0300 Subject: [PATCH 07/11] =?UTF-8?q?=D0=9C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B9=20=D0=BF=D0=BE?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...274\320\260\320\275\320\264\320\260All.os" | 2 +- ...20\267\320\260\321\206\320\270\320\270.os" | 33 +++++++++- ...20\267\320\260\321\206\320\270\320\270.os" | 63 +++++-------------- ...20\267\320\260\321\206\320\270\320\270.os" | 50 +++++---------- tests/multi-controller-xml.os | 12 ++-- 5 files changed, 67 insertions(+), 93 deletions(-) rename src/multi-controller.os => "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" (72%) rename src/json-config.os => "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" (55%) rename src/xml-config.os => "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" (59%) 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\260All.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\260All.os" index cf9f680c..79cb74ae 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\260All.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\260All.os" @@ -60,7 +60,7 @@ КонецЕсли; - Контроллер = ЗагрузитьСценарий(ОбъединитьПути(КаталогRoot, "multi-controller.os")); + Контроллер = Новый КонтроллерПакетнойСинхронизации; Пока Истина Цикл diff --git a/src/multi-controller.os "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" similarity index 72% rename from src/multi-controller.os rename to "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 304090a1..b4645ebc 100644 --- a/src/multi-controller.os +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -6,13 +6,13 @@ //////////////////////////////////////////////////////////////////////////// #Использовать cmdline -#Использовать "core" Перем мПараметрыКоманды; Перем мДополнительныеПараметры; Перем мНастройки; Перем мФлагПринудительнойСинхронизации; + //////////////////////////////////////////////////////////////////////// // Программный интерфейс @@ -49,14 +49,16 @@ Процедура ПрочитатьНастройкиИзФайлаXML(Знач ФайлНастроек) - Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "xml-config.os")); + Конфиг = Новый ЧтениеКонфигаXMLПакетнойСинхронизации; + Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра(); мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); КонецПроцедуры Процедура ПрочитатьНастройкиИзФайлаJSON(Знач ФайлНастроек) - Конфиг = ЗагрузитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "json-config.os")); + Конфиг = Новый ЧтениеКонфигаJSONПакетнойСинхронизации; + Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра(); мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); КонецПроцедуры @@ -78,6 +80,10 @@ КонецПроцедуры Функция ПреобразоватьЗначениеКБулево(ЗначениеПараметра) + Если ТипЗнч(ЗначениеПараметра) = Тип("Булево") Тогда + Возврат ЗначениеПараметра; + КонецЕсли; + Если ЗначениеПараметра = "on" Тогда Возврат Истина; ИначеЕсли ЗначениеПараметра = "off" Тогда @@ -127,3 +133,24 @@ Функция ИмяФайлаБазыХранилища(Знач Каталог) Возврат ОбъединитьПути(Каталог, "1cv8ddb.1CD"); КонецФункции + +Функция СоответствиеКлючамИПараметра() Экспорт + + СоответствиеКлючамИПараметра = Новый Соответствие(); + СоответствиеКлючамИПараметра.Вставить("git-local-path", "КаталогВыгрузки"); + СоответствиеКлючамИПараметра.Вставить("git-remote", "GitURL"); + СоответствиеКлючамИПараметра.Вставить("name", "Имя"); + СоответствиеКлючамИПараметра.Вставить("v8-storage-dir", "КаталогХранилища1С"); + СоответствиеКлючамИПараметра.Вставить("email-domain", "ДоменПочтыДляGit"); + СоответствиеКлючамИПараметра.Вставить("v8-version", "ПутьКПлатформе83"); + СоответствиеКлючамИПараметра.Вставить("git-executable", "ПутьGit"); + СоответствиеКлючамИПараметра.Вставить("push-every-n-commits", "КоличествоКоммитовДоPush"); + СоответствиеКлючамИПараметра.Вставить("check-authors", "ПроверитьАвторовХранилища"); + СоответствиеКлючамИПараметра.Вставить("stop-if-empty-comment", "ПрерватьВыполнениеБезКомментарияКВерсии"); + СоответствиеКлючамИПараметра.Вставить("auto-set-tags", "АвтоматическаяУстановкаТэговПоВерсиям"); + СоответствиеКлючамИПараметра.Вставить("process-fatform-modules", "ПереименовыватьФайлМодуляОбычнойФормы"); + + Возврат СоответствиеКлючамИПараметра; + +КонецФункции + diff --git a/src/json-config.os "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" similarity index 55% rename from src/json-config.os rename to "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 9fdc42d8..990395dc 100644 --- a/src/json-config.os +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -2,6 +2,7 @@ #Использовать json Перем мНастройки; +Перем СоответствиеКлючамИПараметра Экспорт; Функция ПрочитатьФайл(Знач ИмяФайла) ФайлСуществующий = Новый Файл(ИмяФайла); @@ -29,19 +30,12 @@ ГлобальныеНастройки = ВсеНастройки["global"]; Для Каждого КлючИЗначение Из ГлобальныеНастройки Цикл + Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ]; - Если КлючИЗначение.Ключ = "email-domain" Тогда - Ключ = "ДоменПочтыДляGit"; - ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда - Ключ = "ПутьКПлатформе83"; - ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда - Ключ = "ПутьGit"; - Иначе - ВызватьИсключение НекорректнаяСтруктураНастроек(); + Если НЕ Ключ = Неопределено Тогда + мНастройки.Вставить(Ключ, КлючИЗначение.Значение); КонецЕсли; - мНастройки.Вставить(Ключ, КлючИЗначение.Значение); - КонецЦикла; мНастройки.Вставить("Репозитарии", Новый Массив); @@ -53,9 +47,8 @@ ПрочитатьНастройкиРепозитория(Репозиторий); КонецЦикла; - - - Возврат мНастройки; + + Возврат мНастройки; КонецФункции @@ -74,48 +67,20 @@ КонецФункции // ВырезатьКомментарииИзТекстаJSON() -Процедура ПрочитатьНастройкиРепозитория(ЭлементМассива) +Процедура ПрочитатьНастройкиРепозитория(Знач СтруктураНастроекРепозитория ) Репо = Новый Структура; мНастройки.Репозитарии.Добавить(Репо); - Для Каждого КлючИЗначение Из ЭлементМассива Цикл - - Если КлючИЗначение.Ключ = "name" Тогда - Ключ = "Имя"; - ИначеЕсли КлючИЗначение.Ключ = "git-local-path" Тогда - Ключ = "КаталогВыгрузки"; - ИначеЕсли КлючИЗначение.Ключ = "git-remote" Тогда - Ключ = "GitURL"; - ИначеЕсли КлючИЗначение.Ключ = "v8-storage-dir" Тогда - Ключ = "КаталогХранилища1С"; - ИначеЕсли КлючИЗначение.Ключ = "email-domain" Тогда - Ключ = "ДоменПочтыДляGit"; - ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда - Ключ = "ПутьКПлатформе83"; - ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда - Ключ = "ПутьGit"; - ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда - Ключ = "КоличествоКоммитовДоPush"; - ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда - Ключ = "ПроверитьАвторовХранилища"; - ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда - Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии"; - ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда - Ключ = "АвтоматическаяУстановкаТэговПоВерсиям"; - ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда - Ключ = "ПереименовыватьФайлМодуляОбычнойФормы"; - Иначе - ВызватьИсключение НекорректнаяСтруктураНастроек(); - КонецЕсли; - - Если ПустаяСтрока(КлючИЗначение.Значение) и мНастройки.Свойство(Ключ) Тогда - КлючИЗначение.Значение = мНастройки[Ключ]; + Для Каждого КлючИЗначение Из СтруктураНастроекРепозитория Цикл + + Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ]; + + Если НЕ Ключ = Неопределено Тогда + Репо.Вставить(Ключ, КлючИЗначение.Значение); КонецЕсли; - Репо.Вставить(Ключ, КлючИЗначение.Значение); - КонецЦикла; Для Каждого ГлобальнаяНастройка Из мНастройки Цикл @@ -138,6 +103,6 @@ КонецПроцедуры -Функция НекорректнаяСтруктураНастроек() +Функция СтрокаНекорректнаяСтруктураНастроек() Возврат "Некорректная структура файла настроек"; КонецФункции diff --git a/src/xml-config.os "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" similarity index 59% rename from src/xml-config.os rename to "src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 71764cab..d6afd65d 100644 --- a/src/xml-config.os +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -1,5 +1,6 @@  Перем мНастройки; +перем СоответствиеКлючамИПараметра Экспорт; Функция ПрочитатьНастройкиИзФайла(Знач ФайлНастроек) Экспорт @@ -10,7 +11,7 @@ Попытка Чтение.ПерейтиКСодержимому(); Если Чтение.ЛокальноеИмя <> "gitsync-options" Тогда - ВызватьИсключение "Неверная структура файла настроек"; + ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек(); КонецЕсли; Чтение.Прочитать(); @@ -34,17 +35,14 @@ Пока Не (Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента и Чтение.ЛокальноеИмя = "global") Цикл КлючИЗначение = ПрочитатьОпцию(Чтение); - Если КлючИЗначение.Ключ = "email-domain" Тогда - Ключ = "ДоменПочтыДляGit"; - ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда - Ключ = "ПутьКПлатформе83"; - ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда - Ключ = "ПутьGit"; + Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ]; + + Если НЕ Ключ = Неопределено Тогда + мНастройки.Вставить(Ключ, КлючИЗначение.Значение); Иначе - ВызватьИсключение НекорректнаяСтруктураНастроек(); + ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек(); КонецЕсли; - мНастройки.Вставить(Ключ, КлючИЗначение.Значение); КонецЦикла; @@ -56,7 +54,7 @@ мНастройки.Вставить("Репозитарии", Новый Массив); Если Чтение.ЛокальноеИмя <> "repositories" Тогда - ВызватьИсключение НекорректнаяСтруктураНастроек(); + ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек(); КонецЕсли; Чтение.Прочитать(); @@ -82,30 +80,12 @@ КлючИЗначение = ПрочитатьОпцию(Чтение); - Если КлючИЗначение.Ключ = "git-local-path" Тогда - Ключ = "КаталогВыгрузки"; - ИначеЕсли КлючИЗначение.Ключ = "git-remote" Тогда - Ключ = "GitURL"; - ИначеЕсли КлючИЗначение.Ключ = "v8-storage-dir" Тогда - Ключ = "КаталогХранилища1С"; - ИначеЕсли КлючИЗначение.Ключ = "email-domain" Тогда - Ключ = "ДоменПочтыДляGit"; - ИначеЕсли КлючИЗначение.Ключ = "v8-version" Тогда - Ключ = "ПутьКПлатформе83"; - ИначеЕсли КлючИЗначение.Ключ = "git-executable" Тогда - Ключ = "ПутьGit"; - ИначеЕсли КлючИЗначение.Ключ = "push-every-n-commits" Тогда - Ключ = "КоличествоКоммитовДоPush"; - ИначеЕсли КлючИЗначение.Ключ = "check-authors" Тогда - Ключ = "ПроверитьАвторовХранилища"; - ИначеЕсли КлючИЗначение.Ключ = "stop-if-empty-comment" Тогда - Ключ = "ПрерватьВыполнениеБезКомментарияКВерсии"; - ИначеЕсли КлючИЗначение.Ключ = "auto-set-tags" Тогда - Ключ = "АвтоматическаяУстановкаТэговПоВерсиям"; - ИначеЕсли КлючИЗначение.Ключ = "process-fatform-modules" Тогда - Ключ = "ПереименовыватьФайлМодуляОбычнойФормы"; + Ключ = СоответствиеКлючамИПараметра[КлючИЗначение.Ключ]; + + Если НЕ Ключ = Неопределено Тогда + Репо.Вставить(Ключ, КлючИЗначение.Значение); Иначе - ВызватьИсключение НекорректнаяСтруктураНастроек(); + ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек(); КонецЕсли; Если ПустаяСтрока(КлючИЗначение.Значение) и мНастройки.Свойство(Ключ) Тогда @@ -133,7 +113,7 @@ ИначеЕсли Чтение.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда Значение = ""; Иначе - ВызватьИсключение НекорректнаяСтруктураНастроек(); + ВызватьИсключение СтрокаНекорректнаяСтруктураНастроек(); КонецЕсли; Чтение.Прочитать(); @@ -142,6 +122,6 @@ КонецФункции -Функция НекорректнаяСтруктураНастроек() +Функция СтрокаНекорректнаяСтруктураНастроек() Возврат "Некорректная структура файла настроек"; КонецФункции diff --git a/tests/multi-controller-xml.os b/tests/multi-controller-xml.os index e67c3faa..7bac75dd 100644 --- a/tests/multi-controller-xml.os +++ b/tests/multi-controller-xml.os @@ -8,6 +8,7 @@ Перем мНастройки; Перем мПараметрыВызоваПакетногоСинхронизатора; +Перем Контроллер; Функция ПолучитьСписокТестов(Тесты) Экспорт юТест = Тесты; @@ -26,11 +27,9 @@ Процедура Инициализация() - ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/xml-config.os"), "ЧтениеКонфигаXML"); - ПодключитьСценарий(ОбъединитьПути(ТекущийСценарий().Каталог, "../src/json-config.os"), "ЧтениеКонфигаJSON"); - Лог = Логирование.ПолучитьЛог("oscript.app.gitsync"); Лог.УстановитьУровень(УровниЛога.Отладка); + Контроллер = Новый КонтроллерПакетнойСинхронизации КонецПроцедуры @@ -39,14 +38,17 @@ Функция ПрочитатьТестовыеНастройки() ФайлНастроек = КаталогFixtures() + "/config.xml"; - ЧтениеКонфига = Новый ЧтениеКонфигаXML(); + ЧтениеКонфига = Новый ЧтениеКонфигаXMLПакетнойСинхронизации(); + ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра(); мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); Возврат мНастройки; КонецФункции Функция ПрочитатьТестовыеНастройкиJSON() ФайлНастроек = КаталогFixtures() + "/config.json"; - ЧтениеКонфига = Новый ЧтениеКонфигаJSON(); + ЧтениеКонфига = Новый ЧтениеКонфигаJSONПакетнойСинхронизации(); + ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра(); + мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); Возврат мНастройки; КонецФункции From 6be879a24d587f48201dc5b847509e80d28feb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Mon, 13 Nov 2017 08:59:33 +0300 Subject: [PATCH 08/11] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B2?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B7=D0=BA=D1=83=20=D0=BA=D0=BE=D0=BC=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=D1=80=D0=B8=D0=B5=D0=B2.=20=D0=9F?= =?UTF-8?q?=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=20=D0=B7=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- ...0\320\267\320\260\321\206\320\270\320\270.os" | 16 ---------------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/packagedef b/packagedef index 4114225b..7cfcf8eb 100644 --- a/packagedef +++ b/packagedef @@ -13,7 +13,7 @@ .ЗависитОт("strings") .ЗависитОт("1commands", "1.2.1") .ЗависитОт("v8unpack") - .ЗависитОт("json") + .ЗависитОт("json", "1.0.0") .ЗависитОт("fs") .ВключитьФайл("src") .ВключитьФайл("tests") diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 990395dc..63f09d64 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -21,7 +21,6 @@ мНастройки = Новый Структура; JsonСтрока = ПрочитатьФайл(ФайлНастроек); - JsonСтрока = ВырезатьКомментарииИзТекстаJSON(JsonСтрока); ПарсерJSON = Новый ПарсерJSON(); ПараметрыJSON = ПарсерJSON.ПрочитатьJSON(JsonСтрока); @@ -52,21 +51,6 @@ КонецФункции - -Функция ВырезатьКомментарииИзТекстаJSON(Знач JsonСтрока) - - // вырезаем обычные комменты типа "// комментарий" - Регулярка = Новый РегулярноеВыражение("(^\/\/.*$)"); - Рез = Регулярка.Заменить(JsonСтрока, "$0" ); - - // вырезаем комменты после строки, например, "строка //комментарий" - Регулярка = Новый РегулярноеВыражение("(^.*)(\/\/.*$)"); - Рез = Регулярка.Заменить(Рез, "$1" ); - - Возврат Рез; - -КонецФункции // ВырезатьКомментарииИзТекстаJSON() - Процедура ПрочитатьНастройкиРепозитория(Знач СтруктураНастроекРепозитория ) Репо = Новый Структура; From 17a478148c82f292b2eb1e9a3729cdcd4b90eeb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Mon, 13 Nov 2017 09:04:06 +0300 Subject: [PATCH 09/11] =?UTF-8?q?=D0=A3=D0=BF=D1=80=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BA=D0=BE=D0=B4.=20=D1=81=D0=BE=D0=B3=D0=BB?= =?UTF-8?q?=D0=B0=D1=81=D0=BD=D0=BE=20=D1=80=D0=B5=D0=B2=D1=8C=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...75\320\270\320\267\320\260\321\206\320\270\320\270.os" | 6 ++---- ...75\320\270\320\267\320\260\321\206\320\270\320\270.os" | 8 +++++++- ...75\320\270\320\267\320\260\321\206\320\270\320\270.os" | 8 +++++++- tests/multi-controller-xml.os | 6 ++---- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 b4645ebc..71246ff9 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -49,16 +49,14 @@ Процедура ПрочитатьНастройкиИзФайлаXML(Знач ФайлНастроек) - Конфиг = Новый ЧтениеКонфигаXMLПакетнойСинхронизации; - Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра(); + Конфиг = Новый ЧтениеКонфигаXMLПакетнойСинхронизации(СоответствиеКлючамИПараметра()); мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); КонецПроцедуры Процедура ПрочитатьНастройкиИзФайлаJSON(Знач ФайлНастроек) - Конфиг = Новый ЧтениеКонфигаJSONПакетнойСинхронизации; - Конфиг.СоответствиеКлючамИПараметра = СоответствиеКлючамИПараметра(); + Конфиг = Новый ЧтениеКонфигаJSONПакетнойСинхронизации(СоответствиеКлючамИПараметра()); мНастройки = Конфиг.ПрочитатьНастройкиИзФайла(ФайлНастроек); КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 63f09d64..85a892f8 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260JSON\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -2,7 +2,13 @@ #Использовать json Перем мНастройки; -Перем СоответствиеКлючамИПараметра Экспорт; +Перем СоответствиеКлючамИПараметра; + +Процедура ПриСозданииОбъекта(ВходящиеСоответствиеКлючамИПараметра) + + СоответствиеКлючамИПараметра = ВходящиеСоответствиеКлючамИПараметра; + +КонецПроцедуры Функция ПрочитатьФайл(Знач ИмяФайла) ФайлСуществующий = Новый Файл(ИмяФайла); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 d6afd65d..6552ae8c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\247\321\202\320\265\320\275\320\270\320\265\320\232\320\276\320\275\321\204\320\270\320\263\320\260XML\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -1,6 +1,12 @@  Перем мНастройки; -перем СоответствиеКлючамИПараметра Экспорт; +перем СоответствиеКлючамИПараметра; + +Процедура ПриСозданииОбъекта(ВходящиеСоответствиеКлючамИПараметра) + + СоответствиеКлючамИПараметра = ВходящиеСоответствиеКлючамИПараметра; + +КонецПроцедуры Функция ПрочитатьНастройкиИзФайла(Знач ФайлНастроек) Экспорт diff --git a/tests/multi-controller-xml.os b/tests/multi-controller-xml.os index 7bac75dd..fc7ffddd 100644 --- a/tests/multi-controller-xml.os +++ b/tests/multi-controller-xml.os @@ -38,16 +38,14 @@ Функция ПрочитатьТестовыеНастройки() ФайлНастроек = КаталогFixtures() + "/config.xml"; - ЧтениеКонфига = Новый ЧтениеКонфигаXMLПакетнойСинхронизации(); - ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра(); + ЧтениеКонфига = Новый ЧтениеКонфигаXMLПакетнойСинхронизации(Контроллер.СоответствиеКлючамИПараметра()); мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); Возврат мНастройки; КонецФункции Функция ПрочитатьТестовыеНастройкиJSON() ФайлНастроек = КаталогFixtures() + "/config.json"; - ЧтениеКонфига = Новый ЧтениеКонфигаJSONПакетнойСинхронизации(); - ЧтениеКонфига.СоответствиеКлючамИПараметра = Контроллер.СоответствиеКлючамИПараметра(); + ЧтениеКонфига = Новый ЧтениеКонфигаJSONПакетнойСинхронизации(Контроллер.СоответствиеКлючамИПараметра()); мНастройки = ЧтениеКонфига.ПрочитатьНастройкиИзФайла(ФайлНастроек); Возврат мНастройки; From b7eab06a4bca3f2204e792c3c0d4a589aa466a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Mon, 13 Nov 2017 11:24:51 +0300 Subject: [PATCH 10/11] =?UTF-8?q?=D0=9F=D0=BE=D0=B2=D1=8B=D0=BC=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E=20=D1=82=D1=80?= =?UTF-8?q?=D0=B5=D0=B1=D1=83=D0=B5=D0=BC=D0=BE=D0=B3=D0=BE=20=D0=B4=D0=B2?= =?UTF-8?q?=D0=B8=D0=B6=D0=BA=D0=B0=20oscript?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 7cfcf8eb..03e820f2 100644 --- a/packagedef +++ b/packagedef @@ -3,7 +3,7 @@ Описание.Имя("gitsync") .Версия(ПараметрыСистемы_ЛокальнаяВерсия.ВерсияПродукта()) - .ВерсияСреды("1.0.16") + .ВерсияСреды("1.0.17") .ЗависитОт("logos") .ЗависитОт("cmdline", "0.6.1") .ЗависитОт("tempfiles") From 7f61cfe3a506714266d82de24bcdbba1cde6484e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A5=D0=BE=D1=80=D0=B5=D0=B2=20=D0=90=D0=BB=D0=B5=D0=BA?= =?UTF-8?q?=D1=81=D0=B5=D0=B9=20=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B5=D0=B2?= =?UTF-8?q?=D0=B8=D1=87?= Date: Mon, 13 Nov 2017 12:52:10 +0300 Subject: [PATCH 11/11] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B0=20=D1=84=D0=B8=D0=BA=D1=81?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D1=82=D0=B2=D0=B5=D1=82=D1=81=D0=B2=D0=B8=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\275\320\270\320\267\320\260\321\206\320\270\320\270.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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 71246ff9..5cf47f83 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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\232\320\276\320\275\321\202\321\200\320\276\320\273\320\273\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\275\320\276\320\271\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" @@ -148,7 +148,7 @@ СоответствиеКлючамИПараметра.Вставить("auto-set-tags", "АвтоматическаяУстановкаТэговПоВерсиям"); СоответствиеКлючамИПараметра.Вставить("process-fatform-modules", "ПереименовыватьФайлМодуляОбычнойФормы"); - Возврат СоответствиеКлючамИПараметра; + Возврат Новый ФиксированноеСоответствие(СоответствиеКлючамИПараметра); КонецФункции