diff --git a/.gitignore b/.gitignore index 100d358..5bda540 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ exec.log bdd-log.xml *.ospx coverage/ +oscript_modules/ diff --git a/packagedef b/packagedef index 0c1a856..c8ae4e5 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,6 @@  Описание.Имя("1commands") - .Версия("1.3.3") + .Версия("1.3.4") .ВерсияСреды("1.0.17") .ЗависитОт("logos") .ЗависитОт("asserts") diff --git "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" index 8c29b52..ae65d8d 100644 --- "a/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" +++ "b/src/\320\232\320\276\320\274\320\260\320\275\320\264\320\260.os" @@ -314,7 +314,28 @@ Исключение Инфо = ИнформацияОбОшибке(); - ВызватьИсключение Инфо.ПодробноеОписаниеОшибки(); + + // TODO код проверки на регулярку (ниже) убрать после выпуска релиза OneScript 1.0.21 + РегуляркаОшибкиПеременныхСреды = Новый РегулярноеВыражение("\(System\.ArgumentException\):[^:]+:.*HOME[^:]+:.*home"); + Если РегуляркаОшибкиПеременныхСреды.Совпадает(Инфо.Описание) Тогда + Лог.Предупреждение("Возникла ошибка, связанная с переменными среды при старте нового процесса + |В связи с багом в движке OneScript до версии 1.0.21 + |%1 + | + |Выполняю старт процесса без указания переменных среды.", Инфо.Описание); + + Лог.Отладка("Полное описание ошибки: + |%1", Инфо.ПодробноеОписаниеОшибки()); + + Если КодировкаВывода = Неопределено Тогда + Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки); + Иначе + Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог, ПерехватыватьПотоки, ПерехватыватьПотоки, КодировкаВывода); + КонецЕсли; + Иначе + ВызватьИсключение Инфо.ПодробноеОписаниеОшибки(); + КонецЕсли; + КонецПопытки; Процесс.Запустить();