diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\224\320\270\321\201\320\277\320\265\321\202\321\207\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\224\320\270\321\201\320\277\320\265\321\202\321\207\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" index 38eab66..ed6ce33 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\224\320\270\321\201\320\277\320\265\321\202\321\207\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\224\320\270\321\201\320\277\320\265\321\202\321\207\320\265\321\200\320\232\320\276\320\274\320\260\320\275\320\264\320\237\321\200\320\270\320\273\320\276\320\266\320\265\320\275\320\270\321\217.os" @@ -49,6 +49,7 @@ Процедура ДобавитьКомандуInstall(Знач Парсер) Команда = Парсер.ОписаниеКоманды("install", "Выполнить установку. Если указано имя пакета, происходит установка из хаба или из файла. В обратном случае устанавливаются зависимости текущего пакета по файлу packagedef."); + Парсер.ДобавитьПараметрФлагКоманды(Команда, "-all", "Установить все пакеты, зарегистрированные в хабе"); Парсер.ДобавитьИменованныйПараметрКоманды(Команда, "-f", "Указать файл из которого нужно установить пакет"); Парсер.ДобавитьПозиционныйПараметрКоманды(Команда, "ИмяПакета", "Имя пакета в хабе. Чтобы установить конкретную версию, используйте ИмяПакета@ВерсияПакета"); Парсер.ДобавитьКоманду(Команда); @@ -126,7 +127,9 @@ Процедура УстановитьПакет(Знач ЗначенияПараметров) Экспорт Установщик = Новый УстановкаПакета; - Если ЗначенияПараметров["-f"] = Неопределено И ЗначенияПараметров["ИмяПакета"] = Неопределено Тогда + Если ЗначенияПараметров["-all"] Тогда + Установщик.УстановитьВсеПакетыИзОблака(); + ИначеЕсли ЗначенияПараметров["-f"] = Неопределено И ЗначенияПараметров["ИмяПакета"] = Неопределено Тогда Установщик.УстановитьПакетыПоОписаниюПакета(); ИначеЕсли ЗначенияПараметров["-f"] <> Неопределено Тогда Установщик.УстановитьПакетИзАрхива(ЗначенияПараметров["-f"]); diff --git "a/src/\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/\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 450a205..f1fd755 100644 --- "a/src/\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/\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" @@ -114,6 +114,16 @@ КонецПроцедуры +Процедура УстановитьВсеПакетыИзОблака() Экспорт + + КэшПакетовХаба = Новый КэшПакетовХаба(); + ПакетыХаба = КэшПакетовХаба.ПолучитьПакетыХаба(); + Для Каждого КлючИЗначение Из ПакетыХаба Цикл + УстановитьПакетИзОблака(КлючИЗначение.Ключ); + КонецЦикла; + +КонецПроцедуры + Процедура ОбновитьПакетИзОблака(Знач ИмяПакета) Экспорт ИмяВерсияПакета = РаботаСВерсиями.РазобратьИмяПакета(ИмяПакета);