diff --git a/.travis.yml b/.travis.yml index 40da411..161695c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,14 +12,16 @@ before_install: - sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF - echo "deb http://download.mono-project.com/repo/ubuntu trusty main" | sudo tee /etc/apt/sources.list.d/mono-official.list - sudo apt-get update - - sudo apt-get install mono-complete mono-devel + - sudo apt-get install mono-complete mono-devel dos2unix - wget -O os.deb http://oscript.io/downloads/night-build/deb - sudo dpkg -i os.deb; sudo apt install -f - oscript install: - sudo opm install -l - - sudo opm install -l 1bdd@1.5.2 + - sudo opm install -l 1bdd + - sudo dos2unix oscript_modules/1bdd/features/lib/step_definitions/ВыполнениеКоманд.os + - sudo patch oscript_modules/1bdd/features/lib/step_definitions/ВыполнениеКоманд.os 1bdd.patch - oscript -make src/cmd/ovm.os ovm.exe - echo -e "#!/bin/sh\nmono ./ovm.exe \"\$@\"" > ~/bin/ovm - chmod +x ~/bin/ovm diff --git a/1bdd.patch b/1bdd.patch new file mode 100644 index 0000000..966b6b6 --- /dev/null +++ b/1bdd.patch @@ -0,0 +1,11 @@ +--- "oscript_modules/1bdd/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.os" 2018-02-12 23:10:32.803504300 +0300 ++++ "oscript_modules/1bdd/features/lib/step_definitions/\320\222\321\213\320\277\320\276\320\273\320\275\320\265\320\275\320\270\320\265\320\232\320\276\320\274\320\260\320\275\320\264.1.os" 2018-02-12 23:40:38.614734300 +0300 +@@ -14,7 +14,7 @@ + ВсеШаги.Добавить("ЯОчищаюПараметрыКомандыВКонтексте"); + ВсеШаги.Добавить("ЯВключаюОтладкуЛогаСИменем"); + ВсеШаги.Добавить("ЯВыключаюОтладкуЛогаСИменем"); +- ВсеШаги.Добавить("ЯВыполняюКоманду"); ++ // ВсеШаги.Добавить("ЯВыполняюКоманду"); + ВсеШаги.Добавить("ВыводКомандыСодержит"); + ВсеШаги.Добавить("КодВозвратаКомандыРавен"); + ВсеШаги.Добавить("ЯВыполняюКомандуCПараметрами"); diff --git "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\272\321\202\320\270\320\262\320\260\321\202\320\276\321\200OneScript.os" "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\272\321\202\320\270\320\262\320\260\321\202\320\276\321\200OneScript.os" index d38fcf7..cba633b 100644 --- "a/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\272\321\202\320\270\320\262\320\260\321\202\320\276\321\200OneScript.os" +++ "b/src/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\272\321\202\320\270\320\262\320\260\321\202\320\276\321\200OneScript.os" @@ -16,9 +16,15 @@ ПутьКОбщемуКаталогуOneScript = ОбъединитьПути(КаталогУстановки, "current"); + НадоВывестиИнформационноеСообщение = НЕ ФС.КаталогСуществует(ПутьКОбщемуКаталогуOneScript); + СоздатьСимЛинкНаКаталог(ПутьКОбщемуКаталогуOneScript, КаталогУстановкиВерсии); ДобавитьКаталогBinВPath(ОбъединитьПути(ПутьКОбщемуКаталогуOneScript, "bin")); + Если НадоВывестиИнформационноеСообщение Тогда + Лог.Предупреждение("ВНИМАНИЕ: Переоткройте терминал после первого использования ovm use."); + КонецЕсли; + Лог.Информация("OneScript %1 активирован", ИспользуемаяВерсия); КонецПроцедуры @@ -149,9 +155,19 @@ Процедура ДобавитьКаталогBinВPath(Знач ПутьККаталогуBin) Лог.Отладка("Добавляю каталог %1 в PATH", ПутьККаталогуBin); - + ПеременнаяPATH = ПолучитьПеременнуюСреды("PATH", РасположениеПеременнойСреды.Пользователь); - Если СтрНайти(ПеременнаяPATH, "%OVM_OSCRIPTBIN%") <> 0 Тогда + Если ЭтоWindows Тогда + ИскомоеЗначение = "%OVM_OSCRIPTBIN%"; + Иначе + ПутьКаталогуHOME = ПолучитьПеременнуюСреды("HOME"); + Если НЕ ПустаяСтрока(ПутьКаталогуHOME) Тогда + ПутьККаталогуBin = СтрЗаменить(ПутьККаталогуBin, ПутьКаталогуHOME, "$HOME"); + КонецЕсли; + ИскомоеЗначение = ПутьККаталогуBin; + КонецЕсли; + + Если СтрНайти(ПеременнаяPATH, ИскомоеЗначение) <> 0 Тогда Лог.Отладка("PATH уже содержит путь к каталогу"); Возврат; КонецЕсли; @@ -162,12 +178,9 @@ УстановитьПеременнуюСреды("PATH", "%OVM_OSCRIPTBIN%;" + ПеременнаяPATH, РасположениеПеременнойСреды.Пользователь); Иначе Лог.Отладка("Добавление каталога в PATH для shell"); - ПутьКаталогуHOME = ПолучитьПеременнуюСреды("HOME"); - ОтносительныйПутьККаталогуBin = ПутьККаталогуBin; - Если НЕ ПустаяСтрока(ПутьКаталогуHOME) Тогда - ОтносительныйПутьККаталогуBin = СтрЗаменить(ПутьККаталогуBin, ПутьКаталогуHOME, "$HOME"); - КонецЕсли; - ТекстФайлаПрофиля = "export PATH=""" + ОтносительныйПутьККаталогуBin + ":$PATH"""; + ТекстФайлаПрофиля = "export PATH=""" + ПутьККаталогуBin + ":$PATH"" + |export OSCRIPTBIN=""" + ПутьККаталогуBin + """"; + ПутьКФайлу = ОбъединитьПути( СистемнаяИнформация.ПолучитьПутьПапки(СпециальнаяПапка.ПрофильПользователя), ".profile" 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\321\211\320\270\320\272OneScript.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\321\211\320\270\320\272OneScript.os" index cc29042..692de06 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\321\211\320\270\320\272OneScript.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\321\211\320\270\320\272OneScript.os" @@ -22,11 +22,16 @@ Лог.Отладка("Каталог установки версии: %1", КаталогУстановкиВерсии); - ФайлУстановщика = СкачатьФайлУстановщика(ВерсияКУстановке); - - УстановитьOneScriptИзZipАрхива(ФайлУстановщика, КаталогУстановкиВерсии); - ДобавитьSHСкриптыПриНеобходимости(КаталогУстановкиВерсии); + Попытка + ФайлУстановщика = СкачатьФайлУстановщика(ВерсияКУстановке); + УстановитьOneScriptИзZipАрхива(ФайлУстановщика, КаталогУстановкиВерсии); + ДобавитьSHСкриптыПриНеобходимости(КаталогУстановкиВерсии); + Исключение + УдалитьФайлы(КаталогУстановкиВерсии); + ВызватьИсключение ОписаниеОшибки(); + КонецПопытки; + Лог.Информация("Установка OneScript %1 завершена", ВерсияКУстановке); Лог.Информация("");