From beaeb4c61fbf09d8c039d77b3309f4276dab821a Mon Sep 17 00:00:00 2001 From: "BIA Technologies, LLC" Date: Fri, 14 Dec 2018 15:34:12 +0300 Subject: [PATCH 01/23] =?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=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Исправил ошибку установки использования прокси --- ...0\266\320\265\320\275\320\270\321\217Opm.os" | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" index 15f6cf1..f293f9b 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" @@ -99,12 +99,6 @@ Процедура ЗаполнитьНастройкиИзПараметров(Знач ПараметрКоманды) Экспорт - Если НЕ ПараметрКоманды["-proxyusedefault"] = Неопределено Тогда - - НастройкиOpm.УстановитьСистемныеНастройкиПроксиСервера(ПараметрКоманды["-proxyusedefault"]); - - КонецЕсли; - Если Не ПараметрКоманды["-winCreateBashLauncher"] = Неопределено Тогда ЗначениеОпции = Булево(ПараметрКоманды["-winCreateBashLauncher"]); @@ -121,8 +115,15 @@ НастройкиOpm.УстановитьНастройкиПроксиСервера(ПроксиСервер, ПроксиПорт, ПроксиПользователь, ПроксиПароль); - ИспользованиеПрокси = ЗначениеЗаполнено(ПроксиСервер) ИЛИ ЗначениеЗаполнено(ПараметрКоманды["-proxyusedefault"]); - НастройкиOpm.УстановитьИспользованиеПрокси(ИспользованиеПрокси); + Если НЕ ПараметрКоманды["-proxyusedefault"] = Неопределено Тогда + + НастройкиOpm.УстановитьСистемныеНастройкиПроксиСервера(ПараметрКоманды["-proxyusedefault"]); + + Иначе + + НастройкиOpm.УстановитьИспользованиеПрокси(ЗначениеЗаполнено(ПроксиСервер)); + + КонецЕсли; КонецПроцедуры From 2a3bafaa1d2304356f6414e093948e5872f4a7a3 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 9 Jan 2019 11:00:57 +0300 Subject: [PATCH 02/23] . --- sonar-qube.sh | 0 travis-ci.sh | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 sonar-qube.sh mode change 100755 => 100644 travis-ci.sh diff --git a/sonar-qube.sh b/sonar-qube.sh old mode 100755 new mode 100644 diff --git a/travis-ci.sh b/travis-ci.sh old mode 100755 new mode 100644 From 773fa7a3111a2e00852644c46f2ac91b003d2c61 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 9 Jan 2019 14:48:10 +0300 Subject: [PATCH 03/23] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C?= =?UTF-8?q?=D1=88=D0=B8=D0=B5=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B5=20=D1=81=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=BA=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + ...274\320\260\320\275\320\264\320\260Opm_Config.os" | 6 +++--- ...76\320\266\320\265\320\275\320\270\321\217Opm.os" | 12 ++++++++---- ...0\260\320\272\320\265\321\202\320\276\320\262.os" | 11 +++++++---- ...02\321\200\320\276\320\271\320\272\320\270Opm.os" | 4 +++- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 7153276..0c435b6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ coverage/* bdd-*.xml *.ospx src/oscript.cfg +opm\.cfg src/cmd/oscript\.cfg exec.log diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Config.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Config.os" index 3668f0f..098651f 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Config.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Config.os" @@ -3,10 +3,10 @@ Процедура ОписаниеКоманды(Знач КомандаПриложения) Экспорт - КомандаПриложения.Опция("winCreateBashLauncher", "", "Создавать sh-скрипт запуска для пакетов приложений в среде Windows"); - КомандаПриложения.Опция("proxyusedefault", "", "Использовать ПроксиПоУмолчанию (системные настройки)"); + КомандаПриложения.Опция("winCreateBashLauncher", Ложь, "Создавать sh-скрипт запуска для пакетов приложений в среде Windows"); + КомандаПриложения.Опция("proxyusedefault", Ложь, "Использовать ПроксиПоУмолчанию (системные настройки)"); КомандаПриложения.Опция("proxyserver", "", "Адрес прокси"); - КомандаПриложения.Опция("proxyport", "", "Порт прокси"); + КомандаПриложения.Опция("proxyport", "", "Порт прокси").ТЧисло(); КомандаПриложения.Опция("proxyuser", "", "Пользователь прокси"); КомандаПриложения.Опция("proxypass", "", "Пароль прокси"); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" index f293f9b..1c4d59c 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" @@ -10,6 +10,7 @@ НастройкиOpmИзФайлов = СобратьНастройкиИзФайлов(); Если НастройкиOpmИзФайлов.Количество() = 0 Тогда + Лог.Отладка("Настройки opm не найдены"); Возврат; КонецЕсли; @@ -24,8 +25,6 @@ Пользователь = ПолучитьЗначение(НастройкиПрокси, "Пользователь", ""); Пароль = ПолучитьЗначение(НастройкиПрокси, "Пароль", ""); - НастройкиOpm.УстановитьНастройкиПроксиСервера(Сервер, Порт, Пользователь, Пароль); - ПроксиПоУмолчанию = ПолучитьЗначение(НастройкиПрокси,"ПроксиПоУмолчанию", Неопределено); Если Не ПроксиПоУмолчанию = Неопределено Тогда @@ -34,14 +33,18 @@ КонецЕсли; - ИспользованиеПрокси = ПолучитьЗначение(НастройкиПрокси,"ИспользованиеПрокси", Неопределено); + НастройкиOpm.УстановитьНастройкиПроксиСервера(Сервер, Порт, Пользователь, Пароль); + + ИспользованиеПрокси = ПолучитьЗначение(НастройкиПрокси, "ИспользоватьПрокси", Неопределено); Если Не ИспользованиеПрокси = Неопределено Тогда НастройкиOpm.УстановитьИспользованиеПрокси(ИспользованиеПрокси); КонецЕсли; - + + + КонецЕсли; СоздаватьShСкриптЗапуска = ПолучитьЗначение(НастройкиOpmИзФайлов,"СоздаватьShСкриптЗапуска", Неопределено); @@ -117,6 +120,7 @@ Если НЕ ПараметрКоманды["-proxyusedefault"] = Неопределено Тогда + Лог.Отладка("Устанавливаю прокси по умолчанию <%1>", ПараметрКоманды["-proxyusedefault"]); НастройкиOpm.УстановитьСистемныеНастройкиПроксиСервера(ПараметрКоманды["-proxyusedefault"]); Иначе diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 34d9036..c6c7c30 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -36,7 +36,8 @@ Порт = ?(Порт = Неопределено, 80, Порт); Настройки = НастройкиOpm.ПолучитьНастройки(); Если Настройки.ИспользоватьПрокси Тогда - Соединение = Новый HTTPСоединение(Сервер, Порт,,, НастройкиOpm.ПолучитьИнтернетПрокси()); + НастройкиПрокси = НастройкиOpm.ПолучитьИнтернетПрокси(); + Соединение = Новый HTTPСоединение(Сервер, Порт, , , НастройкиПрокси); Иначе Соединение = Новый HTTPСоединение(Сервер, Порт); КонецЕсли; @@ -88,13 +89,15 @@ Функция ПолучитьСписокПакетов(Ресурс) Ответ = ПолучитьРесурс(Ресурс); + КодСостояния = Ответ.КодСостояния; + ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); - Если Ответ = Неопределено Или Ответ.КодСостояния <> 200 Тогда - ТекстИсключения = СтрШаблон("Ошибка подключения к зеркалу "); + Если Ответ = Неопределено Или КодСостояния <> 200 Тогда + ТекстИсключения = СтрШаблон("Ошибка подключения к зеркалу код ответа: <%1> + |Текст ответа: <%2>", КодСостояния, ТекстОтвета); ВызватьИсключение ТекстИсключения; КонецЕсли; - ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); Ответ.Закрыть(); Возврат ТекстОтвета; diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" index bdb8a48..0be83b4 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" @@ -47,7 +47,9 @@ КешИнтернетПрокси = Новый ИнтернетПрокси(); - КешИнтернетПрокси.Установить("http", НастройкиПрокси.Сервер, НастройкиПрокси.Порт, НастройкиПрокси.Пользователь, НастройкиПрокси.Пароль, НастройкиПрокси.ИспользоватьАутентификациюОС); + КешИнтернетПрокси.Установить("http", НастройкиПрокси.Сервер, НастройкиПрокси.Порт, + НастройкиПрокси.Пользователь, НастройкиПрокси.Пароль, + НастройкиПрокси.ИспользоватьАутентификациюОС); КешИнтернетПрокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина; From 9759a1542305265caf2b0569fd068596c21a9709 Mon Sep 17 00:00:00 2001 From: khorevaa Date: Wed, 9 Jan 2019 15:23:51 +0300 Subject: [PATCH 04/23] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D0=BB=D1=81=D1=8F=20=D1=81=20=D1=82=D0=B5?= =?UTF-8?q?=D0=BB=D0=BE=D0=BC=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\237\320\260\320\272\320\265\321\202\320\276\320\262.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index c6c7c30..2003877 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -90,14 +90,14 @@ Ответ = ПолучитьРесурс(Ресурс); КодСостояния = Ответ.КодСостояния; - ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); Если Ответ = Неопределено Или КодСостояния <> 200 Тогда + ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); ТекстИсключения = СтрШаблон("Ошибка подключения к зеркалу код ответа: <%1> |Текст ответа: <%2>", КодСостояния, ТекстОтвета); ВызватьИсключение ТекстИсключения; КонецЕсли; - + ТекстОтвета = Ответ.ПолучитьТелоКакСтроку(); Ответ.Закрыть(); Возврат ТекстОтвета; From dd47c3718e6d66253b8052ab342634ceea1b3187 Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Thu, 10 Jan 2019 13:49:38 +0300 Subject: [PATCH 05/23] +x --- travis-ci.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 travis-ci.sh diff --git a/travis-ci.sh b/travis-ci.sh old mode 100644 new mode 100755 From fc4a0ba919dc52621260c37190ae383cb4d09e79 Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Tue, 19 Mar 2019 21:02:28 +0300 Subject: [PATCH 06/23] =?UTF-8?q?=D0=9E=D0=BF=D1=86=D0=B8=D0=BE=D0=BD?= =?UTF-8?q?=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B5=20=D1=81=D0=BE=D0=B7=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BB=D0=BE=D0=B6=D0=B5=D0=BD=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...260\320\275\320\264\320\260Opm_Install.os" | 13 +++-- ...\260\320\275\320\264\320\260Opm_Update.os" | 14 ++++-- ...20\272\320\265\321\202\320\276\320\262.os" | 8 ++++ ...20\260\320\272\320\265\321\202\320\260.os" | 10 ++++ ...20\265\321\202\320\260\320\274\320\270.os" | 48 ++++++++++++++----- 5 files changed, 76 insertions(+), 17 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index f3499e8..0b23ad5 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -6,6 +6,7 @@ КомандаПриложения.Опция("a all", Ложь, "Установить все пакеты, зарегистрированные в хабе"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки"); КомандаПриложения.Опция("l local", Ложь, "Установить пакеты в локальный каталог oscript_modules"); + КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") @@ -24,6 +25,8 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКУстановке = КомандаПриложения.ЗначениеАргумента("PACKAGE"); + СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); + РежимУстановки = РежимУстановкиПакетов.Глобально; Если УстановкаВЛокальныйКаталог Тогда РежимУстановки = РежимУстановкиПакетов.Локально; @@ -46,11 +49,15 @@ Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); Лог.Отладка("ФайлПакетаУстановки: %1", ФайлПакетаУстановки); Лог.Отладка("МассивПакетовКУстановке: %1", МассивПакетовКУстановке.Количество()); + Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); + + НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); + НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; Если УстановкаВсехПакетов Тогда - РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог); + РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); ИначеЕсли ПустаяСтрока(ФайлПакетаУстановки) И МассивПакетовКУстановке.Количество() = 0 Тогда - РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог); + РаботаСПакетами.УстановитьПакетыПоОписаниюПакета(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); ИначеЕсли НЕ ПустаяСтрока(ФайлПакетаУстановки) Тогда РазобранныйАдрес = СтрРазделить(ФайлПакетаУстановки, ПолучитьРазделительПути()); @@ -67,7 +74,7 @@ ФайлыПоМаске = НайтиФайлы(Путь, Маска); Для Каждого ФайлПакета Из ФайлыПоМаске Цикл - РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог); + РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакета.ПолноеИмя, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецЦикла; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index d58cf55..9cf6387 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -6,6 +6,7 @@ КомандаПриложения.Опция("a all", Ложь, "Обновить все установленные пакеты"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет"); КомандаПриложения.Опция("l local", Ложь, "Обновление пакета в локальном каталоге oscript_modules"); + КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() @@ -22,20 +23,27 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКОбновлению = КомандаПриложения.ЗначениеАргумента("PACKAGE"); + СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); + РежимУстановки = РежимУстановкиПакетов.Глобально; Если ОбновлениеВЛокальныйКаталог = Истина Тогда РежимУстановки = РежимУстановкиПакетов.Локально; КонецЕсли; + Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); + + НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); + НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; + Если ОбновлениеВсехПакетов Тогда - РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки); + РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки, , НастройкаУстановки); ИначеЕсли НЕ ПустаяСтрока(ФайлПакетаУстановки) Тогда - РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки); + РаботаСПакетами.УстановитьПакетИзФайла(ФайлПакетаУстановки, РежимУстановки, НастройкаУстановки); Иначе Для каждого ИмяПакета Из МассивПакетовКОбновлению Цикл - РаботаСПакетами.ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки); + РаботаСПакетами.ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, НастройкаУстановки); КонецЦикла; КонецЕсли; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index e2611ed..65e65f5 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -14,6 +14,8 @@ Перем КаталогСистемныхБиблиотек; Перем КешУстановленныхПакетов; +Перем СоздаватьФайлЗапуска; + Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, Знач ВходящийКаталогУстановки = Неопределено, Знач ВходящийКаталогУстановкиЗависимостей = Неопределено) ПутьККаталогуЛокальнойУстановки = ОбъединитьПути( @@ -48,7 +50,12 @@ КонецЕсли; КешУстановленныхПакетов = Новый Соответствие; + СоздаватьФайлЗапуска = Истина; +КонецПроцедуры + +Процедура СоздаватьФайлЗапуска(Знач ПСоздаватьФайлЗапуска) Экспорт + СоздаватьФайлЗапуска = ПСоздаватьФайлЗапуска; КонецПроцедуры Процедура УстановитьРежимУстановкиПакетов(Знач ЗначениеРежимУстановкиПакетов) Экспорт @@ -101,6 +108,7 @@ КаталогУстановки = ?(ЭтоЗависимыйПакет, КаталогУстановкиЗависимостей, ЦелевойКаталогУстановки); УстановкаПакета = Новый УстановкаПакета(); + УстановкаПакета.СоздаватьФайлЗапуска(СоздаватьФайлЗапуска); УстановкаПакета.УстановитьЦелевойКаталог(КаталогУстановки); Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); Если ЭтоЗависимыйПакет Тогда diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index b804507..227a7ea 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -9,6 +9,7 @@ Перем ЭтоWindows; Перем мРежимУстановкиПакетов; +Перем СоздаватьФайлЗапуска; Перем мЦелевойКаталог; Перем Метаданные; @@ -86,6 +87,10 @@ мРежимУстановкиПакетов = ЗначениеРежимУстановкиПакетов; КонецПроцедуры +Процедура СоздаватьФайлЗапуска(Знач ПСоздаватьФайлЗапуска) Экспорт + СоздаватьФайлЗапуска = ПСоздаватьФайлЗапуска; +КонецПроцедуры + Процедура ПроверитьВерсиюСреды(Манифест) Свойства = Манифест.Свойства(); @@ -243,6 +248,10 @@ Процедура СгенерироватьСкриптыЗапускаПриложенийПриНеобходимости(Знач КаталогУстановки, Знач ОписаниеПакета) + Если НЕ СоздаватьФайлЗапуска Тогда + Возврат; + КонецЕсли; + ИмяПакета = ОписаниеПакета.Свойства().Имя; Для Каждого ФайлПриложения Из ОписаниеПакета.ИсполняемыеФайлы() Цикл @@ -396,3 +405,4 @@ СИ = Новый СистемнаяИнформация(); ЭтоWindows = Найти(СИ.ВерсияОС, "Windows") > 0; мРежимУстановкиПакетов = РежимУстановкиПакетов.Глобально; +СоздаватьФайлЗапуска = Истина; diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" index c9b78f6..7cf1cf8 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" @@ -6,7 +6,7 @@ Перем Лог; Перем ВнутреннийМенеджерПолученияПакетов; -Процедура ОбновитьУстановленныеПакеты(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено) Экспорт +Процедура ОбновитьУстановленныеПакеты(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт КэшУстановленныхПакетов = ПолучитьУстановленныеПакеты(РежимУстановки); УстановленныеПакеты = КэшУстановленныхПакетов.ПолучитьУстановленныеПакеты(); @@ -20,7 +20,7 @@ Продолжить; КонецЕсли; - ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог); + ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецЦикла; @@ -53,7 +53,16 @@ КонецФункции -Процедура УстановитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог) Экспорт +Функция ПолучитьНастройкуУстановки() Экспорт + + Настройка = Новый Структура(); + Настройка.Вставить("СоздаватьФайлЗапуска", Истина); + + Возврат Настройка; + +КонецФункции + +Процедура УстановитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог, Знач НастройкаУстановки = Неопределено) Экспорт Лог.Отладка("Устанавливаю пакет <%1> из доступного хаба", ИмяПакета); ИмяВерсияПакета = РаботаСВерсиями.РазобратьИмяПакета(ИмяПакета); @@ -61,16 +70,27 @@ Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда ЭтоЗависимость = Истина; КонеЦесли; - УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); + Если НастройкаУстановки = Неопределено Тогда + НастройкаУстановки = ПолучитьНастройкуУстановки(); + КонецЕсли; + + УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); УстановкаПакета.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); КонецПроцедуры -Процедура УстановитьПакетИзФайла(Знач ИмяФайлаПакета, Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено) Экспорт +Процедура УстановитьПакетИзФайла(Знач ИмяФайлаПакета, Знач РежимУстановки, + Знач ЦелевойКаталог = Неопределено, + Знач НастройкаУстановки = Неопределено) Экспорт + + Если НастройкаУстановки = Неопределено Тогда + НастройкаУстановки = ПолучитьНастройкуУстановки(); + КонецЕсли; УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); - + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); УстановкаПакета.УстановитьПакетИзАрхива(ИмяФайлаПакета); КонецПроцедуры @@ -104,31 +124,37 @@ КонецПроцедуры -Процедура УстановитьВсеПакетыИзОблака(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено) Экспорт +Процедура УстановитьВсеПакетыИзОблака(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, + Знач НастройкаУстановки = Неопределено) Экспорт МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); КешПакетов = МенеджерПолучения.ПолучитьДоступныеПакеты(); Для Каждого КлючИЗначение Из КешПакетов Цикл - УстановитьПакетИзОблака(КлючИЗначение.Ключ, РежимУстановки, ЦелевойКаталог); + УстановитьПакетИзОблака(КлючИЗначение.Ключ, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецЦикла; КонецПроцедуры -Процедура ОбновитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено) Экспорт +Процедура ОбновитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог); + УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецПроцедуры -Процедура УстановитьПакетыПоОписаниюПакета(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено) Экспорт +Процедура УстановитьПакетыПоОписаниюПакета(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт ОписаниеПакета = РаботаСОписаниемПакета.ПрочитатьОписаниеПакета(); ПроверитьВерсиюСреды(ОписаниеПакета); + Если НастройкаУстановки = Неопределено Тогда + НастройкаУстановки = ПолучитьНастройкуУстановки(); + КонецЕсли; + УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки); + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); УстановкаПакета.РазрешитьЗависимостиПакета(ОписаниеПакета); From e738486889e65b107c042d7085d8ae2fef272dbf Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Tue, 19 Mar 2019 21:06:35 +0300 Subject: [PATCH 07/23] =?UTF-8?q?fix=20#154=20=D0=9E=D0=BF=D1=86=D0=B8?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B0=20=D0=B7=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\260\320\275\320\264\320\260Opm_Install.os" | 4 ++++ ...0\260\320\275\320\264\320\260Opm_Update.os" | 6 +++++- ...320\272\320\265\321\202\320\276\320\262.os" | 18 +++++++++++++----- ...320\265\321\202\320\260\320\274\320\270.os" | 7 +++++-- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index 0b23ad5..a0de241 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -6,6 +6,7 @@ КомандаПриложения.Опция("a all", Ложь, "Установить все пакеты, зарегистрированные в хабе"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки"); КомандаПриложения.Опция("l local", Ложь, "Установить пакеты в локальный каталог oscript_modules"); + КомандаПриложения.Опция("N nid not-install-deps", Ложь, "признак отключения установки зависимых пакетов"); КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); @@ -25,6 +26,7 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКУстановке = КомандаПриложения.ЗначениеАргумента("PACKAGE"); + НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("not-install-deps"); СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); РежимУстановки = РежимУстановкиПакетов.Глобально; @@ -49,9 +51,11 @@ Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); Лог.Отладка("ФайлПакетаУстановки: %1", ФайлПакетаУстановки); Лог.Отладка("МассивПакетовКУстановке: %1", МассивПакетовКУстановке.Количество()); + Лог.Отладка("НеобходимУстановитьЗависимости: %1", НеобходимУстановитьЗависимости); Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); + НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; Если УстановкаВсехПакетов Тогда diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index 9cf6387..6cb4320 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -6,6 +6,7 @@ КомандаПриложения.Опция("a all", Ложь, "Обновить все установленные пакеты"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет"); КомандаПриложения.Опция("l local", Ложь, "Обновление пакета в локальном каталоге oscript_modules"); + КомандаПриложения.Опция("N nid not-install-deps", Ложь, "признак отключения установки зависимых пакетов"); КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") @@ -23,6 +24,7 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКОбновлению = КомандаПриложения.ЗначениеАргумента("PACKAGE"); + НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("not-install-deps"); СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); РежимУстановки = РежимУстановкиПакетов.Глобально; @@ -31,9 +33,11 @@ РежимУстановки = РежимУстановкиПакетов.Локально; КонецЕсли; - Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); + Лог.Отладка("НеобходимУстановитьЗависимости: %1", НеобходимУстановитьЗависимости); + Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); + НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; Если ОбновлениеВсехПакетов Тогда diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 65e65f5..b474dc4 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -14,6 +14,7 @@ Перем КаталогСистемныхБиблиотек; Перем КешУстановленныхПакетов; +Перем УстанавливатьЗависимости; Перем СоздаватьФайлЗапуска; Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, Знач ВходящийКаталогУстановки = Неопределено, Знач ВходящийКаталогУстановкиЗависимостей = Неопределено) @@ -50,9 +51,13 @@ КонецЕсли; КешУстановленныхПакетов = Новый Соответствие; + УстанавливатьЗависимости = Истина; СоздаватьФайлЗапуска = Истина; КонецПроцедуры +Процедура УстанавливатьЗависимости(Знач ПУстанавливатьЗависимости) Экспорт + УстанавливатьЗависимости = ПУстанавливатьЗависимости; +КонецПроцедуры Процедура СоздаватьФайлЗапуска(Знач ПСоздаватьФайлЗапуска) Экспорт СоздаватьФайлЗапуска = ПСоздаватьФайлЗапуска; @@ -131,11 +136,14 @@ ПутьККаталогуЛокальныхЗависимостей = ОбъединитьПути(ПолныйПутьККаталогуУстановки, ИмяПакета, ИмяКаталогаЛокальныхЗависимостей); - // Тут надо корректно найти имя пакета в пути - Если ФС.КаталогСуществует(ПутьККаталогуЛокальныхЗависимостей) Тогда - РазрешитьЗависимостиПакетаЛокально(МанифестПакета, ПутьККаталогуЛокальныхЗависимостей); - Иначе - РазрешитьЗависимостиПакета(МанифестПакета); + Если УстанавливатьЗависимости Тогда + // Тут надо корректно найти имя пакета в пути + Если ФС.КаталогСуществует(ПутьККаталогуЛокальныхЗависимостей) Тогда + РазрешитьЗависимостиПакетаЛокально(МанифестПакета, ПутьККаталогуЛокальныхЗависимостей); + Иначе + РазрешитьЗависимостиПакета(МанифестПакета); + КонецЕсли; + КонецЕсли; КонецПроцедуры diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" index 7cf1cf8..5d34046 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" @@ -56,6 +56,7 @@ Функция ПолучитьНастройкуУстановки() Экспорт Настройка = Новый Структура(); + Настройка.Вставить("УстанавливатьЗависимости", Истина); Настройка.Вставить("СоздаватьФайлЗапуска", Истина); Возврат Настройка; @@ -76,6 +77,7 @@ КонецЕсли; УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); + УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); УстановкаПакета.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); @@ -88,8 +90,9 @@ Если НастройкаУстановки = Неопределено Тогда НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; - + УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); + УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); УстановкаПакета.УстановитьПакетИзАрхива(ИмяФайлаПакета); @@ -126,7 +129,7 @@ Процедура УстановитьВсеПакетыИзОблака(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - + МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); КешПакетов = МенеджерПолучения.ПолучитьДоступныеПакеты(); From 6a96aa6a378c3fb1f6b18b783a7c88bfe8c1c97a Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Tue, 19 Mar 2019 21:07:08 +0300 Subject: [PATCH 08/23] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE=D0=B5=20=D0=BE=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=84=D0=B0?= =?UTF-8?q?=D0=B9=D0=BB=D0=B0=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B2=20=D0=B0=D1=80=D0=B3=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=20PACKAGE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...260\320\275\320\264\320\260Opm_Install.os" | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index a0de241..93d5ea5 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -85,9 +85,26 @@ Иначе Для каждого ИмяПакета Из МассивПакетовКУстановке Цикл - РаботаСПакетами.УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог); + + Если ЭтоФайлПакета(ИмяПакета) Тогда + + РаботаСПакетами.УстановитьПакетИзФайла(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); + + Иначе + + РаботаСПакетами.УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); + + КонецЕсли; + + КонецЦикла; КонецЕсли; КонецПроцедуры + +Функция ЭтоФайлПакета(Знач ИмяПакета) + + Возврат СтрЗаканчиваетсяНа(НРег(ИмяПакета), ".ospx"); + +КонецФункции From 10cb369a80cb568bd4d421b39964330c637f7b54 Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Tue, 19 Mar 2019 21:18:17 +0300 Subject: [PATCH 09/23] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B1=D0=B0=D0=B3=D0=BE=D0=B2=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=20=D1=82=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 --- ...0\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" | 3 --- tests/download.os | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index 6cb4320..198b691 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -33,9 +33,6 @@ РежимУстановки = РежимУстановкиПакетов.Локально; КонецЕсли; - Лог.Отладка("НеобходимУстановитьЗависимости: %1", НеобходимУстановитьЗависимости); - Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); - НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; diff --git a/tests/download.os b/tests/download.os index 9c7fe09..099f17d 100644 --- a/tests/download.os +++ b/tests/download.os @@ -1,7 +1,7 @@ #Использовать asserts #Использовать fs #Использовать tempfiles - +#Использовать "../src/core" #Использовать "../src/cmd" Перем Лог; From b33fa3c899ef87cbbc96e895dc7f56bbab9c6fe2 Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Tue, 19 Mar 2019 21:19:02 +0300 Subject: [PATCH 10/23] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B2=20=D0=B8=D0=B3=D0=BD=D0=BE=D1=80=20tests/?= =?UTF-8?q?testpackage?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0c435b6..f81b134 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ bdd-*.xml *.ospx src/oscript.cfg opm\.cfg - +tests/testpackage src/cmd/oscript\.cfg exec.log test-reports/tests.xml From 0a6602e9105a75e31352d2cf1a356cc6be703bdc Mon Sep 17 00:00:00 2001 From: Aleksey Khorev Date: Wed, 20 Mar 2019 19:54:46 +0300 Subject: [PATCH 11/23] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BF=D0=BE=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D1=87=D0=B0=D0=BD=D0=B8=D1=8F=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\320\260\320\275\320\264\320\260Opm_Install.os" | 14 +++++++------- ...4\320\260\320\275\320\264\320\260Opm_Update.os" | 10 +++++----- ...260\320\272\320\265\321\202\320\276\320\262.os" | 10 +++++----- ...272\320\265\321\202\320\260\320\274\320\270.os" | 8 ++++---- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index 93d5ea5..ccaa9a5 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -6,8 +6,8 @@ КомандаПриложения.Опция("a all", Ложь, "Установить все пакеты, зарегистрированные в хабе"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет. Поддерживает указание маски файла для пакетной установки"); КомандаПриложения.Опция("l local", Ложь, "Установить пакеты в локальный каталог oscript_modules"); - КомандаПриложения.Опция("N nid not-install-deps", Ложь, "признак отключения установки зависимых пакетов"); - КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); + КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); + КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") @@ -26,8 +26,8 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКУстановке = КомандаПриложения.ЗначениеАргумента("PACKAGE"); - НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("not-install-deps"); - СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); + НеобходимоУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("skip-install-deps"); + СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("skip-create-app"); РежимУстановки = РежимУстановкиПакетов.Глобально; Если УстановкаВЛокальныйКаталог Тогда @@ -51,12 +51,12 @@ Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); Лог.Отладка("ФайлПакетаУстановки: %1", ФайлПакетаУстановки); Лог.Отладка("МассивПакетовКУстановке: %1", МассивПакетовКУстановке.Количество()); - Лог.Отладка("НеобходимУстановитьЗависимости: %1", НеобходимУстановитьЗависимости); + Лог.Отладка("НеобходимоУстановитьЗависимости: %1", НеобходимоУстановитьЗависимости); Лог.Отладка("СоздаватьФайлыЗапуска: %1", СоздаватьФайлыЗапуска); НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); - НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; - НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; + НастройкаУстановки.УстанавливатьЗависимости = НеобходимоУстановитьЗависимости; + НастройкаУстановки.СоздаватьФайлыЗапуска = СоздаватьФайлыЗапуска; Если УстановкаВсехПакетов Тогда РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index 198b691..5f70761 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -6,8 +6,8 @@ КомандаПриложения.Опция("a all", Ложь, "Обновить все установленные пакеты"); КомандаПриложения.Опция("f file", "", "Указать файл из которого нужно установить пакет"); КомандаПриложения.Опция("l local", Ложь, "Обновление пакета в локальном каталоге oscript_modules"); - КомандаПриложения.Опция("N nid not-install-deps", Ложь, "признак отключения установки зависимых пакетов"); - КомандаПриложения.Опция("nca not-create-app", Ложь, "признак отключения создания файла запуска"); + КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); + КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() @@ -24,8 +24,8 @@ ФайлПакетаУстановки = КомандаПриложения.ЗначениеОпции("file"); МассивПакетовКОбновлению = КомандаПриложения.ЗначениеАргумента("PACKAGE"); - НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("not-install-deps"); - СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("not-create-app"); + НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("skip-install-deps"); + СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("skip-create-app"); РежимУстановки = РежимУстановкиПакетов.Глобально; @@ -35,7 +35,7 @@ НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; - НастройкаУстановки.СоздаватьФайлЗапуска = СоздаватьФайлыЗапуска; + НастройкаУстановки.СоздаватьФайлыЗапуска = СоздаватьФайлыЗапуска; Если ОбновлениеВсехПакетов Тогда РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки, , НастройкаУстановки); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index b474dc4..efda69c 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -15,7 +15,7 @@ Перем КешУстановленныхПакетов; Перем УстанавливатьЗависимости; -Перем СоздаватьФайлЗапуска; +Перем СоздаватьФайлыЗапуска; Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, Знач ВходящийКаталогУстановки = Неопределено, Знач ВходящийКаталогУстановкиЗависимостей = Неопределено) @@ -52,15 +52,15 @@ КешУстановленныхПакетов = Новый Соответствие; УстанавливатьЗависимости = Истина; - СоздаватьФайлЗапуска = Истина; + СоздаватьФайлыЗапуска = Истина; КонецПроцедуры Процедура УстанавливатьЗависимости(Знач ПУстанавливатьЗависимости) Экспорт УстанавливатьЗависимости = ПУстанавливатьЗависимости; КонецПроцедуры -Процедура СоздаватьФайлЗапуска(Знач ПСоздаватьФайлЗапуска) Экспорт - СоздаватьФайлЗапуска = ПСоздаватьФайлЗапуска; +Процедура СоздаватьФайлыЗапуска(Знач ПСоздаватьФайлыЗапуска) Экспорт + СоздаватьФайлыЗапуска = ПСоздаватьФайлыЗапуска; КонецПроцедуры Процедура УстановитьРежимУстановкиПакетов(Знач ЗначениеРежимУстановкиПакетов) Экспорт @@ -113,7 +113,7 @@ КаталогУстановки = ?(ЭтоЗависимыйПакет, КаталогУстановкиЗависимостей, ЦелевойКаталогУстановки); УстановкаПакета = Новый УстановкаПакета(); - УстановкаПакета.СоздаватьФайлЗапуска(СоздаватьФайлЗапуска); + УстановкаПакета.СоздаватьФайлЗапуска(СоздаватьФайлыЗапуска); УстановкаПакета.УстановитьЦелевойКаталог(КаталогУстановки); Лог.Отладка("КаталогУстановки: %1", КаталогУстановки); Если ЭтоЗависимыйПакет Тогда diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" index 5d34046..ec1bb1d 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" @@ -57,7 +57,7 @@ Настройка = Новый Структура(); Настройка.Вставить("УстанавливатьЗависимости", Истина); - Настройка.Вставить("СоздаватьФайлЗапуска", Истина); + Настройка.Вставить("СоздаватьФайлыЗапуска", Истина); Возврат Настройка; @@ -78,7 +78,7 @@ УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); УстановкаПакета.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); КонецПроцедуры @@ -93,7 +93,7 @@ УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); УстановкаПакета.УстановитьПакетИзАрхива(ИмяФайлаПакета); КонецПроцедуры @@ -157,7 +157,7 @@ КонецЕсли; УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлЗапуска); + УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); УстановкаПакета.РазрешитьЗависимостиПакета(ОписаниеПакета); From 274379c618abc1352fe707b39e5a95e36b715113 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 12 Apr 2019 15:16:11 +0300 Subject: [PATCH 12/23] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BB=20=D0=B2?= =?UTF-8?q?=20=D1=80=D0=B5=D0=B6=D0=B8=D0=BC=20=D0=BE=D1=82=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=D0=BA=D0=B8=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=20=D1=80=D0=B0=D1=81=D1=88=D0=B8=D1=84?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BA=D0=BE=D0=B9=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B8,=20=D0=B2=D0=BE=D0=B7=D0=BD=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=8E=D1=89=D0=B5=D0=B9=20=D0=BF=D1=80=D0=B8=20=D1=87=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D0=B8=D1=87=D0=BD=D0=BE=D0=B9=20=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2=D0=BA=D0=B5=20=D0=BF=D0=B0=D0=BA?= =?UTF-8?q?=D0=B5=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\320\237\320\260\320\272\320\265\321\202\320\260.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index b804507..df662b7 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -153,8 +153,8 @@ Исключение ОписаниеОшибки = ОписаниеОшибки(); Лог.Предупреждение("Не удалось обработать описание частичного распакованного пакета - |Выполняю полную распаковку пакета - | + |Выполняю полную распаковку пакета"); + Лог.Отладка("Расшифровка ошибки |%1", ОписаниеОшибки); ОбработчикСобытий = Неопределено; From 55e9b2f0ddb6f49db3c4f927226193260ae0b53f Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Tue, 14 May 2019 11:59:24 +0300 Subject: [PATCH 13/23] =?UTF-8?q?=D0=A3=D0=BC=D0=B5=D0=BD=D1=8C=D1=88?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=83=D1=80=D0=BE=D0=B2=D0=B5=D0=BD=D1=8C=20?= =?UTF-8?q?=D0=BB=D0=BE=D0=B3=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=81=D0=BE?= =?UTF-8?q?=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE=20=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=B8=D1=87=D0=BD=D0=BE=D0=B9=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BF=D0=B0=D0=BA=D0=BE=D0=B2=D0=BA=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\320\237\320\260\320\272\320\265\321\202\320\260.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index 6215b0b..fc89009 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -157,9 +157,9 @@ ОбработчикСобытий = ПолучитьОбработчикСобытий(КаталогУстановки); Исключение ОписаниеОшибки = ОписаниеОшибки(); - Лог.Предупреждение("Не удалось обработать описание частичного распакованного пакета + Лог.Отладка("Не удалось обработать описание частичного распакованного пакета |Выполняю полную распаковку пакета"); - Лог.Отладка("Расшифровка ошибки + Лог.Отладка("Расшифровка ошибки частичной распаковки: |%1", ОписаниеОшибки); ОбработчикСобытий = Неопределено; From db8e487c192ce21dc1f09c568363ec244fc4f28a Mon Sep 17 00:00:00 2001 From: Maxmov Valery Date: Thu, 20 Jun 2019 13:48:19 +0300 Subject: [PATCH 14/23] =?UTF-8?q?=D0=A1=D0=BA=D0=BE=D1=80=D1=80=D0=B5?= =?UTF-8?q?=D0=BA=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D1=83=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?=D1=8B=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - изменил формат вывода для отображения установленной версии пакета и серверов, где он доступен - добавлена возможность вывода всех пакетаов, как установленных, так и доступных на серверах хаба --- ...20\260\320\275\320\264\320\260Opm_List.os" | 133 +++++++++++++++--- ...20\272\320\265\321\202\320\276\320\262.os" | 7 +- 2 files changed, 115 insertions(+), 25 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" index c028ea3..3bba85f 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" @@ -5,43 +5,134 @@ КомандаПриложения.Опция("q quiet", Ложь, """Тихий"" режим вывода без лишних сообщений."); КомандаПриложения.Опция("r remote", Ложь, "Вывести список пакетов в хабе"); - // КомандаПриложения.Опция("a all", Ложь, "Вывести список всех пакетов установленных и доступных в хабе"); + КомандаПриложения.Опция("a all", Ложь, "Вывести список всех пакетов установленных и доступных в хабе"); КонецПроцедуры Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт ТихийРежим = КомандаПриложения.ЗначениеОпции("quiet"); - ВыводПакетовНаХабе = КомандаПриложения.ЗначениеОпции("remote"); + ВыводВсехПакетов = КомандаПриложения.ЗначениеОпции("all"); + ВыводПакетовНаХабе = КомандаПриложения.ЗначениеОпции("remote") ИЛИ ВыводВсехПакетов; + ВыводУстановленныхПакетов = НЕ КомандаПриложения.ЗначениеОпции("remote") ИЛИ ВыводВсехПакетов; - Если ВыводПакетовНаХабе Тогда - ТекстСообщения = СтрШаблон("Пакеты в хабе:"); - МенеджерПолучения = Новый МенеджерПолученияПакетов(); - УстановленныеПакеты = МенеджерПолучения.ПолучитьДоступныеПакеты(); - Иначе + Если ВыводВсехПакетов Тогда - ПутьККаталогуПакетов = ПолучитьЗначениеСистемнойНастройки("lib.system"); - ТекстСообщения = СтрШаблон("Пакеты в системном каталоге библиотек <%1>:", ПутьККаталогуПакетов); + ТекстСообщения = "Все пакеты, установленные и в хабе:"; + + Иначе + + ТекстСообщения = ?(ВыводПакетовНаХабе, "Пакеты в хабе:", "Установленные пакеты:"); - КэшУстановленныхПакетов = Новый КэшУстановленныхПакетов(ПутьККаталогуПакетов); - УстановленныеПакеты = КэшУстановленныхПакетов.ПолучитьУстановленныеПакеты(); КонецЕсли; + МенеджерПолучения = Новый МенеджерПолученияПакетов(); + ДоступныеПакеты = МенеджерПолучения.ПолучитьДоступныеПакеты(); + + ПутьККаталогуПакетов = ПолучитьЗначениеСистемнойНастройки("lib.system"); + КэшУстановленныхПакетов = Новый КэшУстановленныхПакетов(ПутьККаталогуПакетов); + УстановленныеПакеты = КэшУстановленныхПакетов.ПолучитьУстановленныеПакеты(); + Если НЕ ТихийРежим Тогда Сообщить(ТекстСообщения); КонецЕсли; + Пакеты = Новый ТаблицаЗначений(); + Пакеты.Колонки.Добавить("ИмяПакета"); + Пакеты.Колонки.Добавить("ИменаСерверов"); + Пакеты.Колонки.Добавить("Версия"); + Пакеты.Колонки.Добавить("Выводить"); + + Для Каждого ДоступынйПакет Из ДоступныеПакеты Цикл + + ИнфоОПакете = Пакеты.Добавить(); + ИнфоОПакете.ИмяПакета = ДоступынйПакет.Ключ; + ИнфоОПакете.Версия = ""; + ИнфоОПакете.Выводить = ВыводПакетовНаХабе; + + ИменаСерверов = ""; + Для Каждого к из ДоступынйПакет.Значение Цикл + ИменаСерверов = ИменаСерверов + ?(ПустаяСтрока(ИменаСерверов), "", ", ") + к.Ключ; + КонецЦикла; + + ИнфоОПакете.ИменаСерверов = ИменаСерверов; + + КонецЦикла; + Для Каждого УстановленныйПакет Из УстановленныеПакеты Цикл - СтрокаСообщения = УстановленныйПакет.Ключ; - Если ТипЗнч(УстановленныйПакет.Значение) = Тип("Структура") Тогда - ОписаниеПакета = УстановленныйПакет.Значение.МетаданныеПакета; - Если ТипЗнч(ОписаниеПакета) = Тип("Булево") Тогда - // @deprecated - Иначе - СтрокаСообщения = СтрокаСообщения + "@" + ОписаниеПакета.Свойства().Версия; - КонецЕсли; + ИмяПакета = УстановленныйПакет.Ключ; + ОписаниеПакета = УстановленныйПакет.Значение.МетаданныеПакета; + Версия = "<НЕТ>"; + Если ТипЗнч(ОписаниеПакета) <> Тип("Булево") Тогда + Версия = ОписаниеПакета.Свойства().Версия; КонецЕсли; - Сообщить(СтрокаСообщения); + + ДобавленныйПакет = Пакеты.НайтиСтроки(Новый Структура("ИмяПакета", ИмяПакета)); + Если ДобавленныйПакет.Количество() Тогда + ДобавленныйПакет[0].Версия = Версия; + ДобавленныйПакет[0].Выводить = ИСТИНА; // Пакет есть и на хабе и локально, стоит вывести + Продолжить; + КонецЕсли; + + ИнфоОПакете = Пакеты.Добавить(); + ИнфоОПакете.ИмяПакета = ИмяПакета; + ИнфоОПакете.Версия = Версия; + ИнфоОПакете.ИменаСерверов = "Локальный"; + ИнфоОПакете.Выводить = ВыводУстановленныхПакетов; + КонецЦикла; + + ВывестиИнформациюОПакетах(Пакеты); -КонецПроцедуры \ No newline at end of file +КонецПроцедуры + +Процедура ВывестиИнформациюОПакетах(Пакеты) + + ДлинаИмени = СтрДлина("Пакет"); + ДлинаИменСерверов = СтрДлина("Имена серверов"); + ДлинаВерсии = СтрДлина("Версия"); + + Для Каждого ИнфоОПакете Из Пакеты Цикл + + Если НЕ ИнфоОПакете.Выводить Тогда + Продолжить; + КонецЕсли; + + ДлинаИмени = Макс(СтрДлина(ИнфоОПакете.ИмяПакета), ДлинаИмени); + ДлинаВерсии = Макс(СтрДлина(ИнфоОПакете.Версия), ДлинаВерсии); + ДлинаИменСерверов = Макс(СтрДлина(ИнфоОПакете.ИменаСерверов), ДлинаИменСерверов); + + КонецЦикла; + + ВывестиШапкуИнфо(ДлинаИмени, ДлинаВерсии, ДлинаИменСерверов); + Для Каждого ИнфоОПакете Из Пакеты Цикл + + Если НЕ ИнфоОПакете.Выводить Тогда + Продолжить; + КонецЕсли; + + ВывестиСтрокуИнфо(ДлинаИмени, ИнфоОПакете.ИмяПакета, ДлинаВерсии, ИнфоОПакете.Версия, ДлинаИменСерверов, ИнфоОПакете.ИменаСерверов); + + КонецЦикла; + ВывестиШапкуИнфо(ДлинаИмени, ДлинаВерсии, ДлинаИменСерверов); + +КонецПроцедуры + +Процедура ВывестиШапкуИнфо(ДлинаИмени, ДлинаВерсии, ДлинаИменСерверов) + + ПустаяСтрока = " "; + Сообщить(СтрЗаменить(Лев(ПустаяСтрока, ДлинаИмени + ДлинаВерсии + ДлинаИменСерверов + 6), " ", "-")); + ВывестиСтрокуИнфо(ДлинаИмени, "Пакет", ДлинаВерсии, "Версия", ДлинаИменСерверов, "Имена серверов"); + Сообщить(СтрЗаменить(Лев(ПустаяСтрока, ДлинаИмени + ДлинаВерсии + ДлинаИменСерверов + 6), " ", "-")); + +КонецПроцедуры + +Процедура ВывестиСтрокуИнфо(ДлинаИмени, ИмяПакета, ДлинаВерсии, Версия, ДлинаИменСерверов, ИменаСерверов) + + ПустаяСтрока = " "; + Шаблон = "%1" + Лев(ПустаяСтрока, ДлинаИмени - СтрДлина(ИмяПакета)) + + " | %2" + Лев(ПустаяСтрока, ДлинаВерсии - СтрДлина(Версия)) + + " | %3" + Лев(ПустаяСтрока, ДлинаИменСерверов - СтрДлина(ИменаСерверов)); + Сообщить(СтрШаблон(Шаблон, ИмяПакета, Версия, ИменаСерверов)); + +КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 8938e40..9e7ce0a 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -133,8 +133,8 @@ КонецПроцедуры Функция ПолучитьДоступныеПакеты() Экспорт - - Возврат ИндексДоступныхПакетов; // По хорошему надо копировать соответствие + + Возврат Новый ФиксированноеСоответствие(ИндексКешаПакетов); КонецФункции @@ -226,7 +226,6 @@ КлючПакета = Пакет.Ключ; ВерсииПакета = Пакет.Значение; - Лог.Отладка("Добавляю пакет: %1 в кеш для сервера %2", КлючПакета, ИмяСервера); Если ИндексКешаПакетов[КлючПакета] = Неопределено Тогда ИндексКешаПакетов.Вставить(КлючПакета, Новый Соответствие); @@ -238,4 +237,4 @@ КонецПроцедуры -Лог = Логирование.ПолучитьЛог("oscript.app.opm"); \ No newline at end of file +Лог = Логирование.ПолучитьЛог("oscript.app.opm"); From 0c6ca551e599642dba2318a77f46dd79b9c20342 Mon Sep 17 00:00:00 2001 From: Maxmov Valery Date: Thu, 20 Jun 2019 17:29:33 +0300 Subject: [PATCH 15/23] =?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=D0=BF=D0=B5=D1=87=D0=B0=D1=82=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" index 3bba85f..89e06a0 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_List.os" @@ -43,15 +43,15 @@ Пакеты.Колонки.Добавить("Версия"); Пакеты.Колонки.Добавить("Выводить"); - Для Каждого ДоступынйПакет Из ДоступныеПакеты Цикл + Для Каждого ДоступныйПакет Из ДоступныеПакеты Цикл ИнфоОПакете = Пакеты.Добавить(); - ИнфоОПакете.ИмяПакета = ДоступынйПакет.Ключ; + ИнфоОПакете.ИмяПакета = ДоступныйПакет.Ключ; ИнфоОПакете.Версия = ""; ИнфоОПакете.Выводить = ВыводПакетовНаХабе; ИменаСерверов = ""; - Для Каждого к из ДоступынйПакет.Значение Цикл + Для Каждого к из ДоступныйПакет.Значение Цикл ИменаСерверов = ИменаСерверов + ?(ПустаяСтрока(ИменаСерверов), "", ", ") + к.Ключ; КонецЦикла; From 20fabcd3fd4fa8075d44681966d13bffe68f45dc Mon Sep 17 00:00:00 2001 From: Maxmov Valery Date: Fri, 21 Jun 2019 09:27:29 +0300 Subject: [PATCH 16/23] =?UTF-8?q?-=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D1=8B=20=D0=B2=20?= =?UTF-8?q?=D0=B7=D0=B5=D1=80=D0=BA=D0=B0=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Скорректировал сохранение настроек, добавив информацию о ресурсе публикации пакета --- ...21\200\320\276\320\271\320\272\320\270.os" | 16 +++++----- ...20\260\320\275\320\264\320\260Opm_Push.os" | 29 +++++++++++++++---- ...266\320\265\320\275\320\270\321\217Opm.os" | 24 ++++++--------- ...20\272\320\265\321\202\320\276\320\262.os" | 7 ++++- ...200\320\276\320\271\320\272\320\270Opm.os" | 14 +++++---- 5 files changed, 55 insertions(+), 35 deletions(-) diff --git "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" index f9b722c..3f92d5a 100644 --- "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" +++ "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" @@ -128,20 +128,20 @@ Если Не СервераПакетов = Неопределено Тогда Индекс = 1; - Для каждого ДополнительныйСервер Из СервераПакетов Цикл + Для каждого СерверПакетов Из СервераПакетов Цикл - Сервер = ПолучитьЗначение(ДополнительныйСервер, "Сервер", ""); - Порт = Число(ПолучитьЗначение(ДополнительныйСервер, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(ДополнительныйСервер, "ПутьНаСервере", "/"); - Имя = ПолучитьЗначение(ДополнительныйСервер, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); - Приоритет = Число(ПолучитьЗначение(ДополнительныйСервер, "Приоритет", 0)); + Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", ""); + Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80)); + ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/"); + РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/"); + Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); + Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0)); Если ПустаяСтрока(Сервер) Тогда - // Лог.Отладка("Для дополнительного сервера <%1> не задан адрес", Индекс); Продолжить; КонецЕсли; - НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет); + НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); Индекс = Индекс +1; КонецЦикла; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" index 7a67c3d..ea3fa3f 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" @@ -25,25 +25,27 @@ .Перечисление("stable", "stable", "Канал содержащий стабильные версии пакетов") .Перечисление("dev", "dev" , "Канал содержащий разработческие версии пакетов") .ВОкружении("OPM_HUB_CHANNEL"); + КомандаПриложения.Опция("m mirror", "СерверУдаленногоХранилища", "Имя сервера для публикации. + | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'. + | По умолчанию используется 'СерверУдаленногоХранилища'.") + .ВОкружении("OPM_HUB_MIRROR"); КомандаПриложения.Аргумент("FILE", "", "Маска или имя файла пакета.") .Обязательный(Ложь); - // КомандаПриложения.Спек = "(-a | --all | -l | --local | -d | --dest )"; - КонецПроцедуры Процедура ВыполнитьКоманду(Знач КомандаПриложения) Экспорт - ТокенАвторизации = КомандаПриложения.ЗначениеОпции("token"); МаскаФайлаПакетаСтарая = КомандаПриложения.ЗначениеОпции("file"); ИмяКаналаПубликации = КомандаПриложения.ЗначениеОпции("channel"); + ИмяСервераПакетов = КомандаПриложения.ЗначениеОпции("mirror"); МаскаФайлаПакета = КомандаПриложения.ЗначениеАргумента("FILE"); Если Не ПустаяСтрока(МаскаФайлаПакетаСтарая) Тогда - ЛОг.Предупреждение("Использование опции <--file> устарело в следующих версиях будет удалена. Используйте аргумент "); + Лог.Предупреждение("Использование опции <--file> устарело в следующих версиях будет удалена. Используйте аргумент "); МаскаФайлаПакета = МаскаФайлаПакетаСтарая; КонецЕсли; @@ -53,7 +55,7 @@ Канал = ПолучитьИмяКаналаПубликации(ИмяКаналаПубликации); - ОтправитьПакетВХаб(ТокенАвторизации, ФайлПакета, Канал); + ОтправитьПакетВХаб(ТокенАвторизации, ФайлПакета, Канал, ИмяСервераПакетов); КонецПроцедуры @@ -121,14 +123,29 @@ КонецФункции -Процедура ОтправитьПакетВХаб(Знач ТокенАвторизации, Знач ФайлПакета, Знач Канал) +Процедура ОтправитьПакетВХаб(Знач ТокенАвторизации, Знач ФайлПакета, Знач Канал, Знач ИмяСервераПакетов) ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ФайлПакета.ПолноеИмя); ДвоичныеДанныеФайлаВBase64 = Base64Строка(ДвоичныеДанныеФайла); + ДоступныеСервераПакетов = НастройкиOpm.ПолучитьНастройки().СервераПакетов; + Сервер = КонстантыOpm.СерверУдаленногоХранилища; Ресурс = КонстантыOpm.РесурсПубликацииПакетов; + Для Каждого НастройкаСервера Из ДоступныеСервераПакетов Цикл + + Если СтрСравнить(НастройкаСервера.Имя, ИмяСервераПакетов) = 0 Тогда + Сервер = НастройкаСервера.Сервер; + Ресурс = НастройкаСервера.РесурсПубликацииПакетов; + Прервать; + КонецЕсли; + + КонецЦикла; + + Лог.Отладка("Сервер = %1", Сервер); + Лог.Отладка("Ресурс = %1", Ресурс); + Заголовки = Новый Соответствие(); Заголовки.Вставить("OAUTH-TOKEN", ТокенАвторизации); Заголовки.Вставить("FILE-NAME", ФайлПакета.Имя); diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" index 1c4d59c..dec88ee 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" @@ -43,8 +43,6 @@ КонецЕсли; - - КонецЕсли; СоздаватьShСкриптЗапуска = ПолучитьЗначение(НастройкиOpmИзФайлов,"СоздаватьShСкриптЗапуска", Неопределено); @@ -60,20 +58,21 @@ Если Не СервераПакетов = Неопределено Тогда Индекс = 1; - Для каждого ДополнительныйСервер Из СервераПакетов Цикл + Для каждого СерверПакетов Из СервераПакетов Цикл - Сервер = ПолучитьЗначение(ДополнительныйСервер, "Сервер", ""); - Порт = Число(ПолучитьЗначение(ДополнительныйСервер, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(ДополнительныйСервер, "ПутьНаСервере", "/"); - Имя = ПолучитьЗначение(ДополнительныйСервер, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); - Приоритет = Число(ПолучитьЗначение(ДополнительныйСервер, "Приоритет", 0)); + Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", ""); + Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80)); + ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/"); + Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс)); + РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/"); + Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0)); Если ПустаяСтрока(Сервер) Тогда - Лог.Отладка("Для дополнительного сервера <%1> не задан адрес", Индекс); + Лог.Отладка("Для сервера <%1> не задан адрес", Индекс); Продолжить; КонецЕсли; - НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет); + НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); Индекс = Индекс +1; КонецЦикла; @@ -179,11 +178,6 @@ Для каждого НастройкаСервера Из ТекущиеНастройки.СервераПакетов Цикл - Если НастройкаСервера.Имя = "ОсновнойСерверПакетов" - Или НастройкаСервера.Имя = "ЗапаснойСерверПакетов" Тогда - Продолжить; - КонецЕсли; - МассивСерверовПакетов.Добавить(НастройкаСервера); КонецЦикла; diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 8938e40..d3c4f95 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -180,7 +180,12 @@ Функция СоздатьСерверПакетовПоНастройке(Знач НастройкаСервера) - Возврат Новый СерверПакетов(НастройкаСервера.Имя, НастройкаСервера.Сервер, НастройкаСервера.ПутьНаСервере, НастройкаСервера.Порт, НастройкаСервера.Приоритет) + Возврат Новый СерверПакетов(НастройкаСервера.Имя, + НастройкаСервера.Сервер, + НастройкаСервера.ПутьНаСервере, + НастройкаСервера.РесурсПубликацииПакетов, + НастройкаСервера.Порт, + НастройкаСервера.Приоритет) КонецФункции diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" index 0be83b4..619e09b 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270Opm.os" @@ -80,12 +80,13 @@ КонецПроцедуры -Функция НастройкиСервераПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере, Знач Порт, Знач Приоритет) +Функция НастройкиСервераПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере, Знач РесурсПубликацииПакетов, Знач Порт, Знач Приоритет) Результат = Новый Структура; Результат.Вставить("Имя", Имя); Результат.Вставить("Сервер", Сервер); Результат.Вставить("ПутьНаСервере", ПутьНаСервере); + Результат.Вставить("РесурсПубликацииПакетов", РесурсПубликацииПакетов); Результат.Вставить("Порт", Порт); Результат.Вставить("Приоритет", Приоритет); @@ -96,14 +97,17 @@ Процедура ДобавитьСерверПакетов(Знач Имя, Знач Сервер, Знач ПутьНаСервере = "", + Знач РесурсПубликацииПакетов = "", Знач Порт = 80, Знач Приоритет = Неопределено) Экспорт - мНастройки.СервераПакетов.Добавить(НастройкиСервераПакетов(Имя, Сервер, ПутьНаСервере, Порт, Приоритет)); - Лог.Отладка("Добавлен дополнительный сервер <%1>, Адрес <%2>, ПутьНаСервере <%3>, Порт <%4>, Приоритет <%5>", Имя, Сервер, ПутьНаСервере, Порт, Приоритет); + мНастройки.СервераПакетов.Добавить(НастройкиСервераПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет)); + Лог.Отладка("Добавлен сервер <%1>, Адрес <%2>, ПутьНаСервере <%3>, РесурсПубликацииПакетов <%4>, Порт <%5>, Приоритет <%6>", + Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); КонецПроцедуры + Процедура СброситьНастройки() Экспорт Инициализация(); @@ -121,8 +125,8 @@ мНастройки.Вставить("СервераПакетов", Новый Массив); // Сервера пакетов по умолчанию - ДобавитьСерверПакетов("ОсновнойСерверПакетов", КонстантыOpm.СерверУдаленногоХранилища, КонстантыOpm.ПутьВХранилище, 80, 0); - ДобавитьСерверПакетов("ЗапаснойСерверПакетов", КонстантыOpm.СерверЗапасногоХранилища, КонстантыOpm.ПутьВЗапасномХранилище, 80, 1); + ДобавитьСерверПакетов("ОсновнойСерверПакетов", КонстантыOpm.СерверУдаленногоХранилища, КонстантыOpm.ПутьВХранилище, КонстантыOpm.РесурсПубликацииПакетов, 80, 0); + ДобавитьСерверПакетов("ЗапаснойСерверПакетов", КонстантыOpm.СерверЗапасногоХранилища, КонстантыOpm.ПутьВЗапасномХранилище, Неопределено, 80, 1); КонецПроцедуры From 4f72daa1b3793a35bbc029e234dcae3e204d23ea Mon Sep 17 00:00:00 2001 From: Maxmov Valery Date: Fri, 21 Jun 2019 13:26:52 +0300 Subject: [PATCH 17/23] =?UTF-8?q?-=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D1=82=D1=8C=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D1=8B=20=D0=B2=20?= =?UTF-8?q?=D0=B7=D0=B5=D1=80=D0=BA=D0=B0=D0=BB=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Добавил возможность устанавливать и обновлять пакеты из зеркала - Скорректировал сохранение настроек, добавив информацию о ресурсе публикации пакета - Исправил ошибки неработоспособности КомандаOpm_Install и КомандаOpm_Update --- ...21\200\320\276\320\271\320\272\320\270.os" | 16 ++-- ...260\320\275\320\264\320\260Opm_Install.os" | 7 +- ...20\260\320\275\320\264\320\260Opm_Push.os" | 1 + ...\260\320\275\320\264\320\260Opm_Update.os" | 7 +- ...266\320\265\320\275\320\270\321\217Opm.os" | 14 +-- ...20\272\320\265\321\202\320\276\320\262.os" | 93 ++++++++++++------- ...20\272\320\265\321\202\320\276\320\262.os" | 19 +--- ...20\272\320\265\321\202\320\276\320\262.os" | 4 +- ...20\260\320\272\320\265\321\202\320\260.os" | 4 +- ...20\265\321\202\320\260\320\274\320\270.os" | 29 +++--- 10 files changed, 109 insertions(+), 85 deletions(-) diff --git "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" index 3f92d5a..1dec833 100644 --- "a/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" +++ "b/features/step_definitions/\320\235\320\260\321\201\321\202\321\200\320\276\320\271\320\272\320\270.os" @@ -128,20 +128,20 @@ Если Не СервераПакетов = Неопределено Тогда Индекс = 1; - Для каждого СерверПакетов Из СервераПакетов Цикл + Для каждого ТекущийСерверПакетов Из СервераПакетов Цикл - Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", ""); - Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/"); - РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/"); - Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); - Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0)); + Сервер = ПолучитьЗначение(ТекущийСерверПакетов, "Сервер", ""); + Порт = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Порт", 80)); + ПутьНаСервере = ПолучитьЗначение(ТекущийСерверПакетов, "ПутьНаСервере", "/"); + РесурсПубликацииПакетов = ПолучитьЗначение(ТекущийСерверПакетов, "РесурсПубликацииПакетов", "/"); + Имя = ПолучитьЗначение(ТекущийСерверПакетов, "Имя", СтрШаблон("ДопСервер_%1",Индекс)); + Приоритет = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Приоритет", 0)); Если ПустаяСтрока(Сервер) Тогда Продолжить; КонецЕсли; - НастройкиOpm.ДобавитьСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); + НастройкиOpm.ДобавитьТекущийСерверПакетов(Имя, Сервер, ПутьНаСервере, РесурсПубликацииПакетов, Порт, Приоритет); Индекс = Индекс +1; КонецЦикла; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index ccaa9a5..d7d0096 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -9,11 +9,12 @@ КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); - + КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты"); + КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() .Обязательный(Ложь); - + // КомандаПриложения.Спек = "(-a | --all | -l | --local | -d | --dest )"; КонецПроцедуры @@ -28,6 +29,7 @@ НеобходимоУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("skip-install-deps"); СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("skip-create-app"); + ИмяСервера = КомандаПриложения.ЗначениеОпции("mirror"); РежимУстановки = РежимУстановкиПакетов.Глобально; Если УстановкаВЛокальныйКаталог Тогда @@ -57,6 +59,7 @@ НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); НастройкаУстановки.УстанавливатьЗависимости = НеобходимоУстановитьЗависимости; НастройкаУстановки.СоздаватьФайлыЗапуска = СоздаватьФайлыЗапуска; + НастройкаУстановки.ИмяСервера = ИмяСервера; Если УстановкаВсехПакетов Тогда РаботаСПакетами.УстановитьВсеПакетыИзОблака(РежимУстановки, ЦелевойКаталог, НастройкаУстановки); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" index ea3fa3f..73862aa 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" @@ -130,6 +130,7 @@ ДоступныеСервераПакетов = НастройкиOpm.ПолучитьНастройки().СервераПакетов; + // Для настроек по умолчанию Сервер = КонстантыOpm.СерверУдаленногоХранилища; Ресурс = КонстантыOpm.РесурсПубликацииПакетов; diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index 5f70761..9103f6b 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -8,6 +8,7 @@ КомандаПриложения.Опция("l local", Ложь, "Обновление пакета в локальном каталоге oscript_modules"); КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); + КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты"); КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() @@ -26,6 +27,7 @@ НеобходимУстановитьЗависимости = Не КомандаПриложения.ЗначениеОпции("skip-install-deps"); СоздаватьФайлыЗапуска = НЕ КомандаПриложения.ЗначениеОпции("skip-create-app"); + ИмяСервера = КомандаПриложения.ЗначениеОпции("mirror"); РежимУстановки = РежимУстановкиПакетов.Глобально; @@ -36,6 +38,7 @@ НастройкаУстановки = РаботаСПакетами.ПолучитьНастройкуУстановки(); НастройкаУстановки.УстанавливатьЗависимости = НеобходимУстановитьЗависимости; НастройкаУстановки.СоздаватьФайлыЗапуска = СоздаватьФайлыЗапуска; + НастройкаУстановки.ИмяСервера = ИмяСервера; Если ОбновлениеВсехПакетов Тогда РаботаСПакетами.ОбновитьУстановленныеПакеты(РежимУстановки, , НастройкаУстановки); @@ -44,9 +47,9 @@ Иначе Для каждого ИмяПакета Из МассивПакетовКОбновлению Цикл - РаботаСПакетами.ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, НастройкаУстановки); + РаботаСПакетами.ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, , НастройкаУстановки); КонецЦикла; КонецЕсли; -КонецПроцедуры \ No newline at end of file +КонецПроцедуры diff --git "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" index dec88ee..69c4d88 100644 --- "a/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" +++ "b/src/cmd/\320\234\320\276\320\264\321\203\320\273\320\270/\320\237\320\260\321\200\320\260\320\274\320\265\321\202\321\200\321\213\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217Opm.os" @@ -58,14 +58,14 @@ Если Не СервераПакетов = Неопределено Тогда Индекс = 1; - Для каждого СерверПакетов Из СервераПакетов Цикл + Для каждого ТекущийСерверПакетов Из СервераПакетов Цикл - Сервер = ПолучитьЗначение(СерверПакетов, "Сервер", ""); - Порт = Число(ПолучитьЗначение(СерверПакетов, "Порт", 80)); - ПутьНаСервере = ПолучитьЗначение(СерверПакетов, "ПутьНаСервере", "/"); - Имя = ПолучитьЗначение(СерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс)); - РесурсПубликацииПакетов = ПолучитьЗначение(СерверПакетов, "РесурсПубликацииПакетов", "/"); - Приоритет = Число(ПолучитьЗначение(СерверПакетов, "Приоритет", 0)); + Сервер = ПолучитьЗначение(ТекущийСерверПакетов, "Сервер", ""); + Порт = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Порт", 80)); + ПутьНаСервере = ПолучитьЗначение(ТекущийСерверПакетов, "ПутьНаСервере", "/"); + Имя = ПолучитьЗначение(ТекущийСерверПакетов, "Имя", СтрШаблон("ДопСервер_%1", Индекс)); + РесурсПубликацииПакетов = ПолучитьЗначение(ТекущийСерверПакетов, "РесурсПубликацииПакетов", "/"); + Приоритет = Число(ПолучитьЗначение(ТекущийСерверПакетов, "Приоритет", 0)); Если ПустаяСтрока(Сервер) Тогда Лог.Отладка("Для сервера <%1> не задан адрес", Индекс); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index d3c4f95..bd97aca 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -10,7 +10,7 @@ КонецПроцедуры -Функция ПолучитьПакет(Знач ИмяПакета, Знач ВерсияПакета, ПутьКФайлуПакета = "") Экспорт +Функция ПолучитьПакет(Знач ИмяПакета, Знач ВерсияПакета, ПутьКФайлуПакета = "", ИмяСервера = "") Экспорт Если Не ПакетДоступен(ИмяПакета) Тогда @@ -37,7 +37,7 @@ ПереченьСерверов = ИндексКешаПакетов[ИмяПакета]; - Ответ = ЗапроситьПакет(ПереченьСерверов, ИмяРесурса); + Ответ = ЗапроситьПакет(ПереченьСерверов, ИмяСервера, ИмяРесурса); Если Не Ответ = Неопределено Тогда Лог.Отладка("Файл получен"); @@ -53,43 +53,38 @@ КонецФункции -Функция ЗапроситьПакет(Знач ПереченьСерверов, Знач ИмяРесурса) +Функция ЗапроситьПакет(Знач ПереченьСерверов, Знач ИмяСервера, Знач ИмяРесурса) ПакетУспешноПолучен = Ложь; - - Для каждого ДоступныйСервер Из ПереченьСерверов Цикл - - Сервер = ИндексСерверовПакетов[ДоступныйСервер.Ключ]; - - Если Сервер.СерверДоступен() Тогда + ОтветСервера = Неопределено; + + // Если указан нужный сервер, то только его и будем использовать + Если ЗначениеЗаполнено(ИмяСервера) Тогда - Ответ = Сервер.ПолучитьРесурс(ИмяРесурса); - Если Ответ = Неопределено Тогда - Продолжить; - КонецЕсли; + Сервер = ИндексСерверовПакетов[ИмяСервера]; + ОтветСервера = ЗапроситьПакетССервера(Сервер, ИмяРесурса); - Если Ответ.КодСостояния = 200 Тогда + Иначе + + // поиск пакета на серверах + Для Каждого ДоступныйСервер Из ПереченьСерверов Цикл + + Сервер = ИндексСерверовПакетов[ДоступныйСервер.Ключ]; + ОтветСервера = ЗапроситьПакетССервера(Сервер, ИмяРесурса); + Если ОтветСервера <> Неопределено Тогда - ПакетУспешноПолучен = Истина; Прервать; - - КонецЕсли; - - Ответ.Закрыть(); - - Лог.Информация("Ошибка подключения к хабу %1 <%2>", - Сервер.ПолучитьИмя(), - Ответ.КодСостояния); - КонецЕсли; + КонецЕсли; + + КонецЦикла; - КонецЦикла; + КонецЕсли; - Если ПакетУспешноПолучен Тогда + Если ОтветСервера <> Неопределено Тогда Лог.Отладка("Ресурс %1 успешно получен с %2", ИмяРесурса, Сервер.ПолучитьИмя()); - - Возврат Ответ; + Возврат ОтветСервера; КонецЕсли; @@ -97,6 +92,36 @@ КонецФункции +Функция ЗапроситьПакетССервера(Сервер, ИмяРесурса) + + ОтветСервера = Неопределено; + Если Сервер.СерверДоступен() Тогда + + ОтветСервера = Сервер.ПолучитьРесурс(ИмяРесурса); + Если ОтветСервера <> Неопределено Тогда + + Если ОтветСервера.КодСостояния = 200 Тогда + + Возврат ОтветСервера; + + КонецЕсли; + + ОтветСервера.Закрыть(); + + Лог.Информация("Ошибка подключения к хабу %1 <%2>", + Сервер.ПолучитьИмя(), + ОтветСервера.КодСостояния); + + ОтветСервера = Неопределено; + + КонецЕсли; + + КонецЕсли; + + Возврат ОтветСервера; + +КонецФункции + // Функция по имени пакета определяет имя архива в хабе // https://github.com/oscript-library/opm/issues/50 // Имена файлов в хабе регистрозависимы, однако имена пакетов по обыкновению регистронезависимы @@ -171,8 +196,8 @@ Для каждого НастройкаСервера Из СервераПакетов Цикл - СерверПакетов = СоздатьСерверПакетовПоНастройке(НастройкаСервера); - ИндексСерверовПакетов.Вставить(НастройкаСервера.Имя, СерверПакетов); + ТекущийСерверПакетов = СоздатьСерверПакетовПоНастройке(НастройкаСервера); + ИндексСерверовПакетов.Вставить(НастройкаСервера.Имя, ТекущийСерверПакетов); КонецЦикла; @@ -210,10 +235,10 @@ ИндексКешаПакетов = Новый Соответствие; - Для каждого СерверПакетов Из ИндексСерверовПакетов Цикл + Для каждого ТекущийСерверПакетов Из ИндексСерверовПакетов Цикл - ИмяСервера = СерверПакетов.Ключ; - КлассСервера = СерверПакетов.Значение; + ИмяСервера = ТекущийСерверПакетов.Ключ; + КлассСервера = ТекущийСерверПакетов.Значение; Пакеты = КлассСервера.ПолучитьПакеты(); @@ -243,4 +268,4 @@ КонецПроцедуры -Лог = Логирование.ПолучитьЛог("oscript.app.opm"); \ No newline at end of file +Лог = Логирование.ПолучитьЛог("oscript.app.opm"); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index efda69c..1a895c5 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\270\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -6,18 +6,18 @@ Перем Лог; Перем мВременныйКаталогУстановки; - Перем ТекущийРежимУстановкиПакетов; Перем КэшУстановленныхПакетов; Перем ЦелевойКаталогУстановки; Перем КаталогУстановкиЗависимостей; Перем КаталогСистемныхБиблиотек; Перем КешУстановленныхПакетов; +Перем ИмяСервера; Перем УстанавливатьЗависимости; Перем СоздаватьФайлыЗапуска; -Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, Знач ВходящийКаталогУстановки = Неопределено, Знач ВходящийКаталогУстановкиЗависимостей = Неопределено) +Процедура ПриСозданииОбъекта(Знач ВходящийРежимУстановкиПакетов = Неопределено, Знач ВходящийКаталогУстановки = Неопределено, Знач ВходящийКаталогУстановкиЗависимостей = Неопределено, Знач ВходящийИмяСервера = "") ПутьККаталогуЛокальнойУстановки = ОбъединитьПути( ТекущийКаталог(), @@ -53,6 +53,7 @@ КешУстановленныхПакетов = Новый Соответствие; УстанавливатьЗависимости = Истина; СоздаватьФайлыЗапуска = Истина; + ИмяСервера = ВходящийИмяСервера; КонецПроцедуры Процедура УстанавливатьЗависимости(Знач ПУстанавливатьЗависимости) Экспорт @@ -94,14 +95,6 @@ КонецПроцедуры -Процедура УстановитьПакет(Знач ИмяПакета) Экспорт - - ИмяВерсияПакета = РаботаСВерсиями.РазобратьИмяПакета(ИмяПакета); - - УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия); - -КонецПроцедуры - Процедура УстановитьПакетПоОписанию(Знач ОписаниеПакета) Экспорт УстановитьПакетПоИмениИВерсии(ОписаниеПакета.ИмяПакета, ОписаниеПакета.МинимальнаяВерсия, Истина); @@ -111,7 +104,6 @@ Процедура УстановитьПакетИзАрхива(Знач ФайлПакета, Знач ЭтоЗависимыйПакет = Ложь) Экспорт КаталогУстановки = ?(ЭтоЗависимыйПакет, КаталогУстановкиЗависимостей, ЦелевойКаталогУстановки); - УстановкаПакета = Новый УстановкаПакета(); УстановкаПакета.СоздаватьФайлЗапуска(СоздаватьФайлыЗапуска); УстановкаПакета.УстановитьЦелевойКаталог(КаталогУстановки); @@ -150,8 +142,7 @@ Процедура УстановитьПакетПоИмениИВерсии(Знач ИмяПакета, Знач ВерсияПакета, ЗНач ЭтоЗависимыйПакет = Ложь) Экспорт - ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета); - + ФайлПакета = РаботаСПакетами.ПолучитьПакет(ИмяПакета, ВерсияПакета, , ИмяСервера); УстановитьПакетИзАрхива(ФайлПакета, ЭтоЗависимыйПакет); КонецПроцедуры @@ -239,4 +230,4 @@ КонецФункции Лог = Логирование.ПолучитьЛог("oscript.app.opm"); -//Лог.УстановитьУровень(УровниЛога.Отладка); \ No newline at end of file +//Лог.УстановитьУровень(УровниЛога.Отладка); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 2003877..a2d2329 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\241\320\265\321\200\320\262\320\265\321\200\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -6,16 +6,18 @@ Перем Порт; Перем Приоритет; Перем Соединение; +Перем РесурсПубликацииПакетов; Перем ПакетыХаба; -Процедура ПриСозданииОбъекта(Знач ИмяСервера, Знач АдресСервер, Знач ВходящийПутьНаСервере = "", Знач ВходящийПорт = 80, Знач ВходящийПриоритет = 0 ) +Процедура ПриСозданииОбъекта(Знач ИмяСервера, Знач АдресСервер, Знач ВходящийПутьНаСервере = "", Знач ВходящийРесурсПубликацииПакетов = "", Знач ВходящийПорт = 80, Знач ВходящийПриоритет = 0) Имя = ИмяСервера; Сервер = АдресСервер; ПутьНаСервере = ВходящийПутьНаСервере; Порт = ВходящийПорт; Приоритет = ВходящийПриоритет; + РесурсПубликацииПакетов = ВходящийРесурсПубликацииПакетов; КонецПроцедуры diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index fc89009..115ec6d 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -35,7 +35,7 @@ Метаданные = ПрочитатьМетаданныеПакета(ФайлМетаданных); ИмяПакета = Метаданные.Свойства().Имя; - + ОбъектКаталогУстановки = НайтиСоздатьКаталогУстановки(ИмяПакета); ПутьУстановки = ОбъектКаталогУстановки.ПолноеИмя; @@ -152,7 +152,7 @@ УдалитьУстаревшиеФайлы(ОбъектКаталогУстановки); ИзвлечьФайл(ЧтениеСодержимого, КонстантыOpm.ИмяФайлаСпецификацииПакета, КаталогУстановки); - + Попытка ОбработчикСобытий = ПолучитьОбработчикСобытий(КаталогУстановки); Исключение diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" index ec1bb1d..a312e70 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\240\320\260\320\261\320\276\321\202\320\260\320\241\320\237\320\260\320\272\320\265\321\202\320\260\320\274\320\270.os" @@ -58,6 +58,7 @@ Настройка = Новый Структура(); Настройка.Вставить("УстанавливатьЗависимости", Истина); Настройка.Вставить("СоздаватьФайлыЗапуска", Истина); + Настройка.Вставить("ИмяСервера", ""); Возврат Настройка; @@ -76,10 +77,10 @@ НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; - УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); - УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); - УстановкаПакета.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); + МенеджерУстановки = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог, , НастройкаУстановки.ИмяСервера); + МенеджерУстановки.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); + МенеджерУстановки.СоздаватьФайлыЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); + МенеджерУстановки.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); КонецПроцедуры @@ -91,10 +92,10 @@ НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; - УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог); - УстановкаПакета.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); - УстановкаПакета.УстановитьПакетИзАрхива(ИмяФайлаПакета); + МенеджерУстановки = Новый МенеджерУстановкиПакетов(РежимУстановки, ЦелевойКаталог, , НастройкаУстановки.ИмяСервера); + МенеджерУстановки.УстанавливатьЗависимости(НастройкаУстановки.УстанавливатьЗависимости); + МенеджерУстановки.СоздаватьФайлыЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); + МенеджерУстановки.УстановитьПакетИзАрхива(ИмяФайлаПакета); КонецПроцедуры @@ -145,7 +146,6 @@ КонецПроцедуры - Процедура УстановитьПакетыПоОписаниюПакета(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт ОписаниеПакета = РаботаСОписаниемПакета.ПрочитатьОписаниеПакета(); @@ -156,10 +156,10 @@ НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; - УстановкаПакета = Новый МенеджерУстановкиПакетов(РежимУстановки); - УстановкаПакета.СоздаватьФайлЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); + МенеджерУстановки = Новый МенеджерУстановкиПакетов(РежимУстановки, , , НастройкаУстановки.ИмяСервера); + МенеджерУстановки.СоздаватьФайлыЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); - УстановкаПакета.РазрешитьЗависимостиПакета(ОписаниеПакета); + МенеджерУстановки.РазрешитьЗависимостиПакета(ОписаниеПакета); Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда ОбеспечитьФайлыИнфраструктурыЛокальнойУстановки(ОписаниеПакета, РежимУстановки); @@ -230,11 +230,10 @@ КонецПроцедуры -Функция ПолучитьПакет(Знач ИмяПакета, Знач ВерсияПакета, ПутьКФайлуПакета = "") Экспорт +Функция ПолучитьПакет(Знач ИмяПакета, Знач ВерсияПакета, ПутьКФайлуПакета = "", ИмяСервера = "") Экспорт МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); - - ПутьКФайлуПакета = МенеджерПолучения.ПолучитьПакет(ИмяПакета, ВерсияПакета, ПутьКФайлуПакета); + ПутьКФайлуПакета = МенеджерПолучения.ПолучитьПакет(ИмяПакета, ВерсияПакета, ПутьКФайлуПакета, ИмяСервера); Возврат ПутьКФайлуПакета; From b8daf0d32ab85ef80bbc71aae263fc679158c64b Mon Sep 17 00:00:00 2001 From: Maxmov Valery Date: Tue, 25 Jun 2019 10:11:03 +0300 Subject: [PATCH 18/23] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0?= =?UTF-8?q?=20mirror=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D1=87=D0=B8=D1=81=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...260\320\275\320\264\320\260Opm_Install.os" | 11 +++++++++- ...20\260\320\275\320\264\320\260Opm_Push.os" | 13 ++++++++---- ...\260\320\275\320\264\320\260Opm_Update.os" | 10 ++++++++++ ...20\272\320\265\321\202\320\276\320\262.os" | 20 +++++++++++++++++++ 4 files changed, 49 insertions(+), 5 deletions(-) diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" index d7d0096..14ec48d 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Install.os" @@ -9,8 +9,17 @@ КомандаПриложения.Опция("s skip-install-deps", Ложь, "признак пропуска установки зависимых пакетов"); КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("d dest", "", "Переопределить стандартный каталог в который устанавливаются пакеты (вместо oscript_modules)"); - КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты"); + ОпцияЗеркала = КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты. + | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'.") + .ВОкружении("OPM_HUB_MIRROR") + .ТПеречисление(); + + МенеджерПолучения = Новый МенеджерПолученияПакетов(); + Для Каждого ДоступноеЗеркало Из МенеджерПолучения.ИменаДоступныхСерверов() Цикл + ОпцияЗеркала.Перечисление(ДоступноеЗеркало, ДоступноеЗеркало, "Сервер '" + ДоступноеЗеркало + "'"); + КонецЦикла; + КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() .Обязательный(Ложь); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" index 73862aa..b554541 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Push.os" @@ -25,10 +25,15 @@ .Перечисление("stable", "stable", "Канал содержащий стабильные версии пакетов") .Перечисление("dev", "dev" , "Канал содержащий разработческие версии пакетов") .ВОкружении("OPM_HUB_CHANNEL"); - КомандаПриложения.Опция("m mirror", "СерверУдаленногоХранилища", "Имя сервера для публикации. - | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'. - | По умолчанию используется 'СерверУдаленногоХранилища'.") - .ВОкружении("OPM_HUB_MIRROR"); + ОпцияЗеркала = КомандаПриложения.Опция("m mirror", "СерверУдаленногоХранилища", "Имя сервера для публикации. + | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'.") + .ВОкружении("OPM_HUB_MIRROR") + .ТПеречисление(); + + МенеджерПолучения = Новый МенеджерПолученияПакетов(); + Для Каждого ДоступноеЗеркало Из МенеджерПолучения.ИменаДоступныхСерверов() Цикл + ОпцияЗеркала.Перечисление(ДоступноеЗеркало, ДоступноеЗеркало, "Сервер '" + ДоступноеЗеркало + "'"); + КонецЦикла; КомандаПриложения.Аргумент("FILE", "", "Маска или имя файла пакета.") .Обязательный(Ложь); diff --git "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" index 9103f6b..9f134c5 100644 --- "a/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" +++ "b/src/cmd/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260Opm_Update.os" @@ -10,6 +10,16 @@ КомандаПриложения.Опция("skip-create-app", Ложь, "признак отключения создания файла запуска"); КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты"); + ОпцияЗеркала = КомандаПриложения.Опция("m mirror", "", "Указать имя сервера, с которого необходимо ставить пакеты. + | Доступные сервера прописываются в конфигурационном файле opm.cfg, параметр 'СервераПакетов'.") + .ВОкружении("OPM_HUB_MIRROR") + .ТПеречисление(); + + МенеджерПолучения = Новый МенеджерПолученияПакетов(); + Для Каждого ДоступноеЗеркало Из МенеджерПолучения.ИменаДоступныхСерверов() Цикл + ОпцияЗеркала.Перечисление(ДоступноеЗеркало, ДоступноеЗеркало, "Сервер '" + ДоступноеЗеркало + "'"); + КонецЦикла; + КомандаПриложения.Аргумент("PACKAGE", "", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета") .ТМассивСтрок() .Обязательный(Ложь); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" index 0e5cc3a..ee8730d 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\234\320\265\320\275\320\265\320\264\320\266\320\265\321\200\320\237\320\276\320\273\321\203\321\207\320\265\320\275\320\270\321\217\320\237\320\260\320\272\320\265\321\202\320\276\320\262.os" @@ -203,6 +203,26 @@ КонецПроцедуры +// ИменаДоступныхСерверов +// Возвращает список доступных серверов-зеркал с пакетами +// Возвращаемое значение: +// Массив - Список имен +// +Функция ИменаДоступныхСерверов() Экспорт + + ИменаПакетов = Новый Массив(); + СервераПакетов = НастройкиOpm.ПолучитьНастройки().СервераПакетов; + + Для каждого НастройкаСервера Из СервераПакетов Цикл + + ИменаПакетов.Добавить(НастройкаСервера.Имя); + + КонецЦикла; + + Возврат ИменаПакетов; + +КонецФункции + Функция СоздатьСерверПакетовПоНастройке(Знач НастройкаСервера) Возврат Новый СерверПакетов(НастройкаСервера.Имя, From 99b2d2dcdeb36b37b3f56bd1316cefe87d713b58 Mon Sep 17 00:00:00 2001 From: Artur Ayukhanov Date: Fri, 23 Aug 2019 15:13:12 +0300 Subject: [PATCH 19/23] =?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=20=D0=BE=D1=82=20=D0=B4=D1=80=D1=83=D0=B3=D0=B8?= =?UTF-8?q?=D1=85=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit нужно для решения проблемы с устаревшим пакетом fs --- packagedef | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/packagedef b/packagedef index 323c7a3..6ddee8c 100644 --- a/packagedef +++ b/packagedef @@ -83,14 +83,14 @@ Описание.Имя("opm") .Версия(ВерсияПродукта) .ВерсияСреды("1.0.19") - .ЗависитОт("fs", "0.5.0") - .ЗависитОт("asserts", "0.4.0") - .ЗависитОт("json", "1.0.1") + .ЗависитОт("fs", "1.0.0") + .ЗависитОт("asserts", "1.3.0") + .ЗависитОт("json", "1.1.1") .ЗависитОт("fluent", "0.3.1") - .ЗависитОт("logos", "1.0.2") + .ЗависитОт("logos", "1.2.1") .ЗависитОт("cli", "0.9.10") .ЗависитОт("tempfiles", "0.2.2") - .ЗависитОт("gitrunner", "1.5.1") + .ЗависитОт("gitrunner", "1.6.0") .ВключитьФайл("packagedef") .ВключитьФайл("src") .ВключитьФайл("oscript_modules") From 09ee5b1d55f1dbe6bb686490b5ddd39f604b2409 Mon Sep 17 00:00:00 2001 From: Alexey Lustin Date: Thu, 12 Sep 2019 06:24:56 +0300 Subject: [PATCH 20/23] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20=D0=BC=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=BE=2021-=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://travis-ci.org/oscript-library/opm/builds --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index e56e8b1..01cba2c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,7 +8,7 @@ env: - CHANNEL=dev - PACKAGE_NAME=opm matrix: - - OSCRIPT_VERSION=1_0_20 + - OSCRIPT_VERSION=1_0_21 - OSCRIPT_VERSION=night-build matrix: allow_failures: @@ -34,7 +34,7 @@ before_cache: | xargs -n 2 -t sh -c 'test -e $HOME/docker/$1.tar.gz || docker save $0 | gzip -2 > $HOME/docker/$1.tar.gz' install: - - docker pull evilbeaver/onescript:1.0.19 + - docker pull evilbeaver/onescript:1.0.21 script: - docker version @@ -54,7 +54,7 @@ jobs: - stage: Сборка и публикация github & hub.oscript.io script: skip before_deploy: - - docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.20 sh -c 'cd /work_dir; opm build ./ ; exit' + - docker run -it -v $(pwd):/work_dir evilbeaver/onescript:1.0.21 sh -c 'cd /work_dir; opm build ./ ; exit' deploy: - provider: releases api_key: "$GITHUB_OAUTH_TOKEN" @@ -66,12 +66,12 @@ jobs: tags: true - provider: script skip_cleanup: true - script: docker run -it -e GITHUB_OAUTH_TOKEN=$GITHUB_OAUTH_TOKEN -v $(pwd):/work_dir evilbeaver/onescript:1.0.20 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./$PACKAGE_NAME-*.ospx; exit' + script: docker run -it -e GITHUB_OAUTH_TOKEN=$GITHUB_OAUTH_TOKEN -v $(pwd):/work_dir evilbeaver/onescript:1.0.21 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel dev --file ./$PACKAGE_NAME-*.ospx; exit' on: branch: develop - provider: script skip_cleanup: true - script: docker run -it -e GITHUB_OAUTH_TOKEN=$GITHUB_OAUTH_TOKEN -v $(pwd):/work_dir evilbeaver/onescript:1.0.20 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./$PACKAGE_NAME-*.ospx; exit' + script: docker run -it -e GITHUB_OAUTH_TOKEN=$GITHUB_OAUTH_TOKEN -v $(pwd):/work_dir evilbeaver/onescript:1.0.21 sh -c 'cd /work_dir; opm push --token $GITHUB_OAUTH_TOKEN --channel stable --file ./$PACKAGE_NAME-*.ospx; exit' on: branch: master tags: true From 9015a6805ed93b060bf0be4d43d72e095188f18c Mon Sep 17 00:00:00 2001 From: Karim Shakirov Date: Mon, 30 Sep 2019 20:19:19 +0300 Subject: [PATCH 21/23] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B4=D0=BE=D1=81=D1=82=D1=83=D0=BF=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20usr/bin=20(=D0=B8=D0=BD=D0=B0=D1=87=D0=B5?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80=D0=B0=D1=82=20usr/local/bin)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...37\320\260\320\272\320\265\321\202\320\260.os" | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index 115ec6d..d0944e5 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -271,7 +271,7 @@ ФС.ОбеспечитьКаталог(КаталогУстановкиСкриптовЗапускаПриложений); КаталогУстановкиСкриптовЗапускаПриложений = Новый Файл(КаталогУстановкиСкриптовЗапускаПриложений).ПолноеИмя; ИначеЕсли мРежимУстановкиПакетов = РежимУстановкиПакетов.Глобально Тогда - КаталогУстановкиСкриптовЗапускаПриложений = ?(ЭтоWindows, КаталогПрограммы(), "/usr/bin"); + КаталогУстановкиСкриптовЗапускаПриложений = ?(ЭтоWindows, КаталогПрограммы(), ВыбратьКаталогДляLinuxИлиMacOs()); Если НЕ ПустаяСтрока(ПолучитьПеременнуюСреды("OSCRIPTBIN")) Тогда КаталогУстановкиСкриптовЗапускаПриложений = ПолучитьПеременнуюСреды("OSCRIPTBIN"); КонецЕсли; @@ -285,6 +285,19 @@ КонецПроцедуры +Функция ВыбратьКаталогДляLinuxИлиMacOs() + + ТекстовыйДокумент = Новый ТекстовыйДокумент(); + Попытка + ТекстовыйДокумент.Записать("/usr/bin/anus.txt"); + УдалитьФайлы("/usr/bin/anus.txt"); + Возврат "/usr/bin"; + Исключение + Возврат "/usr/local/bin"; + КонецПопытки; + +КонецФункции + Процедура СоздатьСкриптЗапуска(Знач ИмяСкриптаЗапуска, Знач ПутьФайлаПриложения, Знач Каталог) Экспорт Если ЭтоWindows Тогда From 71511110056eba7a40a74514f4c64ed8aa3499ba Mon Sep 17 00:00:00 2001 From: Karim Shakirov Date: Mon, 30 Sep 2019 21:19:07 +0300 Subject: [PATCH 22/23] =?UTF-8?q?=D1=86=D0=B5=D0=BD=D0=B7=D1=83=D1=80?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\260\320\237\320\260\320\272\320\265\321\202\320\260.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" index d0944e5..f4da861 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\237\320\260\320\272\320\265\321\202\320\260.os" @@ -289,8 +289,8 @@ ТекстовыйДокумент = Новый ТекстовыйДокумент(); Попытка - ТекстовыйДокумент.Записать("/usr/bin/anus.txt"); - УдалитьФайлы("/usr/bin/anus.txt"); + ТекстовыйДокумент.Записать("/usr/bin/opm-check-temp.txt"); + УдалитьФайлы("/usr/bin/opm-check-temp.txt"); Возврат "/usr/bin"; Исключение Возврат "/usr/local/bin"; From 71200f4935d9058eada70d9efb79a6ac7755a9ab Mon Sep 17 00:00:00 2001 From: Nikita Gryzlov Date: Wed, 23 Oct 2019 19:55:20 +0300 Subject: [PATCH 23/23] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...275\321\201\321\202\320\260\320\275\321\202\321\213Opm.os" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213Opm.os" "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213Opm.os" index cc81252..2af3872 100644 --- "a/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213Opm.os" +++ "b/src/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\232\320\276\320\275\321\201\321\202\320\260\320\275\321\202\321\213Opm.os" @@ -24,5 +24,5 @@ ПутьВЗапасномХранилище = "/download/"; ЛокальныйКаталогУстановкиПакетов = "oscript_modules"; ИмяЛога = "oscript.app.opm"; -ВерсияПродукта = "0.15.3"; -ИмяФайлаНастроек = "opm.cfg"; \ No newline at end of file +ВерсияПродукта = "0.16.0"; +ИмяФайлаНастроек = "opm.cfg";