diff --git a/features/install-file.feature b/features/install-file.feature index 08301c1..3a891ac 100644 --- a/features/install-file.feature +++ b/features/install-file.feature @@ -6,30 +6,77 @@ Я хочу иметь устанавливать пакет из файла Чтобы иметь возможность проверять локальные версии пакетов - Контекст: Тестовый контекст Допустим Я очищаю параметры команды "opm" в контексте И Я устанавливаю путь выполнения команды "opm" к текущей библиотеке И Я создаю временный каталог и сохраняю его в переменной "КаталогСборкиПакета" И Я создаю временный каталог и сохраняю его в переменной "РабочийКаталог" - И Я выполняю сборку пакета "fixtures/testpackage" в каталог из переменной "КаталогСборкиПакета" - И Я сохраняю файл пакета из каталога "КаталогСборкиПакета" в переменную "ИмяФайлаПакета" Сценарий: Установка пакета из файла в локальный каталог - Допустим Я установил рабочий каталог из переменной "РабочийКаталог" + Дано Я выполняю сборку пакета "fixtures/testpackage" в каталог из переменной "КаталогСборкиПакета" + И Я сохраняю файл пакета из каталога "КаталогСборкиПакета" в переменную "ИмяФайлаПакета" + + Дано Я установил рабочий каталог как текущий каталог + И каталог не существует "oscript_modules" И Я добавляю параметр "install" для команды "opm" И Я добавляю параметр "--local" для команды "opm" И Я добавляю опцию "-f" для команды "opm" из переменной "ИмяФайлаПакета" + Когда Я выполняю команду "opm" - И я вижу в консоли вывод + + Тогда я вижу в консоли вывод | Событие установки - ПередУстановкой - КаталогУстановкиПакета | | Событие установки - ПриУстановке - КаталогУстановкиПакета | | ИНФОРМАЦИЯ - Установка завершена | И Вывод команды "opm" не содержит "Внешнее исключение" И Код возврата команды "opm" равен 0 - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules" - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules/test" - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules/test/opm-metadata.xml" - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules/test/folder" - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules/test/folder/src.os" - И В каталоге из переменной "РабочийКаталог" создается файл или каталог "oscript_modules/test/folder/src.dll" + И каталог существует "oscript_modules" + И каталог существует "oscript_modules/test" + И файл существует "oscript_modules/test/opm-metadata.xml" + И каталог существует "oscript_modules/test/folder" + И файл существует "oscript_modules/test/folder/src.os" + И файл существует "oscript_modules/test/folder/src.dll" + + Когда Я выполняю команду "oscript oscript_modules/test/folder/src.os" + И код возврата равен 0 + +Сценарий: Локальная установка пакета сохраняет существующие oscript.cfg из поставки пакета в каталогах исполняемых файлов + + Дано Я выполняю сборку пакета "fixtures/package-with-dependencies" в каталог из переменной "КаталогСборкиПакета" + И Я сохраняю файл пакета из каталога "КаталогСборкиПакета" в переменную "ИмяФайлаПакета" + + Дано Я установил рабочий каталог как текущий каталог + И каталог не существует "oscript_modules" + + Когда Я добавляю параметр "install" для команды "opm" + И Я добавляю параметр "--local" для команды "opm" + И Я добавляю параметр "--skip-create-app" для команды "opm" + И Я добавляю опцию "-f" для команды "opm" из переменной "ИмяФайлаПакета" + + Когда Я выполняю команду "opm" + Тогда я вижу в консоли вывод + | ИНФОРМАЦИЯ - Установка завершена | + И Вывод команды "opm" не содержит "Внешнее исключение" + И Вывод команды "opm" не содержит "Библиотека не найдена" + И Код возврата команды "opm" равен 0 + И каталог существует "oscript_modules" + И каталог существует "oscript_modules/test" + И файл существует "oscript_modules/test/opm-metadata.xml" + И каталог существует "oscript_modules/test/folder" + И файл существует "oscript_modules/test/folder/src.os" + + # существующий файл не меняется + И файл "oscript_modules/test/folder/oscript.cfg" содержит + """ + lib.system=./oscript_modules + """ + + # файл создан с нуля + И файл "oscript_modules/test/without-cfg/oscript.cfg" содержит + """ + lib.additional=../oscript_modules + """ + + # правильно отработает только скрипт из without-cfg, другой скрипт не запустится из-за неверного oscript.cfg + Когда Я выполняю команду "oscript oscript_modules/test/without-cfg/src.os" + И код возврата равен 0 diff --git a/features/opm-build.feature b/features/opm-build.feature index 47b7fa6..e1ee4fe 100644 --- a/features/opm-build.feature +++ b/features/opm-build.feature @@ -6,7 +6,7 @@ Чтобы гарантировать возможность установку моего продукта у пользователей Контекст: Отключение отладки в логах - Допустим Я выключаю отладку лога с именем "oscript.lib.gitsync" + Дано Я выключаю отладку лога с именем "oscript.app.opm" И Я очищаю параметры команды "opm" в контексте Сценарий: Выполнение команды без параметров diff --git a/features/step_definitions/fixtures/package-with-dependencies/folder/oscript.cfg b/features/step_definitions/fixtures/package-with-dependencies/folder/oscript.cfg new file mode 100644 index 0000000..6c91791 --- /dev/null +++ b/features/step_definitions/fixtures/package-with-dependencies/folder/oscript.cfg @@ -0,0 +1 @@ +lib.system=./oscript_modules diff --git a/features/step_definitions/fixtures/package-with-dependencies/folder/src.os b/features/step_definitions/fixtures/package-with-dependencies/folder/src.os new file mode 100644 index 0000000..f54d776 --- /dev/null +++ b/features/step_definitions/fixtures/package-with-dependencies/folder/src.os @@ -0,0 +1,3 @@ +#Использовать fs + +Сообщить(ФС.ПолныйПуть(".")); diff --git a/features/step_definitions/fixtures/package-with-dependencies/packagedef b/features/step_definitions/fixtures/package-with-dependencies/packagedef new file mode 100644 index 0000000..a5cbee1 --- /dev/null +++ b/features/step_definitions/fixtures/package-with-dependencies/packagedef @@ -0,0 +1,7 @@ +Описание.Имя("test") + .Версия("1.0.0") + .ВключитьФайл("folder") + .ВключитьФайл("without-cfg") + .ИсполняемыйФайл("folder/src.os", "test") + .ИсполняемыйФайл("without-cfg/src.os", "test-without-cfg") + ; diff --git a/features/step_definitions/fixtures/package-with-dependencies/without-cfg/src.os b/features/step_definitions/fixtures/package-with-dependencies/without-cfg/src.os new file mode 100644 index 0000000..f54d776 --- /dev/null +++ b/features/step_definitions/fixtures/package-with-dependencies/without-cfg/src.os @@ -0,0 +1,3 @@ +#Использовать fs + +Сообщить(ФС.ПолныйПуть(".")); diff --git a/features/step_definitions/opm-build.os b/features/step_definitions/opm-build.os deleted file mode 100644 index 6bbcf87..0000000 --- a/features/step_definitions/opm-build.os +++ /dev/null @@ -1,140 +0,0 @@ -// Реализация шагов BDD-фич/сценариев с помощью фреймворка https://github.com/artbear/1bdd -#Использовать tempfiles - -Перем БДД; //контекст фреймворка 1bdd - -// Метод выдает список шагов, реализованных в данном файле-шагов -Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт - БДД = КонтекстФреймворкаBDD; - - ВсеШаги = Новый Массив; - - ВсеШаги.Добавить("ЯСобираюПакетВоВременномКаталоге"); - ВсеШаги.Добавить("ЯУстанавливаюПакетИзФайлаСобранногоПакета"); - ВсеШаги.Добавить("ЯВыполняюКомандуПолученияВерсииУстановленногоПакета"); - ВсеШаги.Добавить("ВерсияУстановленногоПакетаРавнаВерсииПакетаИзКонтекста"); - - Возврат ВсеШаги; -КонецФункции - -// Реализация шагов - -// Процедура выполняется перед запуском каждого сценария -Процедура ПередЗапускомСценария(Знач Узел) Экспорт - -КонецПроцедуры - -// Процедура выполняется после завершения каждого сценария -Процедура ПослеЗапускаСценария(Знач Узел) Экспорт - -КонецПроцедуры - -//Я собираю пакет во временном каталоге -Процедура ЯСобираюПакетВоВременномКаталоге() Экспорт - ПутьВременногоКаталога = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); - СтрокаЗапуска = СтрШаблон("oscript %3 build --out %2 %1", ТекущийКаталог(), ПутьВременногоКаталога, ПутьКИсполняемомуФайлу()); - КодВозврата = ВыполнитьКоманду(СтрокаЗапуска); - - Ожидаем.Что(КодВозврата, - "Ожидали, что сборка пакета (opm build) завершится с кодом возврата 0, а получили другое значение"). - Равно(0); -КонецПроцедуры - -//я устанавливаю пакет из файла собранного пакета -Процедура ЯУстанавливаюПакетИзФайлаСобранногоПакета() Экспорт - ЗапоминаюСобранныйФайлПакетаВКонтексте(); - ЗапоминаюВерсиюСобранногоПакетаВКонтексте(); - ФайлСобранногоПакета = БДД.ПолучитьИзКонтекста("ФайлСобранногоПакета"); - ПутьВременногоКаталога = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); - - УстановитьПеременнуюСреды("OSCRIPTBIN", ПутьВременногоКаталога); - - СтрокаЗапуска = СтрШаблон("oscript %2 install -l -f %1", ФайлСобранногоПакета.Имя, ПутьКИсполняемомуФайлу()); - КодВозврата = ВыполнитьКоманду(СтрокаЗапуска); - - Ожидаем.Что(КодВозврата, "ВыполнитьЛокальнуюУстановкуСобранногоПакета КодВозврата").Равно(0); - -КонецПроцедуры - -//я выполняю команду получения версии установленного пакета "oscript src\main.os version" -Процедура ЯВыполняюКомандуПолученияВерсииУстановленногоПакета(Знач СтрокаЗапуска) Экспорт - УстановленнаяВерсияПакета = ""; - КодВозврата = ВыполнитьКоманду(СтрокаЗапуска, УстановленнаяВерсияПакета); - Ожидаем.Что(КодВозврата, "Должны были получить код возврата 0, а это не так").Равно(0); - УстановленнаяВерсияПакета = СокрЛП(УстановленнаяВерсияПакета); - БДД.СохранитьВКонтекст("УстановленнаяВерсияПакета", УстановленнаяВерсияПакета); - -КонецПроцедуры - -//версия установленного пакета равна версии пакета из контекста -Процедура ВерсияУстановленногоПакетаРавнаВерсииПакетаИзКонтекста() Экспорт - УстановленнаяВерсияПакета = БДД.ПолучитьИзКонтекста("УстановленнаяВерсияПакета"); - ВерсияСобранногоПакета = БДД.ПолучитьИзКонтекста("ВерсияСобранногоПакета"); - - ВерсияСобранногоПакета = СокрЛП(ВерсияСобранногоПакета); - - СообщениеОшибки = СтрШаблон("Ожидали, что установленная версия <%1> равна версии из исходников проекта"); - Если УстановленнаяВерсияПакета <> ВерсияСобранногоПакета И - Найти(УстановленнаяВерсияПакета, ВерсияСобранногоПакета) = Неопределено Тогда - - ВызватьИсключение СообщениеОшибки; - - КонецЕсли; - // Ожидаем.Что(УстановленнаяВерсияПакета, СообщениеОшибки).Равно(ВерсияСобранногоПакета); -КонецПроцедуры - -Функция ВыполнитьКоманду(Знач СтрокаКоманды, ТекстВывода = "") - Команда = Новый Команда; - Команда.ПоказыватьВыводНемедленно(Истина); - - Команда.УстановитьСтрокуЗапуска(СтрокаКоманды); - - КодВозврата = Команда.Исполнить(); - ТекстВывода = Команда.ПолучитьВывод(); - - Если КодВозврата <> 0 Тогда - // Лог.Информация(ТекстВывода); - Сообщить(ТекстВывода); - КонецЕсли; - Возврат КодВозврата; -КонецФункции - -//запоминаю собранный файл пакета в контексте -Процедура ЗапоминаюСобранныйФайлПакетаВКонтексте() //Экспорт - ПутьВременногоКаталога = БДД.ПолучитьИзКонтекста("ВременныйКаталог"); - МассивФайлов = НайтиФайлы(ПутьВременногоКаталога, "*.ospx", Ложь); - Ожидаем.Что(МассивФайлов.Количество(), "Должны были найти только 1 собранный пакет, а не несколько").Равно(1); - ФайлПакета = МассивФайлов[0]; - БДД.СохранитьВКонтекст("ФайлСобранногоПакета", ФайлПакета); -КонецПроцедуры - -//я выполняю команду получения версии установленного пакета -Процедура ЗапоминаюВерсиюСобранногоПакетаВКонтексте() //Экспорт - ФайлПакета = БДД.ПолучитьИзКонтекста("ФайлСобранногоПакета"); - РегулярноеВыражение = Новый РегулярноеВыражение("([^-]+-[^-]+|[^-]+)-(\d+\.(\d+\.)*\d+)\.ospx"); - Совпадения = РегулярноеВыражение.НайтиСовпадения(ФайлПакета.Имя); - СообщениеОшибки = СтрШаблон("Должны были файл пакета с правильным форматом имени, а это не так. <%1>", ФайлПакета.Имя); - Ожидаем.Что(Совпадения.Количество(), СообщениеОшибки).Равно(1); - Ожидаем.Что(Совпадения[0].Группы.Количество(), "Количество групп должно быть 1").БольшеИлиРавно(3); - ИмяСобранногоПакета = Совпадения[0].Группы[1].Значение; - ВерсияПакета = Совпадения[0].Группы[2].Значение; - - БДД.СохранитьВКонтекст("ИмяСобранногоПакета", ИмяСобранногоПакета); - БДД.СохранитьВКонтекст("ВерсияСобранногоПакета", ВерсияПакета); -КонецПроцедуры - - -Функция ПутьКИсполняемомуФайлу() - - Возврат ОбъединитьПути(КаталогБиблиотеки(), "src", "cmd", "opm.os"); - -КонецФункции - - -Функция КаталогFixtures() - Возврат ОбъединитьПути(КаталогБиблиотеки(), "tests", "fixtures"); -КонецФункции - -Функция КаталогБиблиотеки() - Возврат ОбъединитьПути(ТекущийСценарий().Каталог, "..", ".."); -КонецФункции 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 bd1019e..e2c3697 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" @@ -7,37 +7,37 @@ Перем ВнутреннийМенеджерПолученияПакетов; Процедура ОбновитьУстановленныеПакеты(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - + КэшУстановленныхПакетов = ПолучитьУстановленныеПакеты(РежимУстановки); УстановленныеПакеты = КэшУстановленныхПакетов.ПолучитьУстановленныеПакеты(); Для Каждого КлючИЗначение Из УстановленныеПакеты Цикл ИмяПакета = КлючИЗначение.Ключ; МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); - + Если Не МенеджерПолучения.ПакетДоступен(ИмяПакета) Тогда Лог.Предупреждение("Ошибка обновления пакета %1: Пакет не найден в хабе", ИмяПакета); Продолжить; КонецЕсли; ОбновитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); - + КонецЦикла; КонецПроцедуры -Функция ПолучитьМенеджерПолученияПакетов() +Функция ПолучитьМенеджерПолученияПакетов() Если ВнутреннийМенеджерПолученияПакетов = Неопределено Тогда ВнутреннийМенеджерПолученияПакетов = Новый МенеджерПолученияПакетов; КонецЕсли; Возврат ВнутреннийМенеджерПолученияПакетов; - + КонецФункции Функция ПолучитьУстановленныеПакеты(РежимУстановки) - + КаталогУстановкиЗависимостей = ПолучитьКаталогСистемныхБиблиотек(); Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда @@ -62,11 +62,11 @@ Настройка.Вставить("ИмяСервера", ""); Возврат Настройка; - + КонецФункции Процедура УстановитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог, Знач НастройкаУстановки = Неопределено) Экспорт - + Лог.Отладка("Устанавливаю пакет <%1> из доступного хаба", ИмяПакета); ИмяВерсияПакета = РаботаСВерсиями.РазобратьИмяПакета(ИмяПакета); ЭтоЗависимость = Ложь; @@ -83,14 +83,14 @@ МенеджерУстановки.СоздаватьФайлыЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); МенеджерУстановки.УстанавливатьЗависимостиРазработчика(НастройкаУстановки.УстанавливатьЗависимостиРазработчика); МенеджерУстановки.УстановитьПакетПоИмениИВерсии(ИмяВерсияПакета.ИмяПакета, ИмяВерсияПакета.Версия, ЭтоЗависимость); - + КонецПроцедуры Процедура УстановитьПакетИзФайла(Знач ИмяФайлаПакета, - Знач РежимУстановки, - Знач ЦелевойКаталог = Неопределено, + Знач РежимУстановки, + Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - + Если НастройкаУстановки = Неопределено Тогда НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; @@ -100,10 +100,10 @@ МенеджерУстановки.УстанавливатьЗависимостиРазработчика(НастройкаУстановки.УстанавливатьЗависимостиРазработчика); МенеджерУстановки.СоздаватьФайлыЗапуска(НастройкаУстановки.СоздаватьФайлыЗапуска); МенеджерУстановки.УстановитьПакетИзАрхива(ИмяФайлаПакета); - + КонецПроцедуры -Процедура УстановитьВсеПакетыИзОблака(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, +Процедура УстановитьВсеПакетыИзОблака(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); @@ -112,21 +112,21 @@ Для Каждого КлючИЗначение Из КешПакетов Цикл УстановитьПакетИзОблака(КлючИЗначение.Ключ, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецЦикла; - + КонецПроцедуры Процедура ОбновитьПакетИзОблака(Знач ИмяПакета, Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - + УстановитьПакетИзОблака(ИмяПакета, РежимУстановки, ЦелевойКаталог, НастройкаУстановки); КонецПроцедуры Процедура УстановитьПакетыПоОписаниюПакета(Знач РежимУстановки, Знач ЦелевойКаталог = Неопределено, Знач НастройкаУстановки = Неопределено) Экспорт - + ОписаниеПакета = РаботаСОписаниемПакета.ПрочитатьОписаниеПакета(); - + РаботаСОписаниемПакета.ПроверитьВерсиюСреды(ОписаниеПакета); - + Если НастройкаУстановки = Неопределено Тогда НастройкаУстановки = ПолучитьНастройкуУстановки(); КонецЕсли; @@ -140,15 +140,15 @@ Если РежимУстановки = РежимУстановкиПакетов.Локально Тогда ОбеспечитьФайлыИнфраструктурыЛокальнойУстановки(ОписаниеПакета, РежимУстановки); КонецЕсли; - + КонецПроцедуры Процедура СоздатьКонфигурационныеФайлыОСкрипт(Знач КаталогУстановки, Знач ОписаниеПакета, Знач РежимУстановки) Экспорт - + Если РежимУстановки <> РежимУстановкиПакетов.Локально Тогда Возврат; КонецЕсли; - + КаталогиИсполняемыхФайлов = ПроцессорыКоллекций.ИзКоллекции(ОписаниеПакета.ИсполняемыеФайлы()) .Обработать("Элемент -> Новый Файл(ОбъединитьПути(КаталогУстановки, Элемент.Путь)).Путь", Новый Структура("КаталогУстановки", КаталогУстановки)) .Различные() @@ -157,7 +157,7 @@ ШаблонТекстаКонфигурационногоФайла = "lib.additional=%1"; Для Каждого КаталогИсполняемогоФайла Из КаталогиИсполняемыхФайлов Цикл - + РазделительПути = "/"; РазницаВКаталогах = ФС.ОтносительныйПуть(КаталогУстановки, КаталогИсполняемогоФайла, РазделительПути); Директории = СтрРазделить(РазницаВКаталогах, РазделительПути); @@ -171,12 +171,18 @@ ТекстКонфигурационногоФайла = СтрШаблон(ШаблонТекстаКонфигурационногоФайла, ПутьКЛокальнымБиблиотекам); ПутьККонфигурационномуФайлу = ОбъединитьПути(КаталогИсполняемогоФайла, "oscript.cfg"); - ТекстовыйДокумент = Новый ТекстовыйДокумент; - ТекстовыйДокумент.УстановитьТекст(ТекстКонфигурационногоФайла); - ТекстовыйДокумент.Записать(ПутьККонфигурационномуФайлу, КодировкаТекста.UTF8NoBOM); + Если Не Новый Файл(ПутьККонфигурационномуФайлу).Существует() Тогда + Лог.Отладка("Создан файл настройки запуска - %1", ПутьККонфигурационномуФайлу); + + ТекстовыйДокумент = Новый ТекстовыйДокумент; + ТекстовыйДокумент.УстановитьТекст(ТекстКонфигурационногоФайла); + ТекстовыйДокумент.Записать(ПутьККонфигурационномуФайлу, КодировкаТекста.UTF8NoBOM); + Иначе + Лог.Отладка("Существующий файл настройки запуска не изменен - %1", ПутьККонфигурационномуФайлу); + КонецЕсли; КонецЦикла; - + КонецПроцедуры Процедура ОбеспечитьФайлыИнфраструктурыЛокальнойУстановки(Знач ОписаниеПакета, Знач РежимУстановки) @@ -193,7 +199,7 @@ Лог.Предупреждение("Не удалось скопировать системный загрузчик в локальный каталог пакетов"); Возврат; КонецЕсли; - + ПутьКНовомуЗагрузчику = ОбъединитьПути(КаталогНазначения, ИмяЗагрузчика); Если ФС.ФайлСуществует(ПутьКНовомуЗагрузчику) Тогда Лог.Отладка("Файл загрузчика уже существует."); @@ -205,7 +211,7 @@ КонецПроцедуры Функция ПолучитьПакет(Знач ИмяПакета, Знач ВерсияПакета, ПутьКФайлуПакета = "", ИмяСервера = "") Экспорт - + МенеджерПолучения = ПолучитьМенеджерПолученияПакетов(); ПутьКФайлуПакета = МенеджерПолучения.ПолучитьПакет(ИмяПакета, ВерсияПакета, ПутьКФайлуПакета, ИмяСервера); @@ -214,15 +220,15 @@ КонецФункции Функция ПолучитьКаталогСистемныхБиблиотек() - + СистемныеБиблиотеки = ОбъединитьПути(КаталогПрограммы(), ПолучитьЗначениеСистемнойНастройки("lib.system")); Лог.Отладка("СистемныеБиблиотеки " + СистемныеБиблиотеки); Если СистемныеБиблиотеки = Неопределено Тогда ВызватьИсключение "Не определен каталог системных библиотек"; КонецЕсли; - + Возврат СистемныеБиблиотеки; - + КонецФункции Лог = Логирование.ПолучитьЛог("oscript.app.opm");