forked from vanessa-opensource/ovm
-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathКомандаRun.os
More file actions
65 lines (50 loc) · 3.1 KB
/
Copy pathКомандаRun.os
File metadata and controls
65 lines (50 loc) · 3.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#Использовать "../../core"
&Пластилин
Перем ПараметрыOVM;
&Пластилин
Перем ВерсииOneScript;
&Аргумент(
Имя = "VERSION",
Описание = "Используемое окружение OneScript. Допустимо использовать трехномерные версии (1.0.17, 1.0.18), stable, dev, current"
)
&ПоУмолчанию("current")
&ВОкружении("OVM_RUN_VERSION")
&ПоставщикДополнения("ПолучитьУстановленныеВерсии")
Перем ИспользуемаяВерсия;
&Аргумент(Имя = "APP", Описание = "Используемое приложение. Например, oscript, opm, vrunner...")
&ПоУмолчанию("oscript")
&ВОкружении("OVM_RUN_APP")
Перем Приложение;
&Аргумент(Имя = "ARGS", Описание = "Аргументы, передаваемые приложению")
&ПоУмолчанию("")
&ТМассивСтрок
&Обязательный(Ложь)
&ВОкружении("OVM_RUN_ARGS")
Перем Аргументы;
&Пластилин("ДетекторОкружения")
Перем Окружение;
&КомандаПриложения(Имя = "run r", Описание = "Запустить исполняемый файл в окружении указанной версии OneScript")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
&ВыполнениеКоманды
Процедура ВыполнениеКоманды() Экспорт
КаталогУстановки = ПараметрыOVM.КаталогУстановкиПоУмолчанию();
КаталогУстановкиВерсии = ОбъединитьПути(КаталогУстановки, ИспользуемаяВерсия);
КаталогBin = ОбъединитьПути(КаталогУстановкиВерсии, "bin");
ПеременнаяPATH = ПолучитьПеременнуюСреды("PATH");
Если Окружение.ЭтоWindows() Тогда
ПеременнаяPATH = КаталогBin + ";" + ПеременнаяPATH;
Иначе
ПеременнаяPATH = КаталогBin + ":" + ПеременнаяPATH;
КонецЕсли;
УстановитьПеременнуюСреды("PATH", ПеременнаяPATH, РасположениеПеременнойСреды.Процесс);
Команда = Новый Команда;
Команда.УстановитьИсполнениеЧерезКомандыСистемы(Ложь);
Команда.УстановитьКоманду(Приложение);
Команда.ДобавитьПараметры(Аргументы);
Команда.ПоказыватьВыводНемедленно(Истина);
Команда.Исполнить();
КонецПроцедуры
Функция ПолучитьУстановленныеВерсии() Экспорт
Возврат ВерсииOneScript.ПолучитьСписокАлиасовУстановленныхВерсий();
КонецФункции