From 5e7eabd717a303a393d6bdfcf5abc0bde519a886 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 10:04:07 +0300 Subject: [PATCH 1/7] =?UTF-8?q?fix:=20=D0=94=D0=BB=D1=8F=20=D0=BF=D0=BB?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=20sync-remote=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=BF=D0=B0=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D1=80=20branch=20(B)=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=D1=81=D0=B8?= =?UTF-8?q?=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7=D0=B8=D1=80=D1=83?= =?UTF-8?q?=D0=B5=D0=BC=D0=BE=D0=B9=20=D0=B2=D0=B5=D1=82=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../syncRemote.os" | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" index ec8d0ca..5d4941c 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" @@ -27,7 +27,7 @@ // Строка - текущая версия плагина // Функция Версия() Экспорт - Возврат "1.6.0"; + Возврат "1.6.1"; КонецФункции // Возвращает приоритет выполнения плагина @@ -110,6 +110,9 @@ КлассРеализации.Опция("G pull", Ложь, "[*sync-remote] Флаг получения изменений из удаленный репозитория перед синхронизацией") .Флаг() .ВОкружении("GITSYNC_REMOTE_PULL"); + КлассРеализации.Опция("B branch", Ложь, "[*sync-remote] Имя ветки") + .ТСтрока() + .ВОкружении("GITSYNC_REMOTE_BRANCH"); КлассРеализации.Опция("T push-tags", Ложь, "[*sync-remote] Флаг отправки тегов по версиям") .Флаг() .ВОкружении("GITSYNC_REMOTE_PUSH_TAGS"); @@ -134,8 +137,9 @@ КоличествоКоммитовДоPush = ПараметрыКоманды.Параметр("push-n-commits", 0); - Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения); Лог.Отладка("Установлено получение изменений <%1> ", ПолучитьИзменения); + Лог.Отладка("Установлено имя ветки <%1> ", ИмяВетки); + Лог.Отладка("Установлена отправка изменений <%1> ", ОтправитьИзменения); Лог.Отладка("Установлено количество коммитов <%1>, после которых осуществляется отправка", КоличествоКоммитовДоPush); Лог.Отладка("Установлен флаг отправки меток в значение <%1> выгрузки версий", ОтправлятьТеги); From 6851071d986280481b5a3cb9ea197a2d06813f7a Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 10:10:20 +0300 Subject: [PATCH 2/7] =?UTF-8?q?fix:=20=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=B8=D1=81=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B5=20?= =?UTF-8?q?=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=B0=20=D1=83=D1=82=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8=D1=82=D1=8B=20ibcmd;=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=B0=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5?= =?UTF-8?q?=D1=80=D0=BA=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D1=82=D0=B8=20=D0=B8=D0=BD=D0=BA=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=B2?= =?UTF-8?q?=D1=8B=D0=B3=D1=80=D1=83=D0=B7=D0=BA=D0=B8=20=D1=81=20=D0=B8?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=D0=BC=20ibcmd=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=B1=D0=BA=D0=B5=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../useIbcmd.os" | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" index f7cf279..6395009 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" @@ -160,7 +160,7 @@ .ТСтрока() .ВОкружении("GITSYNC_IBCMD_DB_PWD"); - КлассРеализации.Опция("j ibcmd-threads", "", "[*use-ibcmd] Количество потоков используемых при экспорте") + КлассРеализации.Опция("j ibcmd-threads", "", "[*use-ibcmd] Количество потоков используемых при экспорте") .ТЧисло() .ВОкружении("GITSYNC_IBCMD_THREADS"); @@ -211,8 +211,8 @@ ВыгрузитьКонфигурациюВФайлыIBCMD(Конфигуратор, КаталогВыгрузки); Исключение ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()); - Лог.Ошибка("Невозможно выгрузить конфигурацию в файлы. Ошибка:%1%2", Символы.ПС, ТекстОшибки); - ВызватьИсключение; + ТекстОшибки = СтрШаблон("Невозможно выгрузить конфигурацию в файлы. Ошибка:%1%2", Символы.ПС, ТекстОшибки); + ВызватьИсключение ТекстОшибки; КонецПопытки; КонецПроцедуры @@ -275,9 +275,10 @@ Если КодВозврата <> 0 Тогда ТекстОшибки = КомандаIBCMD.ПолучитьВывод(); - Лог.КритичнаяОшибка("Не удалось выгрузить конфигурацию в файлы с использованием IBCMD:%1%2", - Символы.ПС, - ТекстОшибки); + ТекстОшибки = СтрШаблон("Не удалось выгрузить конфигурацию в файлы с использованием IBCMD:%1%2", + Символы.ПС, + ТекстОшибки); + ВызватьИсключение ТекстОшибки; КонецЕсли; КонецПроцедуры // ВыгрузитьКонфигурациюВФайлыIBCMD() @@ -335,28 +336,28 @@ КодВозврата = КомандаIBCMD.Исполнить(); - Если КодВозврата <> 0 Тогда - ТекстОшибки = КомандаIBCMD.ПолучитьВывод(); - Лог.КритичнаяОшибка("Не удалось получить информацию об изменениях конфигурации:%1%2", - Символы.ПС, - ТекстОшибки); - КонецЕсли; - - ФайлПроверки = Новый Файл(ПутьКФайлуПроверки); - - Если ФайлПроверки.Существует() Тогда - СтрокаПолныйДамп = "modified: all"; - ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлуПроверки); - СтрокаПроверки = Лев(ЧтениеФайла.ПрочитатьСтроку(), СтрДлина(СтрокаПолныйДамп)); - - Если Не ПустаяСтрока(СокрЛП(СтрокаПроверки)) Тогда - - Лог.Отладка("Строка проверки на возможность выгрузки конфигурации: <%1> = <%2> ", СтрокаПолныйДамп, СтрокаПроверки); - Результат = НЕ (ВРег(СтрокаПроверки) = ВРег(СтрокаПолныйДамп)); + Если КодВозврата = 0 Тогда + ФайлПроверки = Новый Файл(ПутьКФайлуПроверки); + Если ФайлПроверки.Существует() Тогда + СтрокаПолныйДамп = "modified: all"; + ЧтениеФайла = Новый ЧтениеТекста(ПутьКФайлуПроверки); + СтрокаПроверки = Лев(ЧтениеФайла.ПрочитатьСтроку(), СтрДлина(СтрокаПолныйДамп)); + + Если Не ПустаяСтрока(СокрЛП(СтрокаПроверки)) Тогда + + Лог.Отладка("Строка проверки на возможность выгрузки конфигурации: <%1> = <%2> ", СтрокаПолныйДамп, СтрокаПроверки); + Результат = НЕ (ВРег(СтрокаПроверки) = ВРег(СтрокаПолныйДамп)); + + КонецЕсли; + ЧтениеФайла.Закрыть(); + УдалитьФайлы(ПутьКФайлуПроверки); КонецЕсли; - ЧтениеФайла.Закрыть(); - УдалитьФайлы(ПутьКФайлуПроверки); + Иначе + ТекстОшибки = КомандаIBCMD.ПолучитьВывод(); + Лог.Ошибка("Не удалось получить информацию об изменениях конфигурации:%1%2", + Символы.ПС, + ТекстОшибки); КонецЕсли; Лог.Отладка("Инкрементальная выгрузка конфигурации - %1", ?(Результат, "ВОЗМОЖНА", "НЕВОЗМОЖНА")); From 6028ba79265a8e7a134eb0a215578c836da911ff Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 10:11:02 +0300 Subject: [PATCH 3/7] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=20`use-ibcmd`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../useIbcmd.os" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" index 6395009..002c053 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/useIbcmd.os" @@ -28,7 +28,7 @@ // Строка - текущая версия плагина // Функция Версия() Экспорт - Возврат "1.6.0"; + Возврат "1.6.1"; КонецФункции // Возвращает приоритет выполнения плагина From 94c9c04377237731705625aa299d4ffafd619bf5 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 10:11:41 +0300 Subject: [PATCH 4/7] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 76ede8a..e634ac5 100644 --- a/packagedef +++ b/packagedef @@ -35,7 +35,7 @@ КонецПроцедуры Описание.Имя("gitsync-plugins") - .Версия("1.6.0") + .Версия("1.6.1") .Автор("Khorev A.A. and SilverBulleters") .АдресАвтора("khorevaa@gmail.com,help@silverbulleters.org") .Описание("Набор предустановленных плагинов для gitsync") From 3dbafa7fb10ac0ebc265ed0e4591e0f52fe86c60 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 11:15:32 +0300 Subject: [PATCH 5/7] =?UTF-8?q?feat:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D0=BE=D0=B4=D0=B4=D0=B5=D1=80?= =?UTF-8?q?=D0=B6=D0=BA=D0=B0=20`edtcli`=20=D0=B4=D0=BB=D1=8F=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D0=B9=20EDT=202024=20=D0=B8=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=80=D1=88=D0=B5.=20refactor:=20=D0=98=D0=B7?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=BE=20=D0=BA=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BA=D0=BE=D0=B5=20=D0=B8=D0=BC=D1=8F=20=D0=BE=D0=BF=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20'--project-name'=20`P`=20->=20`PN`=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20=D1=81=20=D0=B4=D1=80=D1=83?= =?UTF-8?q?=D0=B3=D0=B8=D0=BC=D0=B8=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD?= =?UTF-8?q?=D0=B0=D0=BC=D0=B8;=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BA=D1=80=D0=B0=D1=82=D0=BA=D0=BE=D0=B5=20?= =?UTF-8?q?=D0=B8=D0=BC=D1=8F=20=D0=BE=D0=BF=D1=86=D0=B8=D0=B8=20'--base-p?= =?UTF-8?q?roject-name'=20`B`=20->=20`BP`=20=D0=B4=D0=BB=D1=8F=20=D1=81?= =?UTF-8?q?=D0=BE=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8=20=D1=81=20=D0=B4=D1=80=D1=83=D0=B3=D0=B8=D0=BC?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8?= =?UTF-8?q?;=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B0=20=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8?= =?UTF-8?q?=D0=BD=D0=B0=20`edt-export`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../edtExport.os" | 300 +++++++++++++++--- 1 file changed, 263 insertions(+), 37 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/edtExport.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/edtExport.os" index a11aaef..1d85625 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/edtExport.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/edtExport.os" @@ -1,6 +1,7 @@ #Использовать logos #Использовать tempfiles #Использовать fs +#Использовать semver Перем ВерсияПлагина; Перем Лог; @@ -100,27 +101,25 @@ Лог.Отладка("Устанавливаю дополнительные параметры для команды %1", ИмяКоманды); - КлассРеализации.Опция("P project-name", "", "[*edtExport] Имя проекта") - .ТСтрока() - .ВОкружении("GITSYNC_PROJECT_NAME"); + КлассРеализации.Опция("PN project-name", "", "[*edtExport] Имя проекта") + .ТСтрока() + .ВОкружении("GITSYNC_PROJECT_NAME"); КлассРеализации.Опция("W workspace-location", "", "[*edtExport] расположение рабочей области") - .ТСтрока() - .ВОкружении("GITSYNC_WORKSPACE_LOCATION"); - - КлассРеализации.Опция( - "B base-project-name", - "", - "[*edtExport] имя базового проекта в рабочей области (для расширений))") - .ТСтрока() - .ВОкружении("GITSYNC_BASE_PROJECT_NAME"); - - КлассРеализации.Опция( - "M module", - "", - "[*edtExport] имя установленного модуля edt") - .ТСтрока() - .ВОкружении("GITSYNC_MODULE"); + .ТСтрока() + .ВОкружении("GITSYNC_WORKSPACE_LOCATION"); + + КлассРеализации.Опция("BP base-project-name", + "", + "[*edtExport] имя базового проекта в рабочей области (для расширений))") + .ТСтрока() + .ВОкружении("GITSYNC_BASE_PROJECT_NAME"); + + КлассРеализации.Опция("M module", + "", + "[*edtExport] имя установленного модуля edt") + .ТСтрока() + .ВОкружении("GITSYNC_MODULE"); КонецПроцедуры @@ -185,24 +184,8 @@ Лог.Отладка("Каталог проекта EDT: %1", КаталогПроекта); ФС.ОбеспечитьПустойКаталог(КаталогПроекта); - Команда = Новый Команда; - - Параметры = Новый Массив(); - Параметры.Добавить(СтрШаблон("--configuration-files ""%1""", КаталогВыгрузки)); - Параметры.Добавить(СтрШаблон("--workspace-location ""%1""", ВременноеРабочееПространство)); - Параметры.Добавить(СтрШаблон("--project ""%1""", КаталогПроекта)); - - Если Не ПустаяСтрока(ИмяРасширения) И Не ПустаяСтрока(ИмяБазовогоПроекта) Тогда - Параметры.Добавить(СтрШаблон("--base-project-name ""%1""", ИмяБазовогоПроекта)); - КонецЕсли; + Команда = КомандаКонвертации(КаталогВыгрузки, ВременноеРабочееПространство, КаталогПроекта); - Команда.УстановитьСтрокуЗапуска(СтрШаблон("ring %1 workspace import", ИмяМодуля)); - Команда.УстановитьКодировкуВывода(КодировкаТекста.ANSI); - Команда.ДобавитьЛогВыводаКоманды("oscript.lib.gitsync.plugins.edtExport"); - Команда.ДобавитьПараметры(Параметры); - Команда.УстановитьИсполнениеЧерезКомандыСистемы(Истина); - Команда.ПоказыватьВыводНемедленно(Ложь); - Команда.УстановитьПравильныйКодВозврата(0); КодВозврата = Команда.Исполнить(); Лог.Отладка("Код возврата EDT: %1", КодВозврата); @@ -228,6 +211,249 @@ #Область Вспомогательные_процедуры_и_функции +// Функция - получает команду запуска утилиты ring для выполнения конвертации +// +// Возвращаемое значение: +// Команда - команда запуска утилиты ring для выполнения конвертации +// +Функция КомандаКонвертации(КаталогВыгрузки, РабочееПространство, КаталогПроекта) + + ВерсияEDT = ВерсияEDT(); + + Если Лев(ВерсияEDT(), 4) >= "2024" Тогда + Команда = КомандаEdtcli(КаталогВыгрузки, РабочееПространство, КаталогПроекта); + Иначе + Команда = КомандаRing(КаталогВыгрузки, РабочееПространство, КаталогПроекта); + КонецЕсли; + + Команда.УстановитьКодировкуВывода(КодировкаТекста.ANSI); + Команда.ДобавитьЛогВыводаКоманды("oscript.lib.gitsync.plugins.edtExport"); + Команда.УстановитьИсполнениеЧерезКомандыСистемы(Истина); + Команда.ПоказыватьВыводНемедленно(Ложь); + Команда.УстановитьПравильныйКодВозврата(0); + + Возврат Команда; + +КонецФункции // КомандаКонвертации() + +// Функция - получает команду запуска утилиты ring для выполнения конвертации +// +// Возвращаемое значение: +// Команда - команда запуска утилиты ring для выполнения конвертации +// +Функция КомандаRing(КаталогВыгрузки, РабочееПространство, КаталогПроекта) + + Команда = Новый Команда; + + Параметры = Новый Массив(); + Параметры.Добавить(СтрШаблон("--configuration-files ""%1""", КаталогВыгрузки)); + Параметры.Добавить(СтрШаблон("--workspace-location ""%1""", РабочееПространство)); + Параметры.Добавить(СтрШаблон("--project ""%1""", КаталогПроекта)); + + Если Не ПустаяСтрока(ИмяРасширения) И Не ПустаяСтрока(ИмяБазовогоПроекта) Тогда + Параметры.Добавить(СтрШаблон("--base-project-name ""%1""", ИмяБазовогоПроекта)); + КонецЕсли; + + ИсполняемыйФайл = НайтиRing(); + + Команда.УстановитьСтрокуЗапуска(СтрШаблон("%1 %2 workspace import", ИсполняемыйФайл, ИмяМодуля)); + Команда.ДобавитьПараметры(Параметры); + + Возврат Команда; + +КонецФункции // КомандаRing() + +// Функция - получает команду запуска утилиты edtcli для выполнения конвертации +// +// Возвращаемое значение: +// Команда - команда запуска утилиты edtcli для выполнения конвертации +// +Функция КомандаEdtcli(КаталогВыгрузки, РабочееПространство, КаталогПроекта) + + Команда = Новый Команда; + + Параметры = Новый Массив(); + Параметры.Добавить(СтрШаблон("--project ""%1""", КаталогПроекта)); + Параметры.Добавить(СтрШаблон("--configuration-files ""%1""", КаталогВыгрузки)); + // Параметры.Добавить(СтрШаблон("--version ""%1""", Параметры.ВерсияПлатформы)); + + Если Не ПустаяСтрока(ИмяРасширения) И Не ПустаяСтрока(ИмяБазовогоПроекта) Тогда + Параметры.Добавить(СтрШаблон("--base-project-name ""%1""", ИмяБазовогоПроекта)); + КонецЕсли; + + ИсполняемыйФайл = НайтиEdtcli(); + + Команда.УстановитьСтрокуЗапуска(СтрШаблон("%1 -data ""%2"" -command import", + ИсполняемыйФайл, + РабочееПространство)); + Команда.ДобавитьПараметры(Параметры); + + Возврат Команда; + +КонецФункции // КомандаEdtcli() + +// Функция - выполняет поиск утилиты ring и возвращает полный путь к утилите +// +// Возвращаемое значение: +// Строка - полный путь к утилите ring +// +Функция НайтиRing() Экспорт + + РасположениеRing = НайтиКоманду("ring"); + + Если ЗначениеЗаполнено(РасположениеRing) Тогда + Возврат РасположениеRing; + КонецЕсли; + + Если ЭтоWindows() Тогда + КаталогПрограмм = ПолучитьПеременнуюСреды("ProgramW6432"); + Расширение = ".cmd"; + Иначе + КаталогПрограмм = "/opt"; + Расширение = ""; + КонецЕсли; + ПутьУстановки_1CE = ОбъединитьПути(КаталогПрограмм, "1C", "1CE", "components"); + Файлы = НайтиФайлы(ПутьУстановки_1CE, СтрШаблон("ring%1", Расширение), Истина); + + Если Файлы.Количество() > 0 Тогда + Возврат Файлы[0].ПолноеИмя; + КонецЕсли; + + Возврат ""; + +КонецФункции // НайтиRing() + +// Функция - выполняет поиск утилиты edtcli и возвращает полный путь к утилите +// +// Возвращаемое значение: +// Строка - полный путь к утилите edtcli +// +Функция НайтиEdtcli() Экспорт + + РасположениеEdtcli = НайтиКоманду("1cedtcli"); + + Если ЗначениеЗаполнено(РасположениеEdtcli) Тогда + Возврат РасположениеEdtcli; + КонецЕсли; + + Если ЭтоWindows() Тогда + КаталогПрограмм = ПолучитьПеременнуюСреды("ProgramW6432"); + Расширение = ".exe"; + Иначе + КаталогПрограмм = "/opt"; + Расширение = ""; + КонецЕсли; + ПутьУстановки_1CE = ОбъединитьПути(КаталогПрограмм, "1C", "1CE", "components"); + Файлы = НайтиФайлы(ПутьУстановки_1CE, СтрШаблон("1cedtcli%1", Расширение), Истина); + + Если Файлы.Количество() > 0 Тогда + Возврат Файлы[0].ПолноеИмя; + КонецЕсли; + + Возврат ""; + +КонецФункции // НайтиEdtcli() + +// Функция - выполняет поиск указанной команды в текущем каталоге или переменной окружения PATH +// +// Параметры: +// ИмяКоманды - Строка - имя команды для поиска +// +// Возвращаемое значение: +// Строка - полный путь к команде +// +Функция НайтиКоманду(Знач ИмяКоманды) + + ЭтоWindows = ЭтоWindows(); + + Команда = Новый Команда(); + Если ЭтоWindows Тогда + Команда.УстановитьКоманду("where"); + Иначе + Команда.УстановитьКоманду("which"); + КонецЕсли; + Команда.ДобавитьПараметр(ИмяКоманды); + + Команда.УстановитьИсполнениеЧерезКомандыСистемы(Ложь); + Команда.ПоказыватьВыводНемедленно(Ложь); + + КодВозврата = Команда.Исполнить(); + + ВыводКоманды = СокрЛП(Команда.ПолучитьВывод()); + + Если КодВозврата = 0 Тогда + Лог.Отладка("Найдена команда ""%1"": %2", ИмяКоманды, ВыводКоманды); + Иначе + Лог.Предупреждение("Команда ""%1"" не найдена в текущем каталоге или в переменной окружения PATH:%2%3", + ИмяКоманды, + Символы.ПС, + ВыводКоманды); + Возврат ""; + КонецЕсли; + + Если ФС.ФайлСуществует(ВыводКоманды) Тогда + Возврат ВыводКоманды; + КонецЕсли; + + Возврат ""; + +КонецФункции // НайтиКоманду() + +// Функция - проверяет, что скрипт выполняется в среде Windows +// +// Возвращаемое значение: +// Булево - Истина - скрипт выполняется в среде Windows +// +Функция ЭтоWindows() Экспорт + + СистемнаяИнформация = Новый СистемнаяИнформация; + Возврат Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0; + +КонецФункции // ЭтоWindows() + +// Функция - выполняет поиск утилиты ring и возвращает полный номер последней версии EDT +// +// Возвращаемое значение: +// Строка - полный номер последней версии EDT +// +Функция ВерсияEDT() Экспорт + + РасположениеEdtcli = НайтиEdtcli(); + + ФайлEdtcli = Новый Файл(РасположениеEdtcli); + КаталогEdtcli = Новый Файл(ФайлEdtcli.Путь); + КаталогEdtcli = Новый Файл(КаталогEdtcli.Путь); + + Файлы = НайтиФайлы(КаталогEdtcli.Путь, "1cedt.ini", Истина); + РВ = Новый РегулярноеВыражение("1c-edt-(\d+\.\d+\.\d+)\+"); + + НомераВерсий = Новый Массив(); + + Для Каждого ТекФайл Из Файлы Цикл + КаталогВерсии = Новый Файл(ТекФайл.Путь); + + Совпадения = РВ.НайтиСовпадения(КаталогВерсии.Имя); + + Если Совпадения.Количество() = 0 Тогда + Продолжить; + КонецЕсли; + + НомераВерсий.Добавить(Совпадения[0].Группы[1].Значение); + Лог.Отладка("Найдена версия EDT ""%1"" в каталоге ""%2"".", Совпадения[0].Группы[1].Значение, ТекФайл.Путь); + КонецЦикла; + + Версии.СортироватьВерсии(НомераВерсий, "УБЫВ"); + + Если НомераВерсий.Количество() = 0 Тогда + Лог.Предупреждение("Не найдена версия EDT"); + КонецЕсли; + + Лог.Отладка("Найдена версия EDT ""%1"".", НомераВерсий[0]); + + Возврат НомераВерсий[0]; + +КонецФункции // ВерсияEDT() + Процедура ДополнитьИнкрементнуюВыгрузкуПроекта(Конфигуратор, КаталогВыгрузки) ПутьКФайлуДополнительнойВыгрузки = ВременныеФайлы.НовоеИмяФайла(); @@ -390,7 +616,7 @@ Процедура Инициализация() - ВерсияПлагина = "1.3.0"; + ВерсияПлагина = "1.4.0"; Лог = Логирование.ПолучитьЛог(ИмяЛога()); КомандыПлагина = Новый Массив; КомандыПлагина.Добавить("sync"); From 0650a618643339e375a91fb1aaf4f53221ec7731 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 11:16:35 +0300 Subject: [PATCH 6/7] =?UTF-8?q?refactor:=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BA=D1=80=D0=B0=D1=82=D0=BA=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=B8=D0=BC=D1=8F=20=D0=BE=D0=BF=D1=86=D0=B8=D0=B8=20'--pus?= =?UTF-8?q?h'=20P=20->=20PS=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=BE=D0=B2?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D1=81=20=D0=B4=D1=80=D1=83=D0=B3=D0=B8=D0=BC=D0=B8=20=D0=BF?= =?UTF-8?q?=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD=D0=B0=D0=BC=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../syncRemote.os" | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" index 5d4941c..05076ad 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/syncRemote.os" @@ -103,14 +103,13 @@ Лог.Отладка("Устанавливаю дополнительные параметры для команды %1", ИмяКоманды); - //КлассРеализации.Опция("b branch", "master", "<имя ветки git>").ВОкружении("GITSYNC_BRANCH"); - КлассРеализации.Опция("P push", Ложь, "[*sync-remote] Флаг отправки изменений на удаленный репозиторий") + КлассРеализации.Опция("PS push", Ложь, "[*sync-remote] Флаг отправки изменений на удаленный репозиторий") .Флаг() .ВОкружении("GITSYNC_REMOTE_PUSH"); КлассРеализации.Опция("G pull", Ложь, "[*sync-remote] Флаг получения изменений из удаленный репозитория перед синхронизацией") .Флаг() .ВОкружении("GITSYNC_REMOTE_PULL"); - КлассРеализации.Опция("B branch", Ложь, "[*sync-remote] Имя ветки") + КлассРеализации.Опция("b branch", "master", "[*sync-remote] Имя ветки") .ТСтрока() .ВОкружении("GITSYNC_REMOTE_BRANCH"); КлассРеализации.Опция("T push-tags", Ложь, "[*sync-remote] Флаг отправки тегов по версиям") From 208ba0f6ce0ae05000a772f8379e99ef9ab914b7 Mon Sep 17 00:00:00 2001 From: Artem Kuznetsov Date: Wed, 18 Dec 2024 11:26:51 +0300 Subject: [PATCH 7/7] =?UTF-8?q?ci:=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=82=D1=80=D0=B5=D0=B1=D1=83=D0=B5=D0=BC=D0=B0?= =?UTF-8?q?=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=20oscript.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/qa.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/testing.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/qa.yml b/.github/workflows/qa.yml index 69c9a04..883533f 100644 --- a/.github/workflows/qa.yml +++ b/.github/workflows/qa.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.8.3'] + oscript_version: ['1.9.2'] steps: # Загрузка проекта diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 24dd142..bb91b3f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.8.3'] + oscript_version: ['1.9.2'] package_mask: ["gitsync-plugins-*.ospx"] steps: diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 89799b4..8a90d98 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-latest] - oscript_version: ['1.8.3'] + oscript_version: ['1.9.2'] steps: # Загрузка проекта