Skip to content

Commit 1a0d697

Browse files
authored
Merge pull request #29 from oscript-library/feature/opm-metadata
Feature/opm metadata
2 parents 3597752 + 818afee commit 1a0d697

3 files changed

+33
-4
lines changed

src/Классы/ДиспетчерКомандПриложения.os

+7-2
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
ТихийРежим = ЗначенияПараметров["-q"];
222222

223223
Если ЗначенияПараметров["-remote"] Тогда
224-
ТекстСообщения = СтрШаблон("Пакеты в хабе :");
224+
ТекстСообщения = СтрШаблон("Пакеты в хабе:");
225225
КэшПакетовВХабе = Новый КэшПакетовХаба();
226226
УстановленныеПакеты = КэшПакетовВХабе.ПолучитьПакетыХаба();
227227
Иначе
@@ -238,7 +238,12 @@
238238
КонецЕсли;
239239

240240
Для Каждого УстановленныйПакет Из УстановленныеПакеты Цикл
241-
Сообщить(УстановленныйПакет.Ключ);
241+
СтрокаСообщения = УстановленныйПакет.Ключ;
242+
Если ТипЗнч(УстановленныйПакет.Значение) = Тип("ОписаниеПакета") Тогда
243+
ОписаниеПакета = УстановленныйПакет.Значение;
244+
СтрокаСообщения = СтрокаСообщения + "@" + ОписаниеПакета.Свойства().Версия;
245+
КонецЕсли;
246+
Сообщить(СтрокаСообщения);
242247
КонецЦикла;
243248

244249
КонецПроцедуры

src/Классы/КэшУстановленныхПакетов.os

+17-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,23 @@
4141

4242
Процедура ДобавитьУстановленныйПакет(Знач ФайлКаталога)
4343

44-
// TODO - здесь какое-то мета-описание нужно вместо Истины
45-
УстановленныеПакеты.Вставить(ФайлКаталога.Имя, Истина);
44+
ПутьКФайлуМетаданных = ОбъединитьПути(ФайлКаталога.ПолноеИмя, Константы.ИмяФайлаМетаданныхПакета);
45+
ФайлМетаданных = Новый Файл(ПутьКФайлуМетаданных);
46+
Если ФайлМетаданных.Существует() Тогда
47+
48+
Чтение = Новый ЧтениеXML;
49+
Чтение.ОткрытьФайл(ПутьКФайлуМетаданных);
50+
Лог.Отладка("XML загружен");
51+
Сериализатор = Новый СериализацияМетаданныхПакета;
52+
МетаОписаниеПакета = Сериализатор.ПрочитатьXML(Чтение);
53+
54+
Чтение.Закрыть();
55+
56+
Иначе
57+
МетаОписаниеПакета = Истина;
58+
КонецЕсли;
59+
60+
УстановленныеПакеты.Вставить(ФайлКаталога.Имя, МетаОписаниеПакета);
4661

4762
КонецПроцедуры
4863

src/Классы/УстановкаПакета.os

+9
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
Если СтандартнаяОбработка Тогда
4444
СгенерироватьСкриптыЗапускаПриложенийПриНеобходимости(ПутьУстановки.ПолноеИмя, Метаданные);
4545
КонецЕсли;
46+
СохранитьФайлМетаданныхПакета(ПутьУстановки.ПолноеИмя, ФайлМетаданных);
4647

4748
ЧтениеПакета.Закрыть();
4849

@@ -399,6 +400,14 @@
399400

400401
КонецФункции
401402

403+
Процедура СохранитьФайлМетаданныхПакета(Знач КаталогУстановки, Знач ПутьКФайлуМетаданных)
404+
405+
ПутьСохранения = ОбъединитьПути(КаталогУстановки, Константы.ИмяФайлаМетаданныхПакета);
406+
ДанныеФайла = Новый ДвоичныеДанные(ПутьКФайлуМетаданных);
407+
ДанныеФайла.Записать(ПутьСохранения);
408+
409+
КонецПроцедуры
410+
402411
//////////////////////////////////////////////////////////////////////////////////
403412
//
404413

0 commit comments

Comments
 (0)