From 24ec4b3a6619d3f148956881f4ae1db6985310ed Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Tue, 19 Mar 2019 17:54:42 +0500 Subject: [PATCH 01/37] =?UTF-8?q?=D0=94=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D1=8B=20=D1=81=20Git=20=D1=82=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83?= =?UTF-8?q?=D0=B5=D1=82=D1=81=D1=8F=20gitrunner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 76 ++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 45 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index c285ae8..9544136 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -1,4 +1,4 @@ -// Copyright 2016 xDrivenDevelopment +// Copyright 2016 xDrivenDevelopment // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ #Использовать asserts #Использовать v8runner #Использовать strings +#Использовать gitrunner Перем Лог; Перем КодВозврата; @@ -25,6 +26,7 @@ Перем ЭтоWindows; Перем ИспользоватьКонфигуратор; Перем КонтекстКонфигуратора; +Перем ГитРепозиторий; Функция Версия() Экспорт @@ -196,6 +198,9 @@ ИспользоватьКонфигуратор = Ложь; КонтекстКонфигуратора = Неопределено; + ГитРепозиторий = Новый ГитРепозиторий(); + ГитРепозиторий.УстановитьРабочийКаталог(ТекущийКаталог()); + Попытка Лог_cmdline = Логирование.ПолучитьЛог("oscript.lib.cmdline"); @@ -418,8 +423,7 @@ Процедура УстановитьВКаталог(Знач Каталог) Экспорт - КаталогГит = Новый Файл(ОбъединитьПути(Каталог, ".git")); - Если Не КаталогГит.Существует() Тогда + Если Не ГитРепозиторий.ЭтоРепозиторий() Тогда ВызватьИсключение "Каталог не является репозиторием GIT"; КонецЕсли; @@ -436,8 +440,8 @@ ДополнитьФайлХукаДаннымиПодключения(КаталогХуков); КонецЕсли; - ЗапуститьПриложение("git config --local core.quotepath false", Каталог, Истина); - ЗапуститьПриложение("git config --local core.longpaths true", Каталог, Истина); + ГитРепозиторий.УстановитьНастройку("core.quotePath", "false", РежимУстановкиНастроекGit.Локально); + ГитРепозиторий.УстановитьНастройку("core.longpaths", "true", РежимУстановкиНастроекGit.Локально); Лог.Информация("Установка завершена"); @@ -583,11 +587,11 @@ Процедура УдалитьФайлИзИндексаГит(Знач ПолныйПуть) Лог.Отладка("Удаляю файл из индекса"); - Вывод = ПолучитьВыводПроцесса("git rm --cached """ + ПолныйПуть + """", КодВозврата); - Лог.Отладка("Вывод git rm --cached: " + Вывод); - Если КодВозврата <> 0 Тогда - ВызватьИсключение "Не удалось удалить файл из журнала изменений git"; - КонецЕсли; + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("rm"); + ПараметрыКоманды.Добавить("--cached"); + ПараметрыКоманды.Добавить(ОбернутьПутьВКавычки(ПолныйПуть)); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); КонецПроцедуры Процедура ПроверитьНастройкиРепозитарияГит() Экспорт @@ -598,14 +602,9 @@ Процедура ПроверитьНастройкуРепозитарияГит(Настройка, ПравильноеЗначение) Перем КодВозврата; - КомандаПроверкаСостояния = СтрШаблон("git config %1", Настройка); - Лог.Отладка("Выполняю команду %1", КомандаПроверкаСостояния); - - Вывод = ПолучитьВыводПроцесса(КомандаПроверкаСостояния, КодВозврата); - Вывод = СокрЛП(Вывод); - Лог.Отладка(" Код возврата %1", КодВозврата); - Лог.Отладка(" Вывод команды <%1>", Вывод); - Если КодВозврата = 0 И Вывод = ПравильноеЗначение Тогда + Лог.Отладка("Выполняю проверку настройки %1", Настройка); + ЗначениеНастройки = ГитРепозиторий.ПолучитьНастройку(Настройка); + Если ЗначениеНастройки = ПравильноеЗначение Тогда Возврат; КонецЕсли; @@ -620,32 +619,20 @@ Функция ПолучитьЖурналИзмененийГит() Перем КодВозврата; - - Вывод = ВыполнитьКомандуГит("git diff-index --name-status --cached HEAD", КодВозврата, Ложь); - Если КодВозврата <> 0 Тогда - Вывод = ВыполнитьКомандуГит("git status --porcelain", КодВозврата, Ложь); - - Если КодВозврата <> 0 Тогда - ВызватьИсключение "Не удалось собрать журнал изменений git"; - КонецЕсли; - - КонецЕсли; + Попытка + ПараметрыКоманды = СтрРазделить("diff-index --name-status --cached HEAD", " "); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + Вывод = ГитРепозиторий.ПолучитьВыводКоманды(); + Исключение + ПараметрыКоманды = СтрРазделить("status --porcelain", " "); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); + Вывод = ГитРепозиторий.ПолучитьВыводКоманды(); + КонецПопытки; Возврат Вывод; КонецФункции -Функция ВыполнитьКомандуГит(КомандаГит, КодВозврата = Неопределено, ПроверятьНулевойКодВозврата = Истина) - - Лог.Отладка("Запускаю "+КомандаГит); - Вывод = ПолучитьВыводПроцесса(КомандаГит, КодВозврата); - Лог.Отладка(" Вывод команды гит: " + Вывод); - Если ПроверятьНулевойКодВозврата Тогда - Ожидаем.Что(КодВозврата, "Код возврата `"+КомандаГит+"` должен быть 0, а это не так").Равно(0); - КонецЕсли; - Возврат Вывод; -КонецФункции - Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата) // // Это для dev версии 1.0.11 @@ -706,12 +693,11 @@ Для Каждого Каталог Из СписокНовыхКаталогов Цикл Лог.Отладка("Запуск git add для каталога " + Каталог); - Вывод = ПолучитьВыводПроцесса("git add --all " + ОбернутьПутьВКавычки(Каталог), КодВозврата); - Лог.Отладка("Вывод git add: " + Вывод); - Если КодВозврата <> 0 Тогда - Лог.Ошибка(Вывод); - ЗавершитьРаботу(КодВозврата); - КонецЕсли; + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить("add"); + ПараметрыКоманды.Добавить("--all"); + ПараметрыКоманды.Добавить(ОбернутьПутьВКавычки(Каталог)); + ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); КонецЦикла From 5b34e6e3aadeff44162a0e6550d106e6a1c7f84e Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Tue, 19 Mar 2019 17:56:38 +0500 Subject: [PATCH 02/37] =?UTF-8?q?=D0=9D=D0=B5=D0=BC=D0=BD=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=83=D0=B1=D0=BE=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 9544136..f351c4c 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -1,4 +1,4 @@ -// Copyright 2016 xDrivenDevelopment +// Copyright 2016 xDrivenDevelopment // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -210,11 +210,11 @@ Лог_cmdline.ДобавитьСпособВывода(ВыводПоУмолчанию); Аппендер = Новый ВыводЛогаВФайл(); - Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта()+".cmdline.log")); + Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта() + ".cmdline.log")); Лог_cmdline.ДобавитьСпособВывода(Аппендер); Аппендер = Новый ВыводЛогаВФайл(); - Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта()+".log")); + Аппендер.ОткрытьФайл(ОбъединитьПути(КаталогПроекта(), ИмяСкрипта() + ".log")); Лог.ДобавитьСпособВывода(Аппендер); Исключение // Если прекоммит установлен, как приложение, в Program Files @@ -289,7 +289,7 @@ ПутьФайла = Файл.ПолноеИмя; Если Не ТипФайлаПоддерживается(Файл) Тогда - ВызватьИсключение "Тип файла """+Файл.Расширение+""" не поддерживается"; + ВызватьИсключение "Тип файла """ + Файл.Расширение + """ не поддерживается"; КонецЕсли; Ожидаем.Что(Файл.Существует(), "Файл " + ПутьФайла + " должен существовать").ЭтоИстина(); @@ -663,14 +663,7 @@ Функция ПолучитьИменаИзЖурналаИзмененийГит(Знач ЖурналИзмененийГит) Экспорт Лог.Отладка("ЖурналИзмененийГит:"); МассивИмен = Новый Массив; - // Если Найти(ЖурналИзмененийГит, Символы.ПС) > 0 Тогда - МассивСтрокЖурнала = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(ЖурналИзмененийГит, Символы.ПС); - // Иначе - // ЖурналИзмененийГит = СтрЗаменить(ЖурналИзмененийГит, "A"+Символ(0), "A"+" "); - // ЖурналИзмененийГит = СтрЗаменить(ЖурналИзмененийГит, "M"+Символ(0), "M"+" "); - // ЖурналИзмененийГит = СтрЗаменить(ЖурналИзмененийГит, Символ(0), Символы.ПС); - // МассивСтрокЖурнала = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(ЖурналИзмененийГит, Символы.ПС); //Символ(0)); - // КонецЕсли; + МассивСтрокЖурнала = СтроковыеФункции.РазложитьСтрокуВМассивПодстрок(ЖурналИзмененийГит, Символы.ПС); Для Каждого СтрокаЖурнала Из МассивСтрокЖурнала Цикл Лог.Отладка(" <%1>", СтрокаЖурнала); @@ -678,7 +671,6 @@ СимволИзменений = Лев(СтрокаЖурнала, 1); Если СимволИзменений = "A" или СимволИзменений = "M" Тогда ИмяФайла = СокрЛП(Сред(СтрокаЖурнала, 2)); - // ИмяФайла = СтрЗаменить(ИмяФайла, Символ(0), ""); МассивИмен.Добавить(ИмяФайла); Лог.Отладка(" В журнале git найдено имя файла <%1>", ИмяФайла); КонецЕсли; From 69b251f0afc4ec507a48eb99c0a40f9178a74f24 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Tue, 19 Mar 2019 18:06:45 +0500 Subject: [PATCH 03/37] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 1 + 1 file changed, 1 insertion(+) diff --git a/packagedef b/packagedef index bb92f0e..a167c95 100644 --- a/packagedef +++ b/packagedef @@ -8,6 +8,7 @@ .ЗависитОт("tempfiles", "0.2.2") .ЗависитОт("v8runner", "1.1.3") .ЗависитОт("1commands", "1.3.5") + .ЗависитОт("gitrunner", "1.6.0") .ВключитьФайл("license.md") .ВключитьФайл("readme.md") .ВключитьФайл("NOTICE") From 5928dc86418bf3b714b5d4932b1d9ece0367b98b Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Wed, 20 Mar 2019 10:08:56 +0500 Subject: [PATCH 04/37] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=B8=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83?= =?UTF-8?q?=D0=B5=D0=BC=D1=8B=D0=B9=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index f351c4c..07fe67c 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -633,33 +633,6 @@ КонецФункции -Функция ПолучитьВыводПроцесса(Знач КоманднаяСтрока, КодВозврата) - - // // Это для dev версии 1.0.11 - // Процесс = СоздатьПроцесс(КоманднаяСтрока, , Истина,, КодировкаТекста.UTF8); - // Процесс.Запустить(); - // Вывод = ""; - - // Процесс.ОжидатьЗавершения(); - - // Вывод = Вывод + Процесс.ПотокВывода.Прочитать(); - // Вывод = Вывод + Процесс.ПотокОшибок.Прочитать(); - - // КодВозврата = Процесс.КодВозврата; - - ЛогФайл = ВременныеФайлы.НовоеИмяФайла(); - СтрокаЗапуска = "cmd /C """ + КоманднаяСтрока + " > """ + ЛогФайл + """ 2>&1"""; - Лог.Отладка(СтрокаЗапуска); - ЗапуститьПриложение(СтрокаЗапуска,, Истина, КодВозврата); - Лог.Отладка("Код возврата: " + КодВозврата); - ЧтениеТекста = Новый ЧтениеТекста(ЛогФайл, "utf-8"); - Вывод = ЧтениеТекста.Прочитать(); - ЧтениеТекста.Закрыть(); - - Возврат Вывод; - -КонецФункции - Функция ПолучитьИменаИзЖурналаИзмененийГит(Знач ЖурналИзмененийГит) Экспорт Лог.Отладка("ЖурналИзмененийГит:"); МассивИмен = Новый Массив; From cd9e9d172cb720e96f6e9aa47fec48d19451602c Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Fri, 22 Mar 2019 13:08:28 +0500 Subject: [PATCH 05/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=83=D1=82=D1=8C=20=D0=BF=D1=80=D0=B8=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B5=20precommit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 1 + 1 file changed, 1 insertion(+) diff --git a/v8files-extractor.os b/v8files-extractor.os index 07fe67c..25ab2d9 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -423,6 +423,7 @@ Процедура УстановитьВКаталог(Знач Каталог) Экспорт + ГитРепозиторий.УстановитьРабочийКаталог(Каталог); Если Не ГитРепозиторий.ЭтоРепозиторий() Тогда ВызватьИсключение "Каталог не является репозиторием GIT"; КонецЕсли; From 6d033d63bb64472adc3ccc6c2356847218cc9533 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Fri, 22 Mar 2019 13:09:29 +0500 Subject: [PATCH 06/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=81=D0=BB=D0=B5=D1=88=D0=B8=20=D0=B2=20=D0=BF?= =?UTF-8?q?=D1=83=D1=82=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...1\203\321\200\320\260\321\202\320\276\321\200.feature" | 4 ++-- ...70\321\202\320\276\321\200\320\270\320\271Git.feature" | 8 ++++---- ...1\203\321\200\320\260\321\202\320\276\321\200.feature" | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 3affad4..d8f821c 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -33,7 +33,7 @@ И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" Сценарий: Разборка файла из заданной папки с указанием информационной базы - Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" Тогда в рабочем каталоге существует каталог "Fixture" И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture" @@ -45,7 +45,7 @@ И я создаю каталог "1" в подкаталоге "bin" рабочего каталога И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib" + И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index 4a28166..5611bdb 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -45,7 +45,7 @@ И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" Тогда В рабочем каталоге существует каталог ".git/hooks" И В рабочем каталоге существует каталог ".git/hooks/v8Reader" @@ -54,11 +54,11 @@ И В рабочем каталоге существует файл ".git/hooks/pre-commit" И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" - И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" Тогда В рабочем каталоге существует каталог ".git/hooks" И В рабочем каталоге существует каталог ".git/hooks/v8Reader" @@ -67,5 +67,5 @@ И В рабочем каталоге существует файл ".git/hooks/pre-commit" И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" - И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:\test\ib --ib-user UserTest --ib-pwd ********" + И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index d1c4236..1d12f7c 100644 --- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -19,5 +19,5 @@ Сценарий: Сборка файла из заданной папки с указанием информационной базы Когда я создаю каталог "bin" в рабочем каталоге И я выполняю команду "vanessa-runner" с параметрами "init-dev" - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>\build\ib" + И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" \ No newline at end of file From 4bdf29ae7d2b71dc56055fcccadbe657c966a716 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Fri, 22 Mar 2019 13:51:03 +0500 Subject: [PATCH 07/37] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BF=D1=83=D1=82=D0=B8=20=D0=BA=D0=BE=D1=80?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D1=8B=D0=BC=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7=D0=BD=D1=8B=D1=85=20=D0=BF=D0=BB=D0=B0?= =?UTF-8?q?=D1=82=D1=84=D0=BE=D1=80=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 25ab2d9..f21025b 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -323,10 +323,11 @@ ФайлКорень = Новый Файл(КаталогКорень); ФайлВнутреннийКаталог = Новый Файл(ВнутреннийКаталог); Рез = СтрЗаменить(ФайлВнутреннийКаталог.ПолноеИмя, ФайлКорень.ПолноеИмя, ""); - Если Лев(Рез, 1) = "\" Тогда + Разделитель = ПолучитьРазделительПути(); + Если Лев(Рез, 1) = Разделитель Тогда Рез = Сред(Рез, 2); КонецЕсли; - Если Прав(Рез, 1) = "\" Тогда + Если Прав(Рез, 1) = Разделитель Тогда Рез = Лев(Рез, СтрДлина(Рез)-1); КонецЕсли; Возврат Рез; From 96e3c2dd5685e29b7473d614f39fe3c3b3a5c795 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Fri, 22 Mar 2019 13:51:19 +0500 Subject: [PATCH 08/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=8F=D1=81=D0=BD=D0=BE=D1=81=D1=82=D0=B8=20=D0=B2=20?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=84=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...3\321\203\321\200\320\260\321\202\320\276\321\200.feature" | 4 ++-- ...3\321\203\321\200\320\260\321\202\320\276\321\200.feature" | 2 +- ...3\321\203\321\200\320\260\321\202\320\276\321\200.feature" | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index f27232b..fdcfd5a 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -1,8 +1,8 @@ # language: ru -Функционал: Выполнение операций по разборке на исходники с помощью хука pre-commit +Функционал: Выполнение операций по разборке на исходники конфигуратором с помощью хука pre-commit Как Пользователь - Я хочу иметь возможность разбирать внешние файлы на исходники с помощью хука pre-commit + Я хочу иметь возможность разбирать внешние файлы на исходники конфигуратором с помощью хука pre-commit Чтобы я не делал вручную разборку при commit'е Контекст: diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index d8f821c..0cb699c 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -1,6 +1,6 @@ # language: ru -Функционал: Выполнение операций по разборке на исходники +Функционал: Выполнение операций по разборке на исходники конфигуратором Как Пользователь Я хочу иметь возможность разбирать внешние файлы на исходники с помощью конфигуратора Чтобы я мог проще следить за изменениями в коде diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 1d12f7c..991036b 100644 --- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -1,8 +1,8 @@ # language: ru -Функционал: Сборка внешних файлов из исходников +Функционал: Сборка внешних файлов из исходников конфигуратором Как Пользователь - Я хочу иметь возможность собирать внешние файлы из исходников + Я хочу иметь возможность собирать внешние файлы из исходников конфигуратором Чтобы я мог не делать этого вручную Контекст: From ca4daf4bc74edc4142217a4c4ef4619d3ed27ddb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Wed, 27 Mar 2019 10:28:00 +0500 Subject: [PATCH 09/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D1=83=20(#133)=20?= =?UTF-8?q?=D0=B8=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit precommit1c --install --use-designer больше не падает --- ...1\200\320\260\321\202\320\276\321\200.feature" | 4 +--- ...02\320\276\321\200\320\270\320\271Git.feature" | 15 ++++++++++++++- v8files-extractor.os | 8 +++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index fdcfd5a..ba24d65 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -11,9 +11,7 @@ И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог И Я выполняю команду "git" с параметрами 'init' - И Я выполняю команду "git" с параметрами "config --local core.quotepath false" - И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" - И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --use-designer" + И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы Когда я создаю каталог "1" в рабочем каталоге diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index 5611bdb..f4dabb1 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -18,7 +18,7 @@ И Я выполняю команду "git" с параметрами "config --local core.longpaths true" И Я выполняю команду "git" с параметрами <Настройка> И Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config' - Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!" + Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!" Примеры: |Настройка| @@ -57,6 +57,19 @@ И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" +Сценарий: Установка precommit1c в репозиторий с использованием конфигуратора + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" + И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" + Тогда В рабочем каталоге существует каталог ".git/hooks" + И В рабочем каталоге существует каталог ".git/hooks/v8Reader" + И В рабочем каталоге существует каталог ".git/hooks/tools" + И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" + И В рабочем каталоге существует файл ".git/hooks/pre-commit" + И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" + И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer" + И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" + Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" diff --git a/v8files-extractor.os b/v8files-extractor.os index f21025b..8fb5c3f 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -451,9 +451,11 @@ Процедура ДополнитьФайлХукаДаннымиПодключения(КаталогХуков) СтрокаПараметровПодключения = ?(ИспользоватьКонфигуратор, " --use-designer", ""); - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль, "--ib-pwd"); + Если ЗначениеЗаполнено(КонтекстКонфигуратора) Тогда + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); + ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль, "--ib-pwd"); + КонецЕсли; СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметровПодключения); ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены) From ddcd4472e52e721a77fb605beabba3b1ed11ab92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Wed, 10 Apr 2019 15:56:02 +0500 Subject: [PATCH 10/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=80=D0=B0=D0=B7=D0=B1=D0=BE=D1=80=20mxl=20?= =?UTF-8?q?=D0=B2=20=D1=81=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B8=20git?= =?UTF-8?q?-precommit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\320\275\320\270\320\272\320\270.feature" | 12 ++++++++++ ...20\275\320\270\320\272\320\270Git.feature" | 11 ++++++++++ v8files-extractor.os | 22 ++++++++++++++----- 3 files changed, 39 insertions(+), 6 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index 1ef2809..42227cb 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -36,3 +36,15 @@ И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + +Контекст: + Допустим я создаю временный каталог и сохраняю его в контекст + И я сохраняю каталог проекта в контекст + И я устанавливаю временный каталог как рабочий каталог + И я установил рабочий каталог как текущий каталог + +Сценарий: Разборка макета из заданной папки + Когда я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога + И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 345b93f..076dfa1 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -43,3 +43,14 @@ И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" + +Сценарий: Разборка изменений макета по журналу Git + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" + И я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога + И я создаю каталог "src" в рабочем каталоге + И я выполняю команду "git" с параметрами "add -A ." + И я выполняю команду "git" с параметрами "status" + И я выполняю команду "git" с параметрами 'commit -m "init commit"' + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt" diff --git a/v8files-extractor.os b/v8files-extractor.os index 8fb5c3f..03d836c 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -292,17 +292,27 @@ ВызватьИсключение "Тип файла """ + Файл.Расширение + """ не поддерживается"; КонецЕсли; + ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; + Ожидаем.Что(Файл.Существует(), "Файл " + ПутьФайла + " должен существовать").ЭтоИстина(); - ОтносительныйПутьКаталогаФайла = ПолучитьОтносительныйПутьФайла(КаталогКорень, ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения)); - Лог.Отладка("ОтносительныйПутьКаталогаФайла <%1>", ОтносительныйПутьКаталогаФайла); + Если ЭтоМакет Тогда - ПутьКаталогаИсходников = ОбъединитьПути(КаталогВыгрузки, ОтносительныйПутьКаталогаФайла); - Лог.Отладка("ПутьКаталогаИсходников <%1>", ПутьКаталогаИсходников); - ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников); + ПутьРазобранногоМакета = ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения + "_mxl.txt"); + Лог.Отладка("ПутьРазобранногоМакета <%1>", ПутьРазобранногоМакета); + ПапкаИсходников = Новый Файл(ПутьРазобранногоМакета); + + Иначе + + ОтносительныйПутьКаталогаФайла = ПолучитьОтносительныйПутьФайла(КаталогКорень, ОбъединитьПути(Файл.Путь, Файл.ИмяБезРасширения)); + Лог.Отладка("ОтносительныйПутьКаталогаФайла <%1>", ОтносительныйПутьКаталогаФайла); + + ПутьКаталогаИсходников = ОбъединитьПути(КаталогВыгрузки, ОтносительныйПутьКаталогаФайла); + Лог.Отладка("ПутьКаталогаИсходников <%1>", ПутьКаталогаИсходников); + ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников); - Если НЕ ВРег(Файл.Расширение) = ".MXL" Тогда ОбеспечитьПустойКаталог(ПапкаИсходников); + КонецЕсли; Если ВРег(Файл.Расширение) = ".CFE" Тогда From af94b0bf3c91073de45a3a4ddc0ac5ac6e14427f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Thu, 11 Apr 2019 17:27:55 +0500 Subject: [PATCH 11/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D1=83?= =?UTF-8?q?=20=D1=81=D1=80=D0=B0=D0=B7=D1=83=20=D1=81=20=D1=84=D0=BB=D0=B0?= =?UTF-8?q?=D0=B3=D0=BE=D0=BC=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B1=D0=B8=D0=BD=D0=B0=D1=80=D0=BD=D0=B8=D0=BA=D0=BE?= =?UTF-8?q?=D0=B2=20=D0=B8=D0=B7=20=D0=B8=D0=BD=D0=B4=D0=B5=D0=BA=D1=81?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 18 ++++++++++-- ...20\275\320\270\320\272\320\270Git.feature" | 9 +++--- ...0\320\260\321\202\320\276\321\200.feature" | 9 +++--- v8files-extractor.os | 29 ++++++++++++------- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 04c2ffd..e649326 100644 --- a/README.md +++ b/README.md @@ -89,14 +89,28 @@ oscript v8files-extractor.os ? Разбор файлов на исходники --help Показ этого экрана + --git-check-config + Проверка настроек репозитория git --git-precommit outputPath [--remove-orig-bin-files] Запустить чтение индекса из git и определить список файлов для разбора, разложить их и добавить исходники в индекс - Если передан флаг --remove-orig-bin-files, обработанные файлы epf/ert будут удалены из индекса git + Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git --compile inputPath outputPath [--recursive] Собрать внешний файл/обработку. Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога - --install + --install [--remove-orig-bin-files] Установить precommit1c для текущего репозитория git + Если передан флаг --remove-orig-bin-files, обработанные файлы epf/erf будут удалены из индекса git + +Общие параметры: + --use-designer + Если передан этот флаг, то для операций сборки/разборки будет использован конфигуратор 1С. + ТОЛЬКО ДЛЯ ВЕРСИЙ ПЛАТФОРМЫ 8.3.8 И ВЫШЕ! + --ib-connection-string + Строка подключения к информационной базе + --ib-user + Имя пользователя в информационной базе + --ib-pwd + Пароль пользователя в информационной базе ``` ## Ограничения diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 345b93f..7bf430e 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -12,10 +12,10 @@ И я установил рабочий каталог как текущий каталог И Я выполняю команду "git" с параметрами 'init' И Я выполняю команду "git" с параметрами "config --local core.quotepath false" - И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" Сценарий: Разборка изменений по журналу Git с вложенными каталогами - Когда я создаю каталог "1" в рабочем каталоге + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" + И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." @@ -29,11 +29,10 @@ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша - Когда я создаю каталог "1" в рабочем каталоге + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --remove-orig-bin-files" + И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src" на строку "v8files-extractor.os --git-precommit src --remove-orig-bin-files" - И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --remove-orig-bin-files" И я выполняю команду "git" с параметрами "add -A ." И я выполняю команду "git" с параметрами "status" И я выполняю команду "git" с параметрами 'commit -m "init commit"' diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index ba24d65..94c4cba 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -11,10 +11,10 @@ И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог И Я выполняю команду "git" с параметрами 'init' - И Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы - Когда я создаю каталог "1" в рабочем каталоге + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" + И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." @@ -28,11 +28,10 @@ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы - Когда я создаю каталог "1" в рабочем каталоге + Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --remove-orig-bin-files" + И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я заменяю в файле ".git/hooks/pre-commit" в рабочем каталоге строку "v8files-extractor.os --git-precommit src --use-designer" на строку "v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files" - И Файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --remove-orig-bin-files" И я выполняю команду "git" с параметрами "add -A ." И я выполняю команду "git" с параметрами "status" И я выполняю команду "git" с параметрами 'commit -m "init commit"' diff --git a/v8files-extractor.os b/v8files-extractor.os index 8fb5c3f..655e53c 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -120,7 +120,10 @@ Аргументы.ЗначенияПараметров["--recursive"] ); ИначеЕсли Команда = ВозможныеКоманды().Установить Тогда - УстановитьВКаталог(ТекущийКаталог()); + УстановитьВКаталог( + ТекущийКаталог(), + Аргументы.ЗначенияПараметров["--remove-orig-bin-files"] + ); КонецЕсли; Исключение @@ -182,6 +185,7 @@ Процедура ДобавитьОписаниеКомандыУстановить(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().Установить); Парсер.ДобавитьКоманду(ОписаниеКоманды); + Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--remove-orig-bin-files"); КонецПроцедуры Процедура Инициализация() @@ -422,7 +426,7 @@ ЛогКонфигуратора.Закрыть(); КонецПроцедуры -Процедура УстановитьВКаталог(Знач Каталог) Экспорт +Процедура УстановитьВКаталог(Знач Каталог, Знач УдалятьФайлыИзИндексаГит = Ложь) Экспорт ГитРепозиторий.УстановитьРабочийКаталог(Каталог); Если Не ГитРепозиторий.ЭтоРепозиторий() Тогда @@ -438,9 +442,7 @@ КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "v8files-extractor.os"); КопироватьВКаталог(КаталогПрекоммита, КаталогХуков, "tools"); - Если ИспользоватьКонфигуратор Или НЕ КонтекстКонфигуратора = Неопределено Тогда - ДополнитьФайлХукаДаннымиПодключения(КаталогХуков); - КонецЕсли; + ДополнитьФайлХука(КаталогХуков, УдалятьФайлыИзИндексаГит); ГитРепозиторий.УстановитьНастройку("core.quotePath", "false", РежимУстановкиНастроекGit.Локально); ГитРепозиторий.УстановитьНастройку("core.longpaths", "true", РежимУстановкиНастроекGit.Локально); @@ -449,16 +451,21 @@ КонецПроцедуры -Процедура ДополнитьФайлХукаДаннымиПодключения(КаталогХуков) +Процедура ДополнитьФайлХука(КаталогХуков, УдалятьФайлыИзИндексаГит) СтрокаПараметровПодключения = ?(ИспользоватьКонфигуратор, " --use-designer", ""); + СтрокаПараметровПодключения = ?(УдалятьФайлыИзИндексаГит, + СтрокаПараметровПодключения + " --remove-orig-bin-files", + СтрокаПараметровПодключения); Если ЗначениеЗаполнено(КонтекстКонфигуратора) Тогда ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль, "--ib-pwd"); КонецЕсли; - СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; - СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметровПодключения); - ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены) + Если ЗначениеЗаполнено(СтрокаПараметровПодключения) Тогда + СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; + СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметровПодключения); + ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены); + КонецЕсли; КонецПроцедуры Процедура ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, Знач ЗначениеПараметра, Знач ИмяПараметра) @@ -528,7 +535,6 @@ Сообщить("Параметры командной строки:"); Сообщить(" --decompile inputPath outputPath"); Сообщить(" Разбор файлов на исходники"); - Сообщить(" --help"); Сообщить(" Показ этого экрана"); Сообщить(" --git-check-config"); @@ -539,8 +545,9 @@ Сообщить(" --compile inputPath outputPath [--recursive]"); Сообщить(" Собрать внешний файл/обработку."); Сообщить(" Если указан параметр --recursive, скрипт будет рекурсивно искать исходные коды отчетов и обработок в указанном каталоге и собирать их, повторяя структуру каталога"); - Сообщить(" --install"); + Сообщить(" --install [--remove-orig-bin-files]"); Сообщить(" Установить precommit1c для текущего репозитория git"); + Сообщить(" Если передан флаг --remove-orig-bin-files, обработанные файлы epf/ert будут удалены из индекса git"); Сообщить(" "); Сообщить("Общие параметры:"); Сообщить(" --use-designer"); From d3f25a51e96fa3efbe1412ef109154c4249c7bee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Thu, 11 Apr 2019 17:41:36 +0500 Subject: [PATCH 12/37] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B5=20=D1=84=D0=B8?= =?UTF-8?q?=D1=87=D0=B8=20=D0=B8=20=D1=88=D0=B0=D0=B3=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\200\320\260\321\206\320\270\320\270.os" | 52 ------------------- ...0\320\260\321\206\320\270\320\271.feature" | 18 ------- 2 files changed, 70 deletions(-) delete mode 100644 "features/step_definitions/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" delete mode 100644 "features/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\321\205\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271.feature" diff --git "a/features/step_definitions/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" "b/features/step_definitions/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" deleted file mode 100644 index 66aa707..0000000 --- "a/features/step_definitions/\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\320\265\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\270.os" +++ /dev/null @@ -1,52 +0,0 @@ -// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd -#Использовать 1commands -#Использовать asserts - -Перем БДД; //контекст фреймворка 1bdd -Перем Лог; - -// Метод выдает список шагов, реализованных в данном файле-шагов -Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт - БДД = КонтекстФреймворкаBDD; - - ВсеШаги = Новый Массив; - - ВсеШаги.Добавить("ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку"); - - Возврат ВсеШаги; -КонецФункции - -// Реализация шагов - -// Процедура выполняется перед запуском каждого сценария -Процедура ПередЗапускомСценария(Знач Узел) Экспорт - -КонецПроцедуры - -// Процедура выполняется после завершения каждого сценария -Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - -КонецПроцедуры - -// Я заменяю в файле "file.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены" -Процедура ЯЗаменяюВФайлеВРабочемКаталогеСтрокуНаСтроку(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт - ПолныйПутьФайла = ОбъединитьПути(РабочийКаталог(), ПутьФайла); - Чтение = Новый ЧтениеТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM); - Текст = Чтение.Прочитать(); - Текст = СтрЗаменить(Текст, СтрокаПоиска, СтрокаЗамены); - Чтение.Закрыть(); - Запись = Новый ЗаписьТекста(ПолныйПутьФайла, КодировкаТекста.UTF8NoBOM); - Запись.Записать(Текст); - Запись.Закрыть(); -КонецПроцедуры - -//{ Служебные методы - -Функция РабочийКаталог() - Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог"); -КонецФункции - - -//} - -Лог = Логирование.ПолучитьЛог("bdd"); \ No newline at end of file diff --git "a/features/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\321\205\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271.feature" "b/features/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\321\205\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271.feature" deleted file mode 100644 index cf4d5cf..0000000 --- "a/features/\320\237\321\200\320\276\320\262\320\265\321\200\320\272\320\260\320\241\321\202\321\200\320\276\320\272\320\276\320\262\321\213\321\205\320\236\320\277\320\265\321\200\320\260\321\206\320\270\320\271.feature" +++ /dev/null @@ -1,18 +0,0 @@ -# language: ru - -Функционал: Выполнение строковых операций с файлами - Как Пользователь - Я хочу иметь возможность выполнять разные строковые операции с файлами - Чтобы я мог проще тестировать фичи - -Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст - И я сохраняю каталог проекта в контекст - И я устанавливаю временный каталог как рабочий каталог - И я установил рабочий каталог как текущий каталог - -Сценарий: Замена подстроки в файле - Когда я копирую файл "fixture.txt" из каталога "tests" проекта в подкаталог "" рабочего каталога - И я заменяю в файле "fixture.txt" в рабочем каталоге строку "строка поиска" на строку "строка замены" - Тогда файл "fixture.txt" в рабочем каталоге содержит "строка замены" - И файл "fixture.txt" в рабочем каталоге не содержит "строка поиска" From 05c02a292992325cf0db5f635bc3f27238b07b54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 12 Apr 2019 14:56:47 +0500 Subject: [PATCH 13/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B2?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B7=D0=BD=D1=8B=D1=85=20=D1=81=D1=86=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=D1=80=D0=B8=D1=8F=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...202\320\276\321\200\320\270\320\271Git.os" | 81 +++++++++++++++++++ ...20\276\321\200\320\270\320\271Git.feature" | 40 +++------ 2 files changed, 93 insertions(+), 28 deletions(-) create mode 100644 "features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" new file mode 100644 index 0000000..7ef5ba3 --- /dev/null +++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" @@ -0,0 +1,81 @@ +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +#Использовать 1commands +#Использовать asserts + +Перем БДД; //контекст фреймворка 1bdd +Перем Лог; + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами"); + ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Я устанавливаю Precommit в рабочий каталог с параметрами "Параметры" +Процедура ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами(Знач Параметры) Экспорт + + ПараметрыКоманды = Новый Массив; + ПараметрыКоманды.Добавить(ОбъединитьПути(КаталогПроекта(), "v8files-extractor.os")); + ПараметрыКоманды.Добавить("--install"); + Если ЗначениеЗаполнено(Параметры) Тогда + ПараметрыКоманды.Добавить(Параметры); + КонецЕсли; + + Команда = Новый Команда; + + Команда.УстановитьКоманду("oscript"); + Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8); + Команда.УстановитьРабочийКаталог(РабочийКаталог()); + Команда.ДобавитьПараметры(ПараметрыКоманды); + + Лог.Отладка("Устанавливаем precommit1c с параметрами %1", СтрСоединить(Команда.ПолучитьПараметры(), " ")); + + КодВозврата = Команда.Исполнить(); + + Если КодВозврата <> 0 Тогда + Лог.Ошибка("Получен ненулевой код возврата " + КодВозврата + ". Выполнение скрипта остановлено!"); + ВызватьИсключение СокрЛП(Команда.ПолучитьВывод()); + Иначе + Лог.Отладка("Код возврата равен 0"); + КонецЕсли; + +КонецПроцедуры + +// Файл хука в репозитории рабочего каталога содержит "Параметры" +Процедура ФайлХукаВРепозиторииРабочегоКаталогаСодержит(Знач Параметры) Экспорт + СтрокаШага = СтрШаблон("файл "".git/hooks/pre-commit"" в рабочем каталоге содержит ""oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src %1""", + Параметры); + БДД.ВыполнитьШаг(СтрокаШага); +КонецПроцедуры + +//{ Служебные методы + +Функция РабочийКаталог() + Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог"); +КонецФункции + +Функция КаталогПроекта() + Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта"); +КонецФункции + +//} + +Лог = Логирование.ПолучитьЛог("bdd"); \ No newline at end of file diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index f4dabb1..1bf3bca 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -44,8 +44,8 @@ И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" -Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" +Структура сценария: Установка precommit1c в репозиторий с параметрами: <Параметры> + Когда Я устанавливаю Precommit в рабочий каталог с параметрами <Параметры> И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" Тогда В рабочем каталоге существует каталог ".git/hooks" И В рабочем каталоге существует каталог ".git/hooks/v8Reader" @@ -54,31 +54,15 @@ И В рабочем каталоге существует файл ".git/hooks/pre-commit" И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" - И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" + И Файл хука в репозитории рабочего каталога содержит <Параметры> И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" -Сценарий: Установка precommit1c в репозиторий с использованием конфигуратора - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" - И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" - Тогда В рабочем каталоге существует каталог ".git/hooks" - И В рабочем каталоге существует каталог ".git/hooks/v8Reader" - И В рабочем каталоге существует каталог ".git/hooks/tools" - И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" - И В рабочем каталоге существует файл ".git/hooks/pre-commit" - И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" - И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" - И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer" - И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" - -Сценарий: Установка precommit1c в репозиторий с указанием сервисной базы и использованием конфигуратора - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" - И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" - Тогда В рабочем каталоге существует каталог ".git/hooks" - И В рабочем каталоге существует каталог ".git/hooks/v8Reader" - И В рабочем каталоге существует каталог ".git/hooks/tools" - И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" - И В рабочем каталоге существует файл ".git/hooks/pre-commit" - И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" - И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" - И файл ".git/hooks/pre-commit" в рабочем каталоге содержит "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src --use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********" - И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" +Примеры: + |Параметры| + |--use-designer| + |--remove-orig-bin-files| + |--ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********| + |--use-designer --remove-orig-bin-files| + |--use-designer --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********| + |--remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********| + |--use-designer --remove-orig-bin-files --ib-connection-string /Fc:/test/ib --ib-user UserTest --ib-pwd ********| From 3dbfa9b7d9e9d8118fd8b940c8458b4e5db0acd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 12 Apr 2019 15:02:40 +0500 Subject: [PATCH 14/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BE=D1=82=D1=81=D1=82=D1=83=D0=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" index 7ef5ba3..bf15fd9 100644 --- "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" +++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" @@ -43,7 +43,7 @@ Команда.УстановитьКоманду("oscript"); Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8); - Команда.УстановитьРабочийКаталог(РабочийКаталог()); + Команда.УстановитьРабочийКаталог(РабочийКаталог()); Команда.ДобавитьПараметры(ПараметрыКоманды); Лог.Отладка("Устанавливаем precommit1c с параметрами %1", СтрСоединить(Команда.ПолучитьПараметры(), " ")); From 0173f4fdbc89466461ca10c1f64a60a3c7a99327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Fri, 12 Apr 2019 15:47:18 +0500 Subject: [PATCH 15/37] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\276\320\264\320\275\320\270\320\272\320\270.feature" | 6 ------ 1 file changed, 6 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index 42227cb..5f95718 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -37,12 +37,6 @@ И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" -Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст - И я сохраняю каталог проекта в контекст - И я устанавливаю временный каталог как рабочий каталог - И я установил рабочий каталог как текущий каталог - Сценарий: Разборка макета из заданной папки Когда я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога From f69198e28474b739dfb85390b8babf0c3b9ac525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Mon, 15 Apr 2019 13:20:45 +0500 Subject: [PATCH 16/37] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B8=D0=BD=D0=B3=20=D1=82=D0=B5=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\264\320\275\320\270\320\272\320\270.feature" | 8 ++++---- ...0\264\320\275\320\270\320\272\320\270Git.feature" | 11 ++++------- ...\321\200\320\260\321\202\320\276\321\200.feature" | 10 ++++------ ...\321\200\320\260\321\202\320\276\321\200.feature" | 8 ++++---- ...1\202\320\276\321\200\320\270\320\271Git.feature" | 8 ++++---- ...\320\275\320\270\320\272\320\276\320\262.feature" | 12 +++++++++--- ...\321\200\320\260\321\202\320\276\321\200.feature" | 10 +++++----- 7 files changed, 34 insertions(+), 33 deletions(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index 1ef2809..eae51f4 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -20,17 +20,17 @@ И в подкаталоге "Fixture" рабочего каталога существует каталог "und" Сценарий: Разборка макета из заданной папки - Когда я создаю каталог "1" в рабочем каталоге + Дано я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt" Сценарий: Разборка каталога с вложенными каталогами - Когда я создаю каталог "bin" в рабочем каталоге + Дано я создаю каталог "bin" в рабочем каталоге И я создаю каталог "1" в подкаталоге "bin" рабочего каталога И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src" Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 7bf430e..be33403 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -11,16 +11,14 @@ И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог И Я выполняю команду "git" с параметрами 'init' - И Я выполняю команду "git" с параметрами "config --local core.quotepath false" Сценарий: Разборка изменений по журналу Git с вложенными каталогами - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" + Дано я устанавливаю Precommit в рабочий каталог с параметрами "" И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." - И я выполняю команду "git" с параметрами "status" - И я выполняю команду "git" с параметрами 'commit -m "init commit"' + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" @@ -29,13 +27,12 @@ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --remove-orig-bin-files" + Дано я устанавливаю Precommit в рабочий каталог с параметрами "--remove-orig-bin-files" И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." - И я выполняю команду "git" с параметрами "status" - И я выполняю команду "git" с параметрами 'commit -m "init commit"' + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 94c4cba..a9f651e 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -13,13 +13,12 @@ И Я выполняю команду "git" с параметрами 'init' Сценарий: Разборка изменений по журналу Git с вложенными каталогами без указания информационной базы - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer" + Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer" И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." - И я выполняю команду "git" с параметрами "status" - И я выполняю команду "git" с параметрами 'commit -m "init commit"' + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" @@ -28,13 +27,12 @@ И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install --use-designer --remove-orig-bin-files" + Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --remove-orig-bin-files" И я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." - И я выполняю команду "git" с параметрами "status" - И я выполняю команду "git" с параметрами 'commit -m "init commit"' + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 0cb699c..514014c 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -21,11 +21,11 @@ И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates" Сценарий: Разборка каталога с вложенными каталогами без указания информационной базы - Когда я создаю каталог "bin" в рабочем каталоге + Дано я создаю каталог "bin" в рабочем каталоге И я создаю каталог "1" в подкаталоге "bin" рабочего каталога И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer" Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" @@ -41,11 +41,11 @@ И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates" Сценарий: Разборка каталога с вложенными каталогами с указанием информационной базы - Когда я создаю каталог "bin" в рабочем каталоге + Дано я создаю каталог "bin" в рабочем каталоге И я создаю каталог "1" в подкаталоге "bin" рабочего каталога И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" Тогда в рабочем каталоге существует каталог "src/1/Fixture" И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index 1bf3bca..77a5d01 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -13,11 +13,11 @@ И Я выполняю команду "git" с параметрами 'init' Структура сценария: Проверка настроек репозитория Git (простой отрицательный) - <Настройка> - Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога + Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога И Я выполняю команду "git" с параметрами "config --local core.quotepath false" И Я выполняю команду "git" с параметрами "config --local core.longpaths true" И Я выполняю команду "git" с параметрами <Настройка> - И Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config' + Когда Я выполняю команду "oscript" с параметрами '.git/hooks/v8files-extractor.os --git-check-config' Тогда вывод команды "oscript" содержит "У текущего репозитария не заданы необходимые настройки!" Примеры: @@ -26,10 +26,10 @@ |config --local core.longpaths false| Сценарий: Проверка настроек репозитория Git (простой положительный) - Когда Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога + Дано Я копирую файл "v8files-extractor.os" из каталога "" проекта в подкаталог ".git/hooks" рабочего каталога И Я выполняю команду "git" с параметрами "config --local core.quotepath false" И Я выполняю команду "git" с параметрами "config --local core.longpaths true" - И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" + Когда Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" Тогда вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" Сценарий: Установка precommit1c в репозиторий diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" index d9d9e08..05cf163 100644 --- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" @@ -12,6 +12,12 @@ И я установил рабочий каталог как текущий каталог Сценарий: Сборка файла из заданной папки - Когда я создаю каталог "bin" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin" - Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" \ No newline at end of file + Дано я создаю каталог "bin" в рабочем каталоге + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\Fixture <РабочийКаталог>\bin" + Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" + +Сценарий: Сборка файла из заданной папки с указанием информационной базы + Дано я создаю каталог "bin" в рабочем каталоге + И я выполняю команду "vanessa-runner" с параметрами "init-dev" + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\fixture <РабочийКаталог>\bin --ib-connection-string /F<РабочийКаталог>/build/ib" + Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 991036b..acd761d 100644 --- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -12,12 +12,12 @@ И я установил рабочий каталог как текущий каталог Сценарий: Сборка файла из заданной папки без указания информационной базы - Когда я создаю каталог "bin" в рабочем каталоге - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer" + Дано я создаю каталог "bin" в рабочем каталоге + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer" Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" Сценарий: Сборка файла из заданной папки с указанием информационной базы - Когда я создаю каталог "bin" в рабочем каталоге + Дано я создаю каталог "bin" в рабочем каталоге И я выполняю команду "vanessa-runner" с параметрами "init-dev" - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" - Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" \ No newline at end of file + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>\v8files-extractor.os --compile <КаталогПроекта>\src\tests\UseDesigner\fixture <РабочийКаталог>\bin --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" + Тогда в подкаталоге "bin" рабочего каталога существует файл "Fixture.epf" From db2691796d8a09d319877e3ce6cefeacee02ce45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D1=80=D0=B8=D1=81=20=D0=A1=D1=82=D0=BE=D1=8F?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Mon, 15 Apr 2019 14:01:27 +0500 Subject: [PATCH 17/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20?= =?UTF-8?q?=D1=80=D0=B0=D0=B7=D0=B1=D0=BE=D1=80=D0=B0=20=D0=B2=20=D1=81?= =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B0=D1=80=D0=B8=D0=B8=20precommit=20=D1=81?= =?UTF-8?q?=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20?= =?UTF-8?q?=D0=98=D0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit + обновил Readme --- README.md | 4 ++-- ...321\202\320\276\321\200\320\270\320\271Git.os" | 14 +++++++++++++- ...64\320\275\320\270\320\272\320\270Git.feature" | 15 +++++++++++++++ ...1\200\320\260\321\202\320\276\321\200.feature" | 15 +++++++++++++++ 4 files changed, 45 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e649326..5272012 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,7 @@ oscript v8files-extractor.os ? Если передан этот флаг, то для операций сборки/разборки будет использован конфигуратор 1С. ТОЛЬКО ДЛЯ ВЕРСИЙ ПЛАТФОРМЫ 8.3.8 И ВЫШЕ! --ib-connection-string - Строка подключения к информационной базе + Строка подключения к информационной базе (для Windows-путей обязательно экранировать '\' так: '\\'!) --ib-user Имя пользователя в информационной базе --ib-pwd @@ -149,7 +149,7 @@ git config --local core.longpaths true 1. Нужно выполнить следующее: * добавить нужную обработку в индекс git - например, `git add XXX.epf` - * установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов + * установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов * выполнить `git commit` или `precommit1c --git-precommit` + Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG` diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" index bf15fd9..5638f14 100644 --- "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" +++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" @@ -36,7 +36,7 @@ ПараметрыКоманды.Добавить(ОбъединитьПути(КаталогПроекта(), "v8files-extractor.os")); ПараметрыКоманды.Добавить("--install"); Если ЗначениеЗаполнено(Параметры) Тогда - ПараметрыКоманды.Добавить(Параметры); + ПараметрыКоманды.Добавить(ЗаменитьШаблоныВПараметрахКоманды(Параметры)); КонецЕсли; Команда = Новый Команда; @@ -76,6 +76,18 @@ Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта"); КонецФункции +Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды) + Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(БДД.КаталогПроверяемогоПроекта())); + Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(БДД.ПолучитьИзКонтекста("РабочийКаталог"))); + Возврат Рез; +КонецФункции + +Функция ЭкранированныйПуть(Знач Путь) + Рег = Новый РегулярноеВыражение("(?/build/ib" + И я выполняю команду "vanessa-runner" с параметрами "init-dev" + И я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога + И я создаю каталог "src" в рабочем каталоге + И я выполняю команду "git" с параметрами "add -A ." + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' + Тогда в рабочем каталоге существует каталог "src/1/Fixture" + И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" + И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" + И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" + И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index a9f651e..016087b 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -39,3 +39,18 @@ И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" + +Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы + Дано Я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" + И я выполняю команду "vanessa-runner" с параметрами "init-dev" + И я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "1" рабочего каталога + И я создаю каталог "src" в рабочем каталоге + И я выполняю команду "git" с параметрами "add -A ." + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' + Тогда в рабочем каталоге существует каталог "src/1/Fixture" + И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" + И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" + И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" + И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" From bbf4d58ad5dbe6c88b36d3970b7e4820448bcf5d Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 4 May 2019 12:30:28 +0500 Subject: [PATCH 18/37] =?UTF-8?q?=D0=9E=D1=82=D1=80=D0=B5=D1=84=D0=B0?= =?UTF-8?q?=D0=BA=D1=82=D0=BE=D1=80=D0=B8=D0=BB=20=D1=82=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\264\320\275\320\270\320\272\320\270.os" | 94 +++++++++++++++++++ ...202\320\276\321\200\320\270\320\271Git.os" | 25 ++++- ...4\320\275\320\270\320\272\320\270.feature" | 14 +-- ...20\275\320\270\320\272\320\270Git.feature" | 18 +--- ...0\320\260\321\202\320\276\321\200.feature" | 18 +--- ...0\320\260\321\202\320\276\321\200.feature" | 24 +---- ...20\276\321\200\320\270\320\271Git.feature" | 16 +--- 7 files changed, 130 insertions(+), 79 deletions(-) create mode 100644 "features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" diff --git "a/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" new file mode 100644 index 0000000..c90dfbb --- /dev/null +++ "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" @@ -0,0 +1,94 @@ +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd + +#Использовать asserts + +Перем БДД; //контекст фреймворка 1bdd + +// Метод выдает список шагов, реализованных в данном файле-шагов +Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт + БДД = КонтекстФреймворкаBDD; + + ВсеШаги = Новый Массив; + + ВсеШаги.Добавить("ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате"); + ВсеШаги.Добавить("ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате"); + + Возврат ВсеШаги; +КонецФункции + +// Реализация шагов + +// Процедура выполняется перед запуском каждого сценария +Процедура ПередЗапускомСценария(Знач Узел) Экспорт + +КонецПроцедуры + +// Процедура выполняется после завершения каждого сценария +Процедура ПослеЗапускаСценария(Знач Узел) Экспорт + +КонецПроцедуры + + +//в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" +Процедура ВПодпапкеРабочегоКаталогаСодержатсяИсходникиОбработкиВФормате(Знач Подпапка, Знач ИмяОбработки, Знач Формат) Экспорт + Если Формат = "v8reader" Тогда + ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки); + ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаV8reader()); + ИначеЕсли Формат = "designer" Тогда + ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки); + ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)); + КонецЕсли; +КонецПроцедуры + +//в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader" +Процедура ВРабочемКаталогеСодержатсяИсходникиОбработкиВФормате(Знач ИмяОбработки, Знач Формат) Экспорт + Если Формат = "v8reader" Тогда + ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаV8reader()); + ИначеЕсли Формат = "designer" Тогда + ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)); + КонецЕсли; +КонецПроцедуры + +//{ Служебные методы + +Функция РабочийКаталог() + Возврат БДД.ПолучитьИзКонтекста("РабочийКаталог"); +КонецФункции + +Функция КаталогПроекта() + Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта"); +КонецФункции + +Процедура ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходников) + ПроверяемСуществованиеФайлаВРабочемКаталоге(ИмяОбработки, Ложь); + Для каждого КлючИЗначение из ОписаниеИсходников Цикл + ПроверяемСуществованиеФайлаВРабочемКаталоге(ОбъединитьПути(ИмяОбработки, КлючИЗначение.Ключ), КлючИЗначение.Значение); + КонецЦикла; +КонецПроцедуры + +Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу, ЭтоФайл) + Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу)); + Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина(); + СтрокаОшибки = СтрШаблон("%1: значение Файл.ЭтоФайл() должно %2, а это не так!", ПутьКФайлу, ЭтоФайл); + Ожидаем.Что(Файл.ЭтоФайл() = ЭтоФайл, СтрокаОшибки).ЭтоИстина(); +КонецПроцедуры + +Функция ОписаниеИсходниковФорматаV8reader() + Описание = Новый Соответствие; + Описание.Вставить("renames.txt", Истина); + Описание.Вставить("Form", Ложь); + Описание.Вставить("Макеты", Ложь); + Описание.Вставить("und", Ложь); + Возврат Описание; +КонецФункции + +Функция ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки) + Описание = Новый Соответствие; + Описание.Вставить(ИмяОбработки + ".xml", Истина); + Описание.Вставить(ИмяОбработки, Ложь); + Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Forms"), Ложь); + Описание.Вставить(ОбъединитьПути(ИмяОбработки, "Templates"), Ложь); + Возврат Описание; +КонецФункции + +//} diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" index 5638f14..2866586 100644 --- "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" +++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" @@ -1,4 +1,4 @@ -// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd +// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd #Использовать 1commands #Использовать asserts @@ -12,6 +12,7 @@ ВсеШаги = Новый Массив; ВсеШаги.Добавить("ЯУстанавливаюPrecommitВРабочийКаталогСПараметрами"); + ВсеШаги.Добавить("ВРабочемКаталогеУстановленPrecommit"); ВсеШаги.Добавить("ФайлХукаВРепозиторииРабочегоКаталогаСодержит"); Возврат ВсеШаги; @@ -66,6 +67,17 @@ БДД.ВыполнитьШаг(СтрокаШага); КонецПроцедуры +//в рабочем каталоге установлен precommit +Процедура ВРабочемКаталогеУстановленPrecommit() Экспорт + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8Reader/V8Reader.epf"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/pre-commit"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8files-extractor.os"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/v8unpack.exe"); +КонецПроцедуры + //{ Служебные методы Функция РабочийКаталог() @@ -76,9 +88,14 @@ Возврат БДД.ПолучитьИзКонтекста("КаталогПроекта"); КонецФункции +Процедура ПроверяемСуществованиеФайлаВРабочемКаталоге(ПутьКФайлу) + Файл = Новый Файл(ОбъединитьПути(РабочийКаталог(), ПутьКФайлу)); + Ожидаем.Что(Файл.Существует(), ПутьКФайлу + " должен существовать, а это не так!").ЭтоИстина(); +КонецПроцедуры + Функция ЗаменитьШаблоныВПараметрахКоманды(Знач ПараметрыКоманды) - Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(БДД.КаталогПроверяемогоПроекта())); - Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(БДД.ПолучитьИзКонтекста("РабочийКаталог"))); + Рез = СтрЗаменить(ПараметрыКоманды, "<КаталогПроекта>", ЭкранированныйПуть(КаталогПроекта())); + Рез = СтрЗаменить(Рез, "<РабочийКаталог>", ЭкранированныйПуть(РабочийКаталог())); Возврат Рез; КонецФункции @@ -90,4 +107,4 @@ //} -Лог = Логирование.ПолучитьЛог("bdd"); \ No newline at end of file +Лог = Логирование.ПолучитьЛог("bdd"); diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index eae51f4..92745ba 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -13,17 +13,13 @@ Сценарий: Разборка файла из заданной папки Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>" - Тогда в рабочем каталоге существует каталог "Fixture" - И в подкаталоге "Fixture" рабочего каталога существует файл "renames.txt" - И в подкаталоге "Fixture" рабочего каталога существует каталог "Form" - И в подкаталоге "Fixture" рабочего каталога существует каталог "Макеты" - И в подкаталоге "Fixture" рабочего каталога существует каталог "und" + Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "v8reader" Сценарий: Разборка макета из заданной папки Дано я создаю каталог "1" в рабочем каталоге И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" - Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt" + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" Сценарий: Разборка каталога с вложенными каталогами Дано я создаю каталог "bin" в рабочем каталоге @@ -31,8 +27,4 @@ И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src" - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 8ef8d64..88e6edc 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -19,11 +19,7 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша @@ -33,11 +29,7 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы @@ -48,9 +40,5 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "renames.txt" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Form" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Макеты" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "und" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 016087b..4920a9a 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -19,11 +19,7 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer" И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с удалением бинарников из кэша без указания информационной базы @@ -33,11 +29,7 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer" И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" Сценарий: Разборка изменений по журналу Git с вложенными каталогами с указанием информационной базы @@ -48,9 +40,5 @@ И я создаю каталог "src" в рабочем каталоге И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer" И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" index 514014c..1d909ce 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\202\320\276\321\200.feature" @@ -14,11 +14,7 @@ Сценарий: Разборка файла из заданной папки без указания информационной базы Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer" - Тогда в рабочем каталоге существует каталог "Fixture" - И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer" Сценарий: Разборка каталога с вложенными каталогами без указания информационной базы Дано я создаю каталог "bin" в рабочем каталоге @@ -26,19 +22,11 @@ И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer" - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer" Сценарий: Разборка файла из заданной папки с указанием информационной базы Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог> --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" - Тогда в рабочем каталоге существует каталог "Fixture" - И в подкаталоге "Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в рабочем каталоге содержатся исходники обработки "Fixture" в формате "designer" Сценарий: Разборка каталога с вложенными каталогами с указанием информационной базы Дано я создаю каталог "bin" в рабочем каталоге @@ -46,8 +34,4 @@ И я копирую файл "Fixture.epf" из каталога "tests" проекта в подкаталог "bin/1" рабочего каталога И я создаю каталог "src" в рабочем каталоге Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src --use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" - Тогда в рабочем каталоге существует каталог "src/1/Fixture" - И в подкаталоге "src/1/Fixture" рабочего каталога существует файл "fixture.xml" - И в подкаталоге "src/1/Fixture" рабочего каталога существует каталог "Fixture" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Forms" - И в подкаталоге "src/1/Fixture/Fixture" рабочего каталога существует каталог "Templates" + Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "designer" diff --git "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" index 77a5d01..1b69bd5 100644 --- "a/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" +++ "b/features/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.feature" @@ -35,25 +35,13 @@ Сценарий: Установка precommit1c в репозиторий Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" - Тогда В рабочем каталоге существует каталог ".git/hooks" - И В рабочем каталоге существует каталог ".git/hooks/v8Reader" - И В рабочем каталоге существует каталог ".git/hooks/tools" - И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" - И В рабочем каталоге существует файл ".git/hooks/pre-commit" - И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" - И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + Тогда в рабочем каталоге установлен precommit И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" Структура сценария: Установка precommit1c в репозиторий с параметрами: <Параметры> Когда Я устанавливаю Precommit в рабочий каталог с параметрами <Параметры> И Я выполняю команду "oscript" с параметрами ".git/hooks/v8files-extractor.os --git-check-config" - Тогда В рабочем каталоге существует каталог ".git/hooks" - И В рабочем каталоге существует каталог ".git/hooks/v8Reader" - И В рабочем каталоге существует каталог ".git/hooks/tools" - И В рабочем каталоге существует файл ".git/hooks/v8Reader/V8Reader.epf" - И В рабочем каталоге существует файл ".git/hooks/pre-commit" - И В рабочем каталоге существует файл ".git/hooks/v8files-extractor.os" - И В рабочем каталоге существует файл ".git/hooks/tools/v8unpack.exe" + Тогда в рабочем каталоге установлен precommit И Файл хука в репозитории рабочего каталога содержит <Параметры> И вывод команды "oscript" не содержит "У текущего репозитария не заданы необходимые настройки!" From 94b0815158c9ce35474039340666b9f2ab433064 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 4 Jun 2019 15:40:05 +0300 Subject: [PATCH 19/37] =?UTF-8?q?=D0=B7=D0=B0=D0=B2=D0=B8=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D1=8C=20=D0=BE=D1=82=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D1=81=D0=B8=D0=B8=201commands?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit для обхода https://github.com/artbear/1commands/issues/33 --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index a167c95..3c60203 100644 --- a/packagedef +++ b/packagedef @@ -7,7 +7,7 @@ .ЗависитОт("strings", "0.4.1") .ЗависитОт("tempfiles", "0.2.2") .ЗависитОт("v8runner", "1.1.3") - .ЗависитОт("1commands", "1.3.5") + .ЗависитОт("1commands", "1.5.0") .ЗависитОт("gitrunner", "1.6.0") .ВключитьФайл("license.md") .ВключитьФайл("readme.md") From 83562ee396689944985518e29925e9c577bd20b6 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Wed, 23 Oct 2019 23:14:09 +0500 Subject: [PATCH 20/37] =?UTF-8?q?=D0=A0=D0=B5=D0=BB=D0=B8=D0=B7=202.2.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- v8files-extractor.os | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packagedef b/packagedef index 3c60203..48f3a03 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("precommit1c") - .Версия("2.2.1") + .Версия("2.2.2") .ЗависитОт("asserts", "0.4.0") .ЗависитОт("cmdline", "1.0.0") .ЗависитОт("logos", "1.1.1") diff --git a/v8files-extractor.os b/v8files-extractor.os index bb280ee..edf99a9 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -30,7 +30,7 @@ Функция Версия() Экспорт - Версия = "2.2.1"; + Версия = "2.2.2"; Возврат "v" + Версия; From 4b942e866243f15e6a9de60bf1020aff0be034f6 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Fri, 8 Nov 2019 13:40:06 +0300 Subject: [PATCH 21/37] =?UTF-8?q?fix=20(#145):=20=D0=A0=D0=B5=D0=B0=D0=BB?= =?UTF-8?q?=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B0=D1=80=D0=B3=D1=83?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=82=20--v8version=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D0=BC=D0=BE=D0=B9=20?= =?UTF-8?q?=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8=20=D0=BF=D0=BB=D0=B0=D1=82?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D1=81?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=B8/=D1=80=D0=B0=D0=B7=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=BA=D0=B8=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BE=D0=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/v8files-extractor.os b/v8files-extractor.os index edf99a9..02533bb 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -27,6 +27,7 @@ Перем ИспользоватьКонфигуратор; Перем КонтекстКонфигуратора; Перем ГитРепозиторий; +Перем ВерсияПлатформы; Функция Версия() Экспорт @@ -91,6 +92,10 @@ Если НЕ ПустаяСтрока(Аргументы.ЗначенияПараметров["--ib-connection-string"]) Тогда Конфигуратор = Новый УправлениеКонфигуратором(); + ВерсияПлатформы = Аргументы.ЗначенияПараметров["--v8version"]; + Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); + КонецЕсли; КонтекстКонфигуратора = Конфигуратор.ПолучитьКонтекст(); КонтекстКонфигуратора.КлючСоединенияСБазой = Аргументы.ЗначенияПараметров["--ib-connection-string"]; КонтекстКонфигуратора.ИмяПользователя = Аргументы.ЗначенияПараметров["--ib-user"]; @@ -145,6 +150,7 @@ Парсер.ДобавитьИменованныйПараметр("--ib-connection-string", "Строка подключения к БД", Истина); Парсер.ДобавитьИменованныйПараметр("--ib-user", "Пользователь БД", Истина); Парсер.ДобавитьИменованныйПараметр("--ib-pwd", "Пароль БД", Истина); + Парсер.ДобавитьИменованныйПараметр("--v8version", "Маска версии платформы", Истина); Парсер.ДобавитьПараметрФлаг("--use-designer", "", Истина); КонецПроцедуры @@ -352,6 +358,9 @@ Лог.Отладка("Запускаем распаковку файла расширения"); Конфигуратор = Новый УправлениеКонфигуратором(); + Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); + КонецЕсли; Если КонтекстКонфигуратора = Неопределено Тогда КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); Конфигуратор.КаталогСборки(КаталогВременнойИБ); @@ -385,6 +394,9 @@ Лог.Отладка("Запускаем распаковку файла"); Конфигуратор = Новый УправлениеКонфигуратором(); + Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); + КонецЕсли; Если КонтекстКонфигуратора = Неопределено Тогда КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); Конфигуратор.КаталогСборки(КаталогВременнойИБ); @@ -563,6 +575,8 @@ Сообщить(" --use-designer"); Сообщить(" Если передан этот флаг, то для операций сборки/разборки будет использован конфигуратор 1С."); Сообщить(" ТОЛЬКО ДЛЯ ВЕРСИЙ ПЛАТФОРМЫ 8.3.8 И ВЫШЕ!"); + Сообщить(" --v8version"); + Сообщить(" Маска версии платформы (8.3, 8.3.8, 8.3.10.2561 и т.п.)"); Сообщить(" --ib-connection-string"); Сообщить(" Строка подключения к информационной базе"); Сообщить(" --ib-user"); @@ -916,6 +930,9 @@ Если ИспользоватьКонфигуратор Тогда Конфигуратор = Новый УправлениеКонфигуратором(); + Если ЗначениеЗаполнено(ВерсияПлатформы) Тогда + Конфигуратор.ИспользоватьВерсиюПлатформы(ВерсияПлатформы); + КонецЕсли; Если КонтекстКонфигуратора = Неопределено Тогда КаталогВременнойИБ = ВременныеФайлы.СоздатьКаталог(); Конфигуратор.КаталогСборки(КаталогВременнойИБ); From 20ab5c7d0b96ef6ba764ff34000f52262e0755f0 Mon Sep 17 00:00:00 2001 From: boris stoyanov Date: Fri, 8 Nov 2019 18:46:33 +0500 Subject: [PATCH 22/37] =?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=B0=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B0?= =?UTF-8?q?=20v8reader?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 02533bb..1bee2df 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -1,4 +1,4 @@ -// Copyright 2016 xDrivenDevelopment +// Copyright 2016 xDrivenDevelopment // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -891,6 +891,8 @@ Функция ПолучитьСоответствиеПереименований(ПутьКИсходникам) Переименования = Новый Соответствие; + Разделитель = "-->"; + ДлинаРазделителя = СтрДлина(Разделитель); ФайлПереименования = Новый Файл(ОбъединитьПути(ПутьКИсходникам, "renames.txt")); @@ -905,15 +907,15 @@ // Проверка на BOM? - СписокСтрок = СтрРазделить(СтрокаПереименованияВрем, "-->"); - Если СписокСтрок.Количество() < 2 Тогда + ПозицияРазделителя = СтрНайти(СтрокаПереименованияВрем, Разделитель); + Если ПозицияРазделителя = 0 Тогда Продолжить; КонецЕсли; Лог.Отладка(СтрокаПереименованияВрем); - ИсходныйПуть = СписокСтрок[0]; - ПреобразованныйПуть = СписокСтрок[1]; + ИсходныйПуть = Лев(СтрокаПереименованияВрем, ПозицияРазделителя - 1); + ПреобразованныйПуть = Сред(СтрокаПереименованияВрем, ПозицияРазделителя + ДлинаРазделителя); Переименования.Вставить(ИсходныйПуть, ПреобразованныйПуть); From aac5ff62e93173c16a38ae19f7b0253d646a8b8a Mon Sep 17 00:00:00 2001 From: boris stoyanov Date: Fri, 8 Nov 2019 18:48:34 +0500 Subject: [PATCH 23/37] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=B0=D1=8F=20=D1=83=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B2=20=D0=BA=D0=BE=D0=B4=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 102 ++++++++++++++++++++++++++++--------------- 1 file changed, 68 insertions(+), 34 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 1bee2df..7d3eb9a 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -1,4 +1,4 @@ -// Copyright 2016 xDrivenDevelopment +// Copyright 2016 xDrivenDevelopment // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -109,8 +109,6 @@ Аргументы.ЗначенияПараметров["ПутьВходящихДанных"], Аргументы.ЗначенияПараметров["ВыходнойКаталог"] ); - ИначеЕсли Команда = ВозможныеКоманды().Помощь Тогда - ВывестиСправку(); ИначеЕсли Команда = ВозможныеКоманды().ПроверитьКонфигГит Тогда ПроверитьНастройкиРепозитарияГит(); ИначеЕсли Команда = ВозможныеКоманды().ОбработатьИзмененияИзГит Тогда @@ -129,6 +127,8 @@ ТекущийКаталог(), Аргументы.ЗначенияПараметров["--remove-orig-bin-files"] ); + Иначе + ВывестиСправку(); КонецЕсли; Исключение @@ -140,6 +140,7 @@ Попытка ВременныеФайлы.Удалить(); Исключение + Лог.Отладка("Не удалось очистить временные файлы"); КонецПопытки; Возврат Истина; @@ -200,7 +201,6 @@ Лог = Логирование.ПолучитьЛог("oscript.app.v8files-extractor"); Лог.Закрыть(); - //Лог.УстановитьУровень(УровниЛога.Отладка); ВыводПоУмолчанию = Новый ВыводЛогаВКонсоль(); Лог.ДобавитьСпособВывода(ВыводПоУмолчанию); @@ -230,6 +230,7 @@ // Если прекоммит установлен, как приложение, в Program Files // То команда не сможет отработать из за отсутствия прав на запись. // Но нам в данном случае и не нужен лог в файле. + Лог.Отладка("Не смогли открыть лог в файле"); КонецПопытки; КонецПроцедуры @@ -251,12 +252,13 @@ ОтносительныйПутьКаталога = ПолучитьОтносительныйПутьФайла(КаталогКорень, ПутьКаталога); ОтносительныйПутьКаталога = ?(ПустаяСтрока(ОтносительныйПутьКаталога), ПутьКаталога, ОтносительныйПутьКаталога); - Лог.Информация("Подготовка выгрузки каталога %1 в каталог %2, корень %3", ОтносительныйПутьКаталога, КаталогВыгрузки, КаталогКорень); + Лог.Информация("Подготовка выгрузки каталога %1 в каталог %2, корень %3", + ОтносительныйПутьКаталога, КаталогВыгрузки, КаталогКорень); ИмяКаталогаВыгрузки = Новый Файл(КаталогВыгрузки).Имя; Файлы = НайтиФайлы(ПутьКаталога, ПолучитьМаскуВсеФайлы()); - Для Каждого Файл из Файлы Цикл + Для Каждого Файл Из Файлы Цикл Если Файл.ЭтоКаталог() Тогда РазобратьКаталог(Новый Файл(Файл.ПолноеИмя), КаталогВыгрузки, КаталогКорень); @@ -267,19 +269,24 @@ РазобратьФайлВнутр(Файл, КаталогВыгрузки, КаталогКорень); Лог.Информация("Завершена выгрузка файла %1 в каталог %2", Файл.Имя, ИмяКаталогаВыгрузки); + Иначе + Лог.Отладка("Тип файла не поддерживается: %1", Файл.ПолноеИмя); КонецЕсли; КонецЦикла; - Лог.Информация("Завершена выгрузка каталога %1 в каталог %2, корень %3", ОтносительныйПутьКаталога, КаталогВыгрузки, КаталогКорень); + Лог.Информация("Завершена выгрузка каталога %1 в каталог %2, корень %3", + ОтносительныйПутьКаталога, КаталогВыгрузки, КаталогКорень); КонецПроцедуры Функция РазобратьФайл(Знач Файл, Знач КаталогВыгрузки, Знач КаталогКорень = "") Экспорт ПутьФайла = Файл.ПолноеИмя; - Лог.Информация("Проверка необходимости выгрузки файла %1 в каталог %2, корень %3", ПутьФайла, КаталогВыгрузки, КаталогКорень); + Лог.Информация("Проверка необходимости выгрузки файла %1 в каталог %2, корень %3", + ПутьФайла, КаталогВыгрузки, КаталогКорень); КаталогИсходников = РазобратьФайлВнутр(Файл, КаталогВыгрузки, КаталогКорень); - Лог.Информация("Завершена проверка необходимости выгрузки файла %1 в каталог %2, корень %3", ПутьФайла, КаталогВыгрузки, КаталогКорень); + Лог.Информация("Завершена проверка необходимости выгрузки файла %1 в каталог %2, корень %3", + ПутьФайла, КаталогВыгрузки, КаталогКорень); Возврат КаталогИсходников; @@ -304,7 +311,9 @@ ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; - Ожидаем.Что(Файл.Существует(), "Файл " + ПутьФайла + " должен существовать").ЭтоИстина(); + Ожидаем + .Что(Файл.Существует(), "Файл " + ПутьФайла + " должен существовать") + .ЭтоИстина(); Если ЭтоМакет Тогда @@ -412,8 +421,9 @@ Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда - - КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", ПапкаИсходников.ПолноеИмя, Файл.ИмяБезРасширения, Файл.ПолноеИмя); + + КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", + ПапкаИсходников.ПолноеИмя, Файл.ИмяБезРасширения, Файл.ПолноеИмя); Лог.Отладка("Командная строка распаковки: " + КоманднаяСтрокаРаспаковки); @@ -425,9 +435,13 @@ ПутьV8Reader = ОбъединитьПути(ТекущийСценарий().Каталог, "v8Reader", "V8Reader.epf"); Лог.Отладка("Путь к V8Reader: " + ПутьV8Reader); - Ожидаем.Что(Новый Файл(ПутьV8Reader).Существует(), "Некорректно установлен V8Reader. Не обнаружен файл <" + ПутьV8Reader + ">").ЭтоИстина(); + СтрокаОшибки = СтрШаблон("Некорректно установлен V8Reader. Не обнаружен файл <%1>", ПутьV8Reader); + Ожидаем + .Что(Новый Файл(ПутьV8Reader).Существует(), СтрокаОшибки) + .ЭтоИстина(); - КоманднаяСтрокаV8Reader = СтрШаблон("/C""decompile;pathtocf;%1;pathout;%2;convert-mxl2txt;ЗавершитьРаботуПосле;""", Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ПапкаИсходников.ПолноеИмя)); + КоманднаяСтрокаV8Reader = СтрШаблон("/C""decompile;pathtocf;%1;pathout;%2;convert-mxl2txt;ЗавершитьРаботуПосле;""", + Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ПапкаИсходников.ПолноеИмя)); Лог.Отладка("Командная строка V8Reader: " + КоманднаяСтрокаV8Reader); @@ -474,23 +488,23 @@ КонецПроцедуры Процедура ДополнитьФайлХука(КаталогХуков, УдалятьФайлыИзИндексаГит) - СтрокаПараметровПодключения = ?(ИспользоватьКонфигуратор, " --use-designer", ""); - СтрокаПараметровПодключения = ?(УдалятьФайлыИзИндексаГит, - СтрокаПараметровПодключения + " --remove-orig-bin-files", - СтрокаПараметровПодключения); + СтрокаПараметров = ?(ИспользоватьКонфигуратор, " --use-designer", ""); + СтрокаПараметров = ?(УдалятьФайлыИзИндексаГит, + СтрокаПараметров + " --remove-orig-bin-files", + СтрокаПараметров); Если ЗначениеЗаполнено(КонтекстКонфигуратора) Тогда - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); - ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, КонтекстКонфигуратора.Пароль, "--ib-pwd"); + ДополнитьСтрокуПараметров(СтрокаПараметров, КонтекстКонфигуратора.КлючСоединенияСБазой, "--ib-connection-string"); + ДополнитьСтрокуПараметров(СтрокаПараметров, КонтекстКонфигуратора.ИмяПользователя, "--ib-user"); + ДополнитьСтрокуПараметров(СтрокаПараметров, КонтекстКонфигуратора.Пароль, "--ib-pwd"); КонецЕсли; - Если ЗначениеЗаполнено(СтрокаПараметровПодключения) Тогда + Если ЗначениеЗаполнено(СтрокаПараметров) Тогда СтрокаПоиска = "oscript -encoding=utf-8 .git/hooks/v8files-extractor.os --git-precommit src"; - СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметровПодключения); + СтрокаЗамены = СтрШаблон("%1%2", СтрокаПоиска, СтрокаПараметров); ЗаменитьСтрокуВФайле(ОбъединитьПути(КаталогХуков, "pre-commit"), СтрокаПоиска, СтрокаЗамены); КонецЕсли; КонецПроцедуры -Процедура ДополнитьСтрокуПараметровПодключения(СтрокаПараметровПодключения, Знач ЗначениеПараметра, Знач ИмяПараметра) +Процедура ДополнитьСтрокуПараметров(СтрокаПараметровПодключения, Знач ЗначениеПараметра, Знач ИмяПараметра) Если ЗначениеЗаполнено(ЗначениеПараметра) Тогда СтрокаПараметровПодключения = СтрШаблон("%1 %2 %3", СтрокаПараметровПодключения, ИмяПараметра, ЗначениеПараметра); КонецЕсли; @@ -545,6 +559,8 @@ СоздатьКаталог(ФайлОбъектКаталога.ПолноеИмя); ИначеЕсли Не ФайлОбъектКаталога.ЭтоКаталог() Тогда ВызватьИсключение "Путь " + ФайлОбъектКаталога.ПолноеИмя + " не является каталогом. Выгрузка невозможна"; + Иначе + Лог.Отладка("Каталог %1 уже существует, пропускаем", ФайлОбъектКаталога.ПолноеИмя); КонецЕсли; КонецПроцедуры @@ -699,7 +715,7 @@ ПараметрыКоманды.Добавить(ОбернутьПутьВКавычки(Каталог)); ГитРепозиторий.ВыполнитьКоманду(ПараметрыКоманды); - КонецЦикла + КонецЦикла; КонецПроцедуры @@ -709,8 +725,12 @@ ПапкаИсходников = Новый Файл(ПутьКИсходникам); - Ожидаем.Что(ПапкаИсходников.Существует(), "Папка " + ПутьКИсходникам + " должна существовать").ЭтоИстина(); - Ожидаем.Что(ПапкаИсходников.ЭтоКаталог(), "Путь " + ПутьКИсходникам + "должен быть каталогом").ЭтоИстина(); + Ожидаем + .Что(ПапкаИсходников.Существует(), "Папка " + ПутьКИсходникам + " должна существовать") + .ЭтоИстина(); + Ожидаем + .Что(ПапкаИсходников.ЭтоКаталог(), "Путь " + ПутьКИсходникам + "должен быть каталогом") + .ЭтоИстина(); Если Рекурсивно Тогда СобратьКаталог(ПутьКИсходникам, КаталогВыгрузки); @@ -838,8 +858,12 @@ ПутьКФайлуКорневойКонтейнер = ОбъединитьПути(КаталогИсходников, МассивСтрокРут[1]); ФайлКорневойКонтейнер = Новый Файл(ПутьКФайлуКорневойКонтейнер); - Ожидаем.Что(ФайлКорневойКонтейнер.Существует(), "Файл <" + ПутьКФайлуКорневойКонтейнер + "> должен существовать").ЭтоИстина(); - Ожидаем.Что(ФайлКорневойКонтейнер.ЭтоКаталог(), "<" + ПутьКФайлуКорневойКонтейнер + "> должен быть файлом").ЭтоЛожь(); + Ожидаем + .Что(ФайлКорневойКонтейнер.Существует(), "Файл <" + ПутьКФайлуКорневойКонтейнер + "> должен существовать") + .ЭтоИстина(); + Ожидаем + .Что(ФайлКорневойКонтейнер.ЭтоКаталог(), "<" + ПутьКФайлуКорневойКонтейнер + "> должен быть файлом") + .ЭтоЛожь(); ЧтениеТекста = Новый ЧтениеТекста(ПутьКФайлуКорневойКонтейнер); СодержаниеКорневойКонтейнер = ""; @@ -854,7 +878,10 @@ ЧтениеТекста.Закрыть(); МассивСтрокКорневойКонтейнер = СтрРазделить(СодержаниеКорневойКонтейнер, ","); - Ожидаем.Что(МассивСтрокКорневойКонтейнер.Количество(), "Некорректный формат файла корневого контейнера <" + ПутьКФайлуКорневойКонтейнер + ">").Больше(3); + СтрокаОшибки = СтрШаблон("Некорректный формат файла корневого контейнера <%1>", ПутьКФайлуКорневойКонтейнер); + Ожидаем + .Что(МассивСтрокКорневойКонтейнер.Количество(), СтрокаОшибки) + .Больше(3); ИдентификаторТипаОбъекта = СокрЛП(МассивСтрокКорневойКонтейнер[3]); Если Лев(ИдентификаторТипаОбъекта, 1) = "{" Тогда @@ -896,7 +923,9 @@ ФайлПереименования = Новый Файл(ОбъединитьПути(ПутьКИсходникам, "renames.txt")); - Ожидаем.Что(ФайлПереименования.Существует(), "Файл переименования " + ФайлПереименования.ПолноеИмя + " должен существовать").ЭтоИстина(); + Ожидаем + .Что(ФайлПереименования.Существует(), "Файл переименования " + ФайлПереименования.ПолноеИмя + " должен существовать") + .ЭтоИстина(); ЧтениеТекста = Новый ЧтениеТекста(ФайлПереименования.ПолноеИмя, КодировкаТекста.UTF8); СтрокаПереименования = ЧтениеТекста.ПрочитатьСтроку(); @@ -948,7 +977,8 @@ Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); Параметры[0] = "DESIGNER"; - КоманднаяСтрокаУпаковки = СтрШаблон("/LoadExternalDataProcessorOrReportFromFiles ""%1"" ""%2""", ПапкаИсходников, ИмяФайлаОбъекта); + КоманднаяСтрокаУпаковки = СтрШаблон("/LoadExternalDataProcessorOrReportFromFiles ""%1"" ""%2""", + ПапкаИсходников, ИмяФайлаОбъекта); Лог.Отладка("Командная строка упаковки: " + КоманднаяСтрокаУпаковки); @@ -964,7 +994,9 @@ Если ЭтоWindows Тогда ПутьЗапаковщика = ПутьЗапаковщика+".exe"; КонецЕсли; - Ожидаем.Что(Новый Файл(ПутьЗапаковщика).Существует(), "Не найден путь к v8unpack").ЭтоИстина(); + Ожидаем + .Что(Новый Файл(ПутьЗапаковщика).Существует(), "Не найден путь к v8unpack") + .ЭтоИстина(); ВременныйФайл = ВременныеФайлы.СоздатьФайл(); @@ -977,7 +1009,9 @@ Процесс.ОжидатьЗавершения(); ВыводПроцесса = Процесс.ПотокВывода.Прочитать(); - Ожидаем.Что(Процесс.КодВозврата, "Не удалось упаковать каталог " + ПапкаИсходников + Символы.ПС + ВыводПроцесса).Равно(0); + Ожидаем + .Что(Процесс.КодВозврата, "Не удалось упаковать каталог " + ПапкаИсходников + Символы.ПС + ВыводПроцесса) + .Равно(0); Лог.Отладка(ВыводПроцесса); ФайлОбъекта = Новый Файл(ИмяФайлаОбъекта); From 29864dcb36bdfba492b8c239121e694f2eae1269 Mon Sep 17 00:00:00 2001 From: Zakharov Vitaliy Date: Mon, 28 Jan 2019 14:35:39 +0300 Subject: [PATCH 24/37] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D0=B2=D0=B0=D1=80=D0=B8=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BE=D1=87=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B8=D1=81=D1=85=D0=BE=D0=B4=D0=BD=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=D0=BE=D0=BC=20=D0=BA=D0=BE=D0=BD=D1=84?= =?UTF-8?q?=D0=B8=D0=B3=D1=83=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 7d3eb9a..fda148a 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -330,8 +330,6 @@ Лог.Отладка("ПутьКаталогаИсходников <%1>", ПутьКаталогаИсходников); ПапкаИсходников = Новый Файл(ПутьКаталогаИсходников); - ОбеспечитьПустойКаталог(ПапкаИсходников); - КонецЕсли; Если ВРег(Файл.Расширение) = ".CFE" Тогда @@ -364,6 +362,9 @@ Процедура ЗапуститьРаспаковкуРасширения(Знач Файл, Знач ПапкаИсходников) + Лог.Отладка("Обеспечиваем пустой каталог: " + ПапкаИсходников.ПолноеИмя); + ОбеспечитьПустойКаталог(ПапкаИсходников); + Лог.Отладка("Запускаем распаковку файла расширения"); Конфигуратор = Новый УправлениеКонфигуратором(); @@ -415,7 +416,7 @@ ЛогКонфигуратора = Логирование.ПолучитьЛог("oscript.lib.v8runner"); ЛогКонфигуратора.УстановитьУровень(Лог.Уровень()); - + ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; @@ -425,10 +426,24 @@ КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", ПапкаИсходников.ПолноеИмя, Файл.ИмяБезРасширения, Файл.ПолноеИмя); + ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); + + КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", + ВременнаяПапкаИсходников, Файл.ИмяБезРасширения, Файл.ПолноеИмя); + Лог.Отладка("Командная строка распаковки: " + КоманднаяСтрокаРаспаковки); Параметры.Добавить(КоманднаяСтрокаРаспаковки); + Конфигуратор.ВыполнитьКоманду(Параметры); + Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + + Лог.Отладка("Обеспечиваем пустой каталог: " + ПапкаИсходников.ПолноеИмя); + ОбеспечитьПустойКаталог(ПапкаИсходников); + + Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); + КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); + Иначе Параметры[0] = "ENTERPRISE"; @@ -449,10 +464,10 @@ Параметры.Добавить("/Execute """ + ПутьV8Reader + """"); Параметры.Добавить(КоманднаяСтрокаV8Reader); - КонецЕсли; + Конфигуратор.ВыполнитьКоманду(Параметры); + Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); - Конфигуратор.ВыполнитьКоманду(Параметры); - Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + КонецЕсли; КонецПроцедуры From 4282fad09524724211a9566cd6c3df5e2e9bb53c Mon Sep 17 00:00:00 2001 From: Zakharov Vitaliy Date: Mon, 28 Jan 2019 22:10:06 +0300 Subject: [PATCH 25/37] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=B8=D1=81=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D0=BD=D0=B8=D0=BA=D0=B8=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index fda148a..41e3d8f 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -362,9 +362,6 @@ Процедура ЗапуститьРаспаковкуРасширения(Знач Файл, Знач ПапкаИсходников) - Лог.Отладка("Обеспечиваем пустой каталог: " + ПапкаИсходников.ПолноеИмя); - ОбеспечитьПустойКаталог(ПапкаИсходников); - Лог.Отладка("Запускаем распаковку файла расширения"); Конфигуратор = Новый УправлениеКонфигуратором(); @@ -389,14 +386,21 @@ Конфигуратор.ВыполнитьКоманду(Параметры); Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); - Лог.Отладка("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ПапкаИсходников.ПолноеИмя); + ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); + + Лог.Отладка("Разбор расширения '%1' в исходники в каталог '%2'", ИмяРасширения, ВременнаяПапкаИсходников); Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); - Параметры.Добавить("/DumpConfigToFiles """ + ПапкаИсходников.ПолноеИмя + """"); + Параметры.Добавить("/DumpConfigToFiles """ + ВременнаяПапкаИсходников + """"); Параметры.Добавить("-Extension """ + ИмяРасширения + """"); Конфигуратор.ВыполнитьКоманду(Параметры); Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + ОбеспечитьПустойКаталог(ПапкаИсходников); + + Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); + КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); + КонецПроцедуры Процедура ЗапуститьРаспаковкуОбработки(Знач Файл, Знач ПапкаИсходников) @@ -419,15 +423,11 @@ ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; + ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда - КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", - ПапкаИсходников.ПолноеИмя, Файл.ИмяБезРасширения, Файл.ПолноеИмя); - - ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); - КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", ВременнаяПапкаИсходников, Файл.ИмяБезРасширения, Файл.ПолноеИмя); @@ -435,15 +435,6 @@ Параметры.Добавить(КоманднаяСтрокаРаспаковки); - Конфигуратор.ВыполнитьКоманду(Параметры); - Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); - - Лог.Отладка("Обеспечиваем пустой каталог: " + ПапкаИсходников.ПолноеИмя); - ОбеспечитьПустойКаталог(ПапкаИсходников); - - Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); - КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); - Иначе Параметры[0] = "ENTERPRISE"; @@ -456,7 +447,7 @@ .ЭтоИстина(); КоманднаяСтрокаV8Reader = СтрШаблон("/C""decompile;pathtocf;%1;pathout;%2;convert-mxl2txt;ЗавершитьРаботуПосле;""", - Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ПапкаИсходников.ПолноеИмя)); + Файл.ПолноеИмя, ?(ЭтоМакет, Файл.Путь, ВременнаяПапкаИсходников)); Лог.Отладка("Командная строка V8Reader: " + КоманднаяСтрокаV8Reader); @@ -464,11 +455,18 @@ Параметры.Добавить("/Execute """ + ПутьV8Reader + """"); Параметры.Добавить(КоманднаяСтрокаV8Reader); - Конфигуратор.ВыполнитьКоманду(Параметры); - Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + КонецЕсли; + Конфигуратор.ВыполнитьКоманду(Параметры); + Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + + Если Не ЭтоМакет Тогда + ОбеспечитьПустойКаталог(ПапкаИсходников); КонецЕсли; + Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); + КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); + КонецПроцедуры Процедура УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта() From bc7399cc958422df0bdde53b11cccf8aa1bcbdba Mon Sep 17 00:00:00 2001 From: Zakharov Vitaliy Date: Mon, 28 Jan 2019 22:47:33 +0300 Subject: [PATCH 26/37] =?UTF-8?q?=D0=A0=D0=B0=D1=81=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D0=B8=D1=81=D1=85=D0=BE?= =?UTF-8?q?=D0=B4=D0=BD=D0=B8=D0=BA=D0=B8=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=BF=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83=D1=82=D0=BE=D1=87?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=B0=D1=82=D0=B0=D0=BB=D0=BE=D0=B3?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 41e3d8f..0d18a6f 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -424,7 +424,7 @@ ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); - + Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда From 887da64fa7d17a0377235ad57ba27d4f417a9dde Mon Sep 17 00:00:00 2001 From: Zakharov Vitaliy Date: Tue, 29 Jan 2019 14:46:07 +0300 Subject: [PATCH 27/37] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D0=B5=D0=B5=20=D0=BA?= =?UTF-8?q?=D0=BE=D1=80=D1=80=D0=B5=D0=BA=D1=82=D0=BD=D0=BE=D0=B5=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BB=D0=B0=D0=B4=D0=BE=D1=87=D0=BD=D0=BE=D0=B5=20=D1=81?= =?UTF-8?q?=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D0=B1?= =?UTF-8?q?=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D0=B8=20=D1=84?= =?UTF-8?q?=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index 0d18a6f..bf6d294 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -136,7 +136,7 @@ КодВозврата = 1; КонецПопытки; - Лог.Отладка("Очищаем каталог временной ИБ"); + Лог.Отладка("Очищаем временные файлы"); Попытка ВременныеФайлы.Удалить(); Исключение @@ -424,7 +424,7 @@ ЭтоМакет = ВРег(Файл.Расширение) = ".MXL"; ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); - + Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда From d9ac09129574e2ebe5c31272bf735883f337b8af Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 9 Nov 2019 16:02:27 +0500 Subject: [PATCH 28/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=80=D0=B0=D0=B7=D0=B1=D0=BE=D1=80=20mxl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Копирование исходников убивало созданный txt --- v8files-extractor.os | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index bf6d294..1cfec94 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -462,11 +462,10 @@ Если Не ЭтоМакет Тогда ОбеспечитьПустойКаталог(ПапкаИсходников); + Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); + КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); КонецЕсли; - Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); - КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); - КонецПроцедуры Процедура УстановитьУровеньЛогаКонфигуратораРавнымУровнюПродукта() From 6d4c7cea0dbad37847fc244a2927f7b3c4cc4e93 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 9 Nov 2019 17:43:42 +0500 Subject: [PATCH 29/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D1=82=D0=B5=D1=81=D1=82=20=D0=B8=20=D0=B4=D0=BE=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=83?= =?UTF-8?q?=D1=8E=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\264\320\275\320\270\320\272\320\270Git.feature" | 13 +++++++++++++ v8files-extractor.os | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index ed88e28..01d607e 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -12,6 +12,19 @@ И я установил рабочий каталог как текущий каталог И Я выполняю команду "git" с параметрами 'init' +Сценарий: Разборка с ошибкой не приводит к очистке уже существующих исходников + Дано я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <КаталогПроекта>/tests/Fixture.epf <РабочийКаталог>/src" + И в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" + И я выполняю команду "git" с параметрами "add -A ." + И я выполняю команду "git" с параметрами 'commit -m "init commit"' + И я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib" + И я копирую файл "Fixture.epf" из каталога "tests" проекта в рабочий каталог + И я выполняю команду "git" с параметрами "add -A ." + Когда я выполняю команду "git" с параметрами 'commit -m "second commit"' + И Я сообщаю вывод команды "oscript" + Тогда в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" + И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" + Сценарий: Разборка изменений по журналу Git с вложенными каталогами Дано я устанавливаю Precommit в рабочий каталог с параметрами "" И я создаю каталог "1" в рабочем каталоге diff --git a/v8files-extractor.os b/v8files-extractor.os index 1cfec94..d225fea 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -460,7 +460,7 @@ Конфигуратор.ВыполнитьКоманду(Параметры); Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); - Если Не ЭтоМакет Тогда + Если Не ЭтоМакет И НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() > 0 Тогда ОбеспечитьПустойКаталог(ПапкаИсходников); Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); From 7e3dfaca740b1d9a8b7e267ced88294574a0b959 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 9 Nov 2019 17:47:27 +0500 Subject: [PATCH 30/37] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=20?= =?UTF-8?q?=D1=82=D0=B5=D1=81=D1=82=20=D0=BD=D0=B5=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=B1=D1=83=D1=8E=D1=89=D0=B8=D0=BC=20=D0=B2=D0=BC=D0=B5=D1=88?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D1=81=D1=82=D0=B2=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...320\276\320\264\320\275\320\270\320\272\320\270Git.feature" | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 01d607e..6607c7d 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -17,7 +17,8 @@ И в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И я выполняю команду "git" с параметрами "add -A ." И я выполняю команду "git" с параметрами 'commit -m "init commit"' - И я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib" + И я устанавливаю Precommit в рабочий каталог с параметрами "--ib-connection-string /F<РабочийКаталог>/build/ib --ib-user temp --ib-pwd 123" + И я выполняю команду "vanessa-runner" с параметрами "init-dev" И я копирую файл "Fixture.epf" из каталога "tests" проекта в рабочий каталог И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "second commit"' From ed9e19145a5818f90b2628150c463e0f124296f8 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 9 Nov 2019 17:51:20 +0500 Subject: [PATCH 31/37] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BB?= =?UTF-8?q?=D0=B8=D1=88=D0=BD=D0=B8=D0=B9=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...5\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" | 1 - 1 file changed, 1 deletion(-) diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index 6607c7d..f5583c3 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -22,7 +22,6 @@ И я копирую файл "Fixture.epf" из каталога "tests" проекта в рабочий каталог И я выполняю команду "git" с параметрами "add -A ." Когда я выполняю команду "git" с параметрами 'commit -m "second commit"' - И Я сообщаю вывод команды "oscript" Тогда в подпапке "src" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И вывод команды "git" не содержит "create mode 100644 1/Fixture.epf" From 0bdf1f1e283243c72147349afb39a6ef1959fb03 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sat, 9 Nov 2019 18:12:34 +0500 Subject: [PATCH 32/37] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=BB=D1=83=D1=87=D0=B0?= =?UTF-8?q?=D0=B5=D0=B2,=20=D0=BA=D0=BE=D0=B3=D0=B4=D0=B0=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=B1=D0=BE=D1=80=D0=BA=D0=B0=20=D0=BD=D0=B5=20=D1=83?= =?UTF-8?q?=D0=B4=D0=B0=D0=BB=D0=B0=D1=81=D1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/v8files-extractor.os b/v8files-extractor.os index d225fea..0237dd5 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -396,6 +396,10 @@ Конфигуратор.ВыполнитьКоманду(Параметры); Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); + Если НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() = 0 Тогда + ВызватьИсключение СтрШаблон("Не удалось разобрать на исходники %1", Файл.ПолноеИмя); + КонецЕсли; + ОбеспечитьПустойКаталог(ПапкаИсходников); Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); @@ -460,7 +464,10 @@ Конфигуратор.ВыполнитьКоманду(Параметры); Лог.Отладка("Вывод 1С:Предприятия - " + Конфигуратор.ВыводКоманды()); - Если Не ЭтоМакет И НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() > 0 Тогда + Если Не ЭтоМакет Тогда + Если НайтиФайлы(ВременнаяПапкаИсходников, "*").Количество() = 0 Тогда + ВызватьИсключение СтрШаблон("Не удалось разобрать на исходники %1", Файл.ПолноеИмя); + КонецЕсли; ОбеспечитьПустойКаталог(ПапкаИсходников); Лог.Отладка("Копируем исходники из временного каталога в целевой: " + ПапкаИсходников.ПолноеИмя); КопироватьСодержимоеКаталога(ВременнаяПапкаИсходников, ПапкаИсходников.ПолноеИмя); From 582026eb88e0b7461de8be26f2310649f31d44ed Mon Sep 17 00:00:00 2001 From: zeratul Date: Sun, 24 Mar 2019 17:33:37 +0500 Subject: [PATCH 33/37] =?UTF-8?q?=D0=A3=D1=81=D1=82=D0=B0=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20+x=20=D0=BD=D0=B0=20=D1=84=D0=B0=D0=B9?= =?UTF-8?q?=D0=BB=20=D1=85=D1=83=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v8files-extractor.os | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/v8files-extractor.os b/v8files-extractor.os index 0237dd5..1b77dcb 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -19,6 +19,7 @@ #Использовать v8runner #Использовать strings #Использовать gitrunner +#Использовать 1commands Перем Лог; Перем КодВозврата; @@ -499,6 +500,10 @@ ДополнитьФайлХука(КаталогХуков, УдалятьФайлыИзИндексаГит); + Если НЕ ЭтоWindows() Тогда + СделатьФайлИсполняемым(КаталогХуков, ОбъединитьПути(КаталогХуков, "pre-commit")); + КонецЕсли; + ГитРепозиторий.УстановитьНастройку("core.quotePath", "false", РежимУстановкиНастроекGit.Локально); ГитРепозиторий.УстановитьНастройку("core.longpaths", "true", РежимУстановкиНастроекGit.Локально); @@ -529,6 +534,37 @@ КонецЕсли; КонецПроцедуры +Функция ЭтоWindows() + СИ = Новый СистемнаяИнформация; + Возврат СтрНайти(НРег(СИ.ВерсияОС), "windows") > 0; +КонецФункции + +Процедура СделатьФайлИсполняемым(РабочийКаталог, ИмяФайла) + + Параметры = Новый Массив; + Параметры.Добавить("+x"); + Параметры.Добавить(ИмяФайла); + + Команда = Новый Команда; + + Команда.УстановитьКоманду("chmod"); + Команда.УстановитьКодировкуВывода(КодировкаТекста.UTF8); + Команда.УстановитьРабочийКаталог(РабочийКаталог); + Команда.ДобавитьПараметры(Параметры); + + Лог.Отладка("Устанавливаем флаг исполняемого для файла %1", ИмяФайла); + + КодВозврата = Команда.Исполнить(); + + Если КодВозврата <> 0 Тогда + Лог.Ошибка("Получен ненулевой код возврата " + КодВозврата + ". Выполнение скрипта остановлено!"); + ВызватьИсключение СокрЛП(Команда.ПолучитьВывод()); + Иначе + Лог.Отладка("Код возврата равен 0"); + КонецЕсли; + +КонецПроцедуры + Процедура ЗаменитьСтрокуВФайле(Знач ПутьФайла, Знач СтрокаПоиска, Знач СтрокаЗамены) Экспорт Чтение = Новый ЧтениеТекста(ПутьФайла, КодировкаТекста.UTF8NoBOM); Текст = Чтение.Прочитать(); From 11d15ff81132e416bffe3290975aad97bde0d266 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Tue, 9 Apr 2019 22:54:09 +0500 Subject: [PATCH 34/37] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B2=20Linux/Mac?= =?UTF-8?q?OS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - добавлен разбор mxl отдельной обработкой - добавлен ключ --remove-orig-bin-files для команды --install - добавлен пропуск windows-only сценариев под Linux - переписаны тесты --- ...202\320\276\321\200\320\270\320\271Git.os" | 1 + ...4\320\275\320\270\320\272\320\270.feature" | 15 ++++++++- ...20\275\320\270\320\272\320\270Git.feature" | 3 +- ...5\320\270\320\272\320\276\320\262.feature" | 3 +- src/tools/mxl2txt/mxl2txt.xml | 30 ++++++++++++++++++ ...0\244\320\276\321\200\320\274\320\260.xml" | 22 +++++++++++++ .../Ext/Form.xml" | 16 ++++++++++ .../Ext/Form/Module.bsl" | 22 +++++++++++++ tools/mxl2txt.epf | Bin 0 -> 5896 bytes v8files-extractor.os | 23 ++++++++++++-- 10 files changed, 129 insertions(+), 6 deletions(-) create mode 100644 src/tools/mxl2txt/mxl2txt.xml create mode 100644 "src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260.xml" create mode 100644 "src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" create mode 100644 "src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" create mode 100644 tools/mxl2txt.epf diff --git "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" index 2866586..6b50984 100644 --- "a/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" +++ "b/features/step_definitions/\320\240\320\265\320\277\320\276\320\267\320\270\321\202\320\276\321\200\320\270\320\271Git.os" @@ -76,6 +76,7 @@ ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/pre-commit"); ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/v8files-extractor.os"); ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/v8unpack.exe"); + ПроверяемСуществованиеФайлаВРабочемКаталоге(".git/hooks/tools/mxl2txt.epf"); КонецПроцедуры //{ Служебные методы diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index 6f16e1d..316a6c1 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -6,7 +6,8 @@ Чтобы я мог проще следить за изменениями в коде Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст + Допустим Я пропускаю этот сценарий в Linux + И я создаю временный каталог и сохраняю его в контекст И я сохраняю каталог проекта в контекст И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог @@ -34,3 +35,15 @@ И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + +Контекст: + Допустим я создаю временный каталог и сохраняю его в контекст + И я сохраняю каталог проекта в контекст + И я устанавливаю временный каталог как рабочий каталог + И я установил рабочий каталог как текущий каталог + +Сценарий: Разборка макета из заданной папки + Когда я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога + И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" + Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index f5583c3..cc3b877 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -6,7 +6,8 @@ Чтобы я не делал вручную разборку при commit'е Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст + Допустим Я пропускаю этот сценарий в Linux + И я создаю временный каталог и сохраняю его в контекст И я сохраняю каталог проекта в контекст И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог diff --git "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" index 05cf163..d41e6b1 100644 --- "a/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" +++ "b/features/\320\241\320\261\320\276\321\200\320\272\320\260\320\230\320\267\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\276\320\262.feature" @@ -6,7 +6,8 @@ Чтобы я мог не делать этого вручную Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст + Допустим Я пропускаю этот сценарий в Linux + И я создаю временный каталог и сохраняю его в контекст И я сохраняю каталог проекта в контекст И я устанавливаю временный каталог как рабочий каталог И я установил рабочий каталог как текущий каталог diff --git a/src/tools/mxl2txt/mxl2txt.xml b/src/tools/mxl2txt/mxl2txt.xml new file mode 100644 index 0000000..89ef6e8 --- /dev/null +++ b/src/tools/mxl2txt/mxl2txt.xml @@ -0,0 +1,30 @@ + + + + + + c3831ec8-d8d5-4f93-8a22-f9bfae07327f + ccb62503-8e1f-429f-98cb-3b09350c6913 + + + 2e1571b6-3279-4c03-89fd-4a023c61a98d + 3f3ce976-2f97-4be6-83de-02c1b4227c88 + + + + mxl2txt + + + ru + Mxl2txt + + + + ExternalDataProcessor.mxl2txt.Form.Форма + + + +
Форма
+
+
+
\ No newline at end of file diff --git "a/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260.xml" "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260.xml" new file mode 100644 index 0000000..671cd5f --- /dev/null +++ "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260.xml" @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git "a/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" new file mode 100644 index 0000000..04823f1 --- /dev/null +++ "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form.xml" @@ -0,0 +1,16 @@ + +
+ + + ПриОткрытии + ПриСозданииНаСервере + + + + + cfg:ExternalDataProcessorObject.mxl2txt + + true + + + \ No newline at end of file diff --git "a/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" new file mode 100644 index 0000000..e403815 --- /dev/null +++ "b/src/tools/mxl2txt/mxl2txt/Forms/\320\244\320\276\321\200\320\274\320\260/Ext/Form/Module.bsl" @@ -0,0 +1,22 @@ + +&НаКлиенте +Процедура ПриОткрытии(Отказ) + Если НЕ ПустаяСтрока(ПараметрЗапуска) Тогда + ОбработатьПараметрыЗапуска(ПараметрЗапуска); + КонецЕсли; + ЗавершитьРаботуСистемы(Ложь); +КонецПроцедуры + +&НаКлиенте +Процедура ОбработатьПараметрыЗапуска(ПутьКФайлу) + + Файл = Новый Файл(ПутьКФайлу); + + Если Файл.Существует() И Файл.Расширение = ".mxl" Тогда + ТабДокумент = Новый ТабличныйДокумент; + ТабДокумент.Прочитать(Файл.ПолноеИмя); + ИмяРазложенногоФайла = Лев(Файл.ПолноеИмя, СтрДлина(Файл.ПолноеИмя) - 4) + "_mxl.txt"; + ТабДокумент.Записать(ИмяРазложенногоФайла, ТипФайлаТабличногоДокумента.TXT); + КонецЕсли; + +КонецПроцедуры \ No newline at end of file diff --git a/tools/mxl2txt.epf b/tools/mxl2txt.epf new file mode 100644 index 0000000000000000000000000000000000000000..0932c7b16e62d426e8418a15a328b1d0e0b72263 GIT binary patch literal 5896 zcmeHK2T)Vn7QJ){pmbCegD6N(AV4H^M2d)Dp-Bs&BOq0zV+aD$1tg-6CMqaMQ<_Q= zQKW=`JmCXUq!{T)RS@zoC~w}M@z0w#Z~mWg#(n49z3!fU%H4P6oD~|477ow@01NQV zI3TbsQ$Rqsyc`S$RdV`fP!5PJm|6lh8rY4@2mr=R-|#yK0Gwz0hJ!c&fC#qDoS|I+ zaDek0R^tW$EZ8>VdAtBH4z^AFedb^8C#b+SJrrTz=m7)4pXgyM&@!Z@O%H7Q%{M{= zj({A1+44$&Js=G>G=KnO(%>BpzyTzPj)E8lD1b-_Pz0l!am?0r6vPf-_NHx5k4FBG zo#{!M5PCSf&I*HXY^_I*tNitG?^Gkzh#>=r&?|;&vqi|#Asb>DHs^$J6zxTe*kzj; zmdem7#qKoPe4D|tzMSO!WESpQ&{V+)T`og$9eiln-QOmry&rZ5DNfe*Op_^rk*%p$ z6+cgj@-y9u(J;~FlaldVY3u03GD{t#SU7Iz+;&LJxkQthp2x<&} zi*2=R=t{}*v~Jxz`1|=~|BDK2(?jw5<^==6|B0P4AbU6M`w|os9lkMi6Z~lj#pfnH zd31RVethK!lI3>By0<21NO< zG1Paf2QK1_=jsKS4OB9%?Hax9EljmE6V3HG_0yzZaGkr#nSzW)A3o$D!6z-#eq%#5 zNW=DX-y$}gGKiznsd5fmGNIx;vJR#wNHz1lmEznsalHuJfLx<#%QW z5JOUp9FK|Yq4t(^R_;etm33Tn&vItfvn|4LLn5w3s(nN@^w3;1GR88_9YnLa9yCqm zGf^xPy=ks<(A2TdRN~)F8Dx$sr`LV$iw7!2LQ>4nw7xpZ+A6ldDVHOpT8!t`8?ZR|y+m+s}aTwd%^=-WH zW(;3JyrQ1ALOb;Ay~4-f7+qPDesumBfrb~FvkG7IT|_roP zAs8umhBBCNd;{BVYbx_puF<(vcdBEhlx?asy7Y>c_7tisou_seaTXIg`6b1S)UJto zk-NubB$39JY`1p`E2QBJ*}Lr5z%+UVEjplTdPGvdhmF)4R42S+gd9qi3~hB{ChTW= z6YtFt5)nfKjuR0x;bWb~^0^JW%;gyr?nPVKURe;ns6t1**ZxMgla4o>nh?%1(vGod zf;)%3*>%;4jzWc1s`fgd&A!nt(l2oj6|n*Pb7EnOpeG$o@@#8 z7dUjlnIxp~k>F$bu{~VsKz~*fpDz!8`)E3$%KqrTPAEJt_~aXPYSorFjja!LtK!e# z==S$is4=NN)KDfOuHR%B!ziYJ#B*_-E2d{Dq0<%LM~=SRyKXJO;YoT(NGiP+pYy&V z+#sO`n}E-f#lP|p6AsTZeDd7lc}bHK+MR4exg_;&u2s3Hz-+V_*L&fG6(w-&Z2q~K zJWI9gljAjydwtB>tR7VPj@k3;deNx9zvA2eBCzl!XnY+~eCd-$P$ zh8e%o)R(EQ(k_vK6qD(ZFoT&*L}e`riFWqs6@(cQk% z?c+g_ajF_xrGpy0d|71iI^V~;?7>1!{aEp^N_kH$bi9QsL;NIGx6by*aqwfY5)rI5 zxG7e){pR+K0mTRgkO##F0=zcm2poKJ042<(SaAd~VoR*pgL#S|asYFXU{nE=Er>0- zq6j`KZ4R}46u=RRKNKqoDJMOxh1qe`l=4{AtJHA9kd7ahUF#A2u|i()TFFW1i3$GZ z(AmfNJMD#|S{uubZmdsEUVpRDc~428xdv!re=WS{0s?1oGwo*o;XM?oqo{6_SZ$2AaquM`9F znHmEgoX6L#;+m&AQh0xVwG90rq$xvR87h+6EV&rjCI>Sx9Lnp{Kg8l|VlMG9l-!lR zQu=%$JIkgz(Ik&>|C#1*{@EmsN(8C*ZEJUb{@NzrLwk7no z-+V_5;00U+E(5NBC*TC)P1_#E0sdo_B|Y!gncP7Y&l_@BP z`HGU4ajMJAyl1cx0~+x>@eMA@mL11DEo{3fvp1G7q336)ouSNRx4ankf;GBGhX~#W z1U{UIB{yXz*_8^DnX2P+DbU%W{Un~7n5AMd8$NXh~qXOIXklWq^LGTwW^8uOV1^8`E@<(^a zAF?aBJ~;ewicz^vd0B33Y+*^Rw?R>feoA|4_TIwj7rRavjelK%ExWF8_SYL z?p2aETr~A|c*{W&8~F5ePP$%3>|LWg8dN_{9k2|)V1D_?D3T4P7b(u!*1IR~tX@af z2R|~#E{?~T1v^ynK6&EerH;(*!%BE#e)N{9_OgfupJgfaeFH3*ysY&ED18MZ5TC+A+LhT5Ie2CQA zT~pFco%Nbsa{BQ5`p%nlC literal 0 HcmV?d00001 diff --git a/v8files-extractor.os b/v8files-extractor.os index 1b77dcb..5cdf36a 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -192,8 +192,8 @@ Процедура ДобавитьОписаниеКомандыУстановить(Знач Парсер) ОписаниеКоманды = Парсер.ОписаниеКоманды(ВозможныеКоманды().Установить); - Парсер.ДобавитьКоманду(ОписаниеКоманды); Парсер.ДобавитьПараметрФлагКоманды(ОписаниеКоманды, "--remove-orig-bin-files"); + Парсер.ДобавитьКоманду(ОписаниеКоманды); КонецПроцедуры Процедура Инициализация() @@ -431,8 +431,25 @@ ВременнаяПапкаИсходников = ВременныеФайлы.СоздатьКаталог(); Параметры = Конфигуратор.ПолучитьПараметрыЗапуска(); - Если НЕ ЭтоМакет И ИспользоватьКонфигуратор Тогда - + + Если ЭтоМакет Тогда + + Параметры[0] = "ENTERPRISE"; + + ПутьMxl2txt = ОбъединитьПути(ТекущийСценарий().Каталог, "tools", "mxl2txt.epf"); + Лог.Отладка("Путь к mxl2txt: " + ПутьMxl2txt); + Ожидаем.Что(Новый Файл(ПутьMxl2txt).Существует(), "Некорректно установлен mxl2txt. Не обнаружен файл <" + ПутьMxl2txt + ">").ЭтоИстина(); + + КоманднаяСтрокаMxl2txt = СтрШаблон("/C""%1""", Файл.ПолноеИмя); + + Лог.Отладка("Командная строка Mxl2txt: " + КоманднаяСтрокаMxl2txt); + + Параметры.Добавить("/RunModeManagedApplication"); + Параметры.Добавить("/Execute """ + ПутьMxl2txt + """"); + Параметры.Добавить(КоманднаяСтрокаMxl2txt); + + ИначеЕсли ИспользоватьКонфигуратор Тогда + КоманднаяСтрокаРаспаковки = СтрШаблон("/DumpExternalDataProcessorOrReportToFiles ""%1\%2.xml"" ""%3""", ВременнаяПапкаИсходников, Файл.ИмяБезРасширения, Файл.ПолноеИмя); From bc7f1788e7f22edcb11e3712c530d7b4f4e17591 Mon Sep 17 00:00:00 2001 From: ZeratulAyuris Date: Sun, 10 Nov 2019 15:41:19 +0500 Subject: [PATCH 35/37] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=20=D0=BC?= =?UTF-8?q?=D0=B0=D0=BA=D0=B5=D1=82=D1=8B=20=D0=B2=20=D0=BE=D1=82=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20=D1=84=D0=B8=D1=87=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\264\320\275\320\270\320\272\320\270.os" | 4 ++ ...0\320\272\320\265\321\202\320\260.feature" | 41 +++++++++++++++++++ ...4\320\275\320\270\320\272\320\270.feature" | 18 -------- ...20\275\320\270\320\272\320\270Git.feature" | 11 ----- 4 files changed, 45 insertions(+), 29 deletions(-) create mode 100644 "features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\260.feature" diff --git "a/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" index c90dfbb..1464c8a 100644 --- "a/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" +++ "b/features/step_definitions/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.os" @@ -37,6 +37,8 @@ ИначеЕсли Формат = "designer" Тогда ИмяКаталогаИсходниковОбработки = ОбъединитьПути(Подпапка, ИмяОбработки); ПроверяемИсходникиВРабочемКаталоге(ИмяКаталогаИсходниковОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)); + Иначе + ВызватьИсключение "Проверяем несуществующий формат!"; КонецЕсли; КонецПроцедуры @@ -46,6 +48,8 @@ ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаV8reader()); ИначеЕсли Формат = "designer" Тогда ПроверяемИсходникиВРабочемКаталоге(ИмяОбработки, ОписаниеИсходниковФорматаКонфигуратора(ИмяОбработки)); + Иначе + ВызватьИсключение "Проверяем несуществующий формат!"; КонецЕсли; КонецПроцедуры diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\260.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\260.feature" new file mode 100644 index 0000000..3cb9cbf --- /dev/null +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\234\320\260\320\272\320\265\321\202\320\260.feature" @@ -0,0 +1,41 @@ +# language: ru + +Функционал: Выполнение операций по разборке на исходники + Как Пользователь + Я хочу разбирать макеты в текстовые + Чтобы я мог проще следить за изменениями в макетах + +Контекст: + Допустим я создаю временный каталог и сохраняю его в контекст + И я сохраняю каталог проекта в контекст + И я устанавливаю временный каталог как рабочий каталог + И я установил рабочий каталог как текущий каталог + И я создаю каталог "1" в рабочем каталоге + И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога + +Сценарий: Разборка макета из заданной папки + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + +Сценарий: Разборка макета из заданной папки при включенном режиме использования конфигуратора + Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1 --use-designer" + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + +Сценарий: Разборка изменений макета по журналу Git + Дано я выполняю команду "git" с параметрами 'init' + И я устанавливаю Precommit в рабочий каталог с параметрами "" + И я выполняю команду "git" с параметрами "add -A ." + И я выполняю команду "git" с параметрами "status" + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt" + +Сценарий: Разборка изменений макета по журналу Git при включенном режиме использования конфигуратора + Дано я выполняю команду "git" с параметрами 'init' + И я устанавливаю Precommit в рабочий каталог с параметрами "--use-designer --ib-connection-string /F<РабочийКаталог>/build/ib" + И я выполняю команду "vanessa-runner" с параметрами "init-dev" + И я выполняю команду "git" с параметрами "add -A ." + И я выполняю команду "git" с параметрами "status" + Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' + Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" + И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" index 316a6c1..0e75c16 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270.feature" @@ -29,21 +29,3 @@ И я создаю каталог "src" в рабочем каталоге Когда я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/bin <РабочийКаталог>/src" Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" - -Сценарий: Разборка макета из заданной папки - Когда я создаю каталог "1" в рабочем каталоге - И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" - Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" - -Контекст: - Допустим я создаю временный каталог и сохраняю его в контекст - И я сохраняю каталог проекта в контекст - И я устанавливаю временный каталог как рабочий каталог - И я установил рабочий каталог как текущий каталог - -Сценарий: Разборка макета из заданной папки - Когда я создаю каталог "1" в рабочем каталоге - И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога - И я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --decompile <РабочийКаталог>/1/Fixture.mxl <РабочийКаталог>/1" - Тогда в подкаталоге "1" рабочего каталогасуществует файл "Fixture_mxl.txt" diff --git "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" index cc3b877..9cc63ff 100644 --- "a/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" +++ "b/features/\320\240\320\260\320\267\320\261\320\276\321\200\320\272\320\260\320\235\320\260\320\230\321\201\321\205\320\276\320\264\320\275\320\270\320\272\320\270Git.feature" @@ -56,14 +56,3 @@ Когда я выполняю команду "git" с параметрами 'commit -m "init commit"' Тогда в подпапке "src/1" рабочего каталога содержатся исходники обработки "Fixture" в формате "v8reader" И вывод команды "git" содержит "create mode 100644 1/Fixture.epf" - -Сценарий: Разборка изменений макета по журналу Git - Когда Я выполняю команду "oscript" с параметрами "<КаталогПроекта>/v8files-extractor.os --install" - И я создаю каталог "1" в рабочем каталоге - И я копирую файл "Fixture.mxl" из каталога "tests" проекта в подкаталог "1" рабочего каталога - И я создаю каталог "src" в рабочем каталоге - И я выполняю команду "git" с параметрами "add -A ." - И я выполняю команду "git" с параметрами "status" - И я выполняю команду "git" с параметрами 'commit -m "init commit"' - Тогда в подкаталоге "1" рабочего каталога существует файл "Fixture_mxl.txt" - И вывод команды "git" содержит "create mode 100644 1/Fixture_mxl.txt" From fa9ba1fbcfff4627d175b71044d13572dcbb8399 Mon Sep 17 00:00:00 2001 From: boris stoyanov Date: Mon, 11 Nov 2019 18:46:17 +0500 Subject: [PATCH 36/37] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавил информацию по установке Добавил особенности распаковки макетов --- README.md | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5272012..3aeb758 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,20 @@ -## Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git +# Набор утилит для автоматической разборки/сборки внешних обработок и отчетов, при помещении (commit) в git [![Join the chat at https://gitter.im/xDrivenDevelopment/precommit1c](https://badges.gitter.im/xDrivenDevelopment/precommit1c.svg)](https://gitter.im/xDrivenDevelopment/precommit1c?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) Здесь вы можете задавать любые вопросы разработчикам и активным участникам [![GitHub release](https://img.shields.io/github/release/xDrivenDevelopment/precommit1c.svg)](https://github.com/xDrivenDevelopment/precommit1c/releases) -### Что к чему +## Что к чему ---- +**precommit1c** - инструмент для хранения в Git исходников внешних отчетов/обработок, технически состоит из: + * v8files-extractor.os - скрипт для OneScript, получающий список помещаемых файлов при коммите, фильтрующий по расширению только внешние отчёты/обработки, расширения и запускающий команды для распаковки этих файлов. Так же позволяет собирать обработки из полученных исходников. * [V8Reader.epf](http://infostart.ru/public/106310/) - внешняя обработка 1С, которая с помощью [v8unpack](http://svn2.assembla.com/svn/V8Unpack/track/) разбирает внешние обработки, определяет нормальные наименования для каталогов форм, файлов модулей объектов и т. д. и раскладывает их в нормальную структуру папок. * pre-commit - собственно командный файл, вызываемый git перед каждым помещением. Выполняет роль простой запускалки скрипта v8files-extractor.os -### Установка +## Установка 1. Зависимости: * OneScript [http://oscript.io/](http://oscript.io/) @@ -25,15 +27,15 @@ 3. Путь хранения исходных текстов разобранных обработок по умолчанию используется как **src** (для обеспечения совместимости со старыми версиями обработки), однако его можно переназначить в файле `pre-commit` -#### Установка через OneScript Package Manager +### Установка через OneScript Package Manager (предпочтительно) -1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора). +1. Выполните установку precommit1c из командной строки `opm install precommit1c` (предполагается, что OneScript уже установлен и командная строка запущена с правами администратора). При этом необходимые библиотеки oscript будут установлены автоматически. 2. Перейдите в рабочий каталог репозитория, для которого следует использовать автоматическую сборку/разборку. 3. Выполните из командной строки `precommit1c --install` (здесь можно без прав администратора). -#### Установка через zip-архив +### Установка через zip-архив 1. Скачайте zip-архив precommit1c.zip со страницы [последнего релиза](https://github.com/xDrivenDevelopment/precommit1c/releases/latest). @@ -50,12 +52,15 @@ v8files-extractor.os ``` -#### Установка через git clone +3. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`. + +### Установка через git clone 1. Склонируйте репозиторий `precommit1c` в удобное место. 2. После клонирования репозитория необходимо инициализировать используемые подмодули. Откройте командую строку и выполните команды: + ```cmd cd путь/к/репозиторию/precommit1c git submodule update --init --recursive @@ -64,6 +69,7 @@ git submodule update --init --recursive 3. Cодержимое каталога необходимо скопировать в каталог .git/hooks/ вашего проекта. *Примечание:* каталог .git по умолчанию скрыт. В итоге у вас должна получиться следующая структура каталога: + ``` .git\ hooks\ @@ -73,6 +79,8 @@ git submodule update --init --recursive v8files-extractor.os ``` +4. Установите необходимые библиотеки oscript - их список можно посмотреть в списке зависимостей в файле `packagedef`. + ## Запуск После установки достаточно для проверки сделать commit для любого файла epf/erf/cfe, и в вашем репозитории автоматически должна создаться папка *src*, полностью повторяющая структуру проекта, изменённые или добавленные файлы распакуются в папки с аналогичными наименованиями. @@ -132,11 +140,21 @@ git config --local core.longpaths true Т.о. в файл C:\Program Files (x86)\1cv8\conf\conf.cfg необходимо добавить строку `DisableUnsafeActionProtection=.*` Подробнее [на ИТС](http://its.1c.ru/db/v838doc#bookmark:dev:TI000001873) +## Особенности распаковки макетов + +При использовании v8Reader макеты выгружаются в файлы, соответствующие их типам, дополнительно обрабатываются специальные случаи: + +* У макетов табличных документов дополнительно создаются .txt версии, чтобы их было легче сравнивать в текстовом редакторе. +* У макетов типа html дополнительно выгружаются файлы вложений. +* Макеты в двоичных данных выгружаются либо в .bin, либо (для печатных форм) в тот тип файла, который указан в имени макета (например, `ПФ_MXL_КакаяТоПечатнаяФорма` будет выгружен в `ПФ_MXL_КакаяТоПечатнаяФорма.mxl`). + ## Известные проблемы 1. При использовании некоторых версий SourceTree (удобный клиент git) может возникать следующая ошибка: + >`.git/hooks/pre-commit: line 4: oscript: command not found` Несколько вариантов решения: + + убедиться, что команда `oscript` доступна + для проверки вызвать из командной строки или Win+R `cmd /k oscript` + откатиться на предыдущую версию SourceTree @@ -151,12 +169,10 @@ git config --local core.longpaths true * добавить нужную обработку в индекс git - например, `git add XXX.epf` * установить переменную среды `LOGOS_CONFIG` или заполнить спец.файл настройки логов * выполнить `git commit` или `precommit1c --git-precommit` + * Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG` + * или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg` + * Или создать и выполнить командный файл -+ Например, рядом с файлом `v8files-extractor.os` положить файл `logos.cfg` со следующим текстом `logger.rootLogger=DEBUG` - -+ или переименовать файл-пример `logos.debug-example.cfg` в `logos.cfg` - -* Или создать и выполнить командный файл ```bat git add XXX.epf @set LOGOS_CONFIG=logger.rootLogger=DEBUG @@ -166,6 +182,7 @@ git add XXX.epf * где каталог `src` - выходной каталог, где хранятся исходники 2. Для отключения отладочных логов выполнить обратные действия + ## Что внутри Как это работает: `v8files-extractor.os` полностью повторяет иерархию папок относительно корня репозитория только в папке SRC (от слова source), для каждой изменённой внешней обработки создаётся своя папка и туда с помощью v8unpack распаковывается помещаемая обработка, с помощью v8reader определяются наименования макетов, форм, модуля обработки и переименовываются, переименования сохраняются в служебном файле renames.txt, те файлы, которые невозможно определить или же носят чисто служебный характер, переносятся в каталог *und*. From f29e3dbb2aeb36712bf4373cf630f0eb6446c86e Mon Sep 17 00:00:00 2001 From: boris stoyanov Date: Wed, 13 Nov 2019 13:10:26 +0500 Subject: [PATCH 37/37] release 2.3.0 --- packagedef | 2 +- v8files-extractor.os | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packagedef b/packagedef index 48f3a03..25a5f63 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("precommit1c") - .Версия("2.2.2") + .Версия("2.3.0") .ЗависитОт("asserts", "0.4.0") .ЗависитОт("cmdline", "1.0.0") .ЗависитОт("logos", "1.1.1") diff --git a/v8files-extractor.os b/v8files-extractor.os index 5cdf36a..e0fddd9 100644 --- a/v8files-extractor.os +++ b/v8files-extractor.os @@ -32,7 +32,7 @@ Функция Версия() Экспорт - Версия = "2.2.2"; + Версия = "2.3.0"; Возврат "v" + Версия;