Skip to content

Commit 319e761

Browse files
authored
Merge pull request #46 from oscript-library/develop
Sync
2 parents d2bdbae + 30e89d3 commit 319e761

22 files changed

+863
-387
lines changed

.github/workflows/testing.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Тестирование
2+
3+
on:
4+
push:
5+
pull_request:
6+
workflow_dispatch:
7+
8+
jobs:
9+
test:
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
oscript_version: ['default', 'stable', 'dev']
14+
test_engine: ['1testrunner']
15+
include:
16+
- oscript_version: 'dev'
17+
test_engine: 'oneunit'
18+
19+
uses: autumn-library/workflows/.github/workflows/test.yml@oneunit
20+
with:
21+
oscript_version: ${{ matrix.oscript_version }}
22+
test_engine: ${{ matrix.test_engine }}

features/install-with-alias.feature

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@
1111

1212
Сценарий: Установка версии с алиасом
1313
Допустим Я удаляю каталог "./temp/ovm"
14-
Когда Я выполняю команду "ovm install --name test_stable stable"
14+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install --name test_stable stable"
1515
И я вижу в консоли вывод "Установка OneScript stable завершена"
1616
И я вижу в консоли вывод "ovm use test_stable"
1717

18-
Когда Я выполняю команду "ovm ls"
18+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os ls"
1919
Тогда я вижу в консоли строку подобно "^test_stable -> .*"
2020
И я не вижу в консоли строку подобно "^stable -> .*"
2121

2222
Сценарий: Использование версии
23-
Когда Я выполняю команду "ovm use test_stable"
23+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os use test_stable"
2424
Тогда я вижу в консоли вывод "OneScript test_stable активирован"

features/install-with-clean.feature

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212

1313
Сценарий: Установка движка с сохранением библиотек
1414
Допустим Я удаляю каталог "./temp/ovm"
15-
И Я выполняю команду "ovm install stable"
15+
И Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
1616
И Я создаю каталог "my_lib" в подкаталоге "temp/ovm/stable/lib" рабочего каталога
17-
Когда Я выполняю команду "ovm install stable"
17+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
1818
Тогда В подкаталоге "temp/ovm/stable/lib" рабочего каталога существует каталог "my_lib"
1919

2020
Сценарий: Установка движка с удалением библиотек
2121
Допустим Я удаляю каталог "./temp/ovm"
22-
И Я выполняю команду "ovm install stable"
22+
И Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
2323
И Я создаю каталог "my_lib" в подкаталоге "temp/ovm/stable/lib" рабочего каталога
24-
Когда Я выполняю команду "ovm install --clean stable"
24+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install --clean stable"
2525
Тогда Каталог "./temp/ovm/stable/lib/my_lib" не существует

features/integration.feature

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,53 +10,64 @@
1010
Допустим Я устанавливаю переменной среды "OVM_INSTALL_PATH" значение "./temp/ovm"
1111

1212
Сценарий: Вывод справки
13-
Когда Я выполняю команду "ovm"
13+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os"
1414
Тогда я вижу в консоли вывод "OneScript Version Manager"
1515
И я вижу в консоли вывод "Строка запуска: ovm [ОПЦИИ] КОМАНДА [аргументы...]"
1616

1717
Сценарий: Вывод версии
18-
Когда Я выполняю команду "ovm -v"
18+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os -v"
1919
Тогда я вижу в консоли строку подобно "\d+\.\d+\.\d+"
2020

2121
Сценарий: Установка версии
22-
Когда Я выполняю команду "ovm install stable"
22+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
2323
Тогда я вижу в консоли вывод "Установка OneScript stable..."
2424
И я вижу в консоли вывод "Установка OneScript stable завершена"
2525
И я вижу в консоли вывод "ovm use stable"
2626

27-
Когда Я выполняю команду "ovm ls"
27+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os ls"
2828
Тогда я вижу в консоли строку подобно "stable -> .*"
2929

3030
Сценарий: Использование версии
31-
Допустим Я выполняю команду "ovm install stable"
32-
И Я выполняю команду "ovm use stable"
31+
Допустим Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
32+
И Я выполняю команду "oscript ./src/cmd/ovm.os use stable"
3333
Тогда я вижу в консоли вывод "OneScript stable активирован"
3434

3535
Сценарий: Удаление версии тождественной текущей
36-
Когда Я выполняю команду "ovm install --name latest stable"
36+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install --name latest stable"
3737
Тогда я вижу в консоли вывод "Установка OneScript stable..."
3838
И я вижу в консоли вывод "Установка OneScript stable завершена"
3939
И я вижу в консоли вывод "ovm use latest"
4040

41-
Когда Я выполняю команду "ovm delete latest"
41+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os delete latest"
4242
Тогда Я Показываю вывод команды
4343
И я не вижу в консоли вывод "Версия <latest> не удалена, т.к. является текущей."
4444
И я вижу в консоли вывод "Версия latest удалена"
4545

46-
Сценарий: Проверка использования версии
47-
Когда Я выполняю команду "ovm ls"
46+
Сценарий: Проверка использования версии Linux
47+
Допустим Я пропускаю этот сценарий в Windows
48+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os ls"
4849
И Я Показываю вывод команды
4950
Тогда я вижу в консоли строку подобно "current -> .*"
5051
И Я выполняю команду "which oscript"
5152
И я вижу в консоли строку подобно ".*oscript$"
5253
И Я выполняю команду "which opm"
5354
И я вижу в консоли строку подобно ".*opm$"
5455

56+
Сценарий: Проверка использования версии Windows
57+
Допустим Я пропускаю этот сценарий в Linux
58+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os ls"
59+
И Я Показываю вывод команды
60+
Тогда я вижу в консоли строку подобно "current -> .*"
61+
И Я выполняю команду "where oscript"
62+
И я вижу в консоли строку подобно ".*oscript.exe$"
63+
И Я выполняю команду "where opm"
64+
И я вижу в консоли строку подобно ".*opm.bat$"
65+
5566
Сценарий: Проверка установки x64 и опции --x86
56-
Когда Я выполняю команду "ovm install stable"
67+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install stable"
5768
Тогда я вижу в консоли вывод "Скачиваю установщик версии stable-x64..."
5869
И я вижу в консоли вывод "Установка OneScript stable завершена"
5970

60-
Когда Я выполняю команду "ovm install --x86 stable"
71+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os install --x86 stable"
6172
Тогда я вижу в консоли вывод "Скачиваю установщик версии stable..."
6273
И я вижу в консоли вывод "Установка OneScript stable завершена"

features/list.feature

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
Допустим Я устанавливаю переменной среды "OVM_INSTALL_PATH" значение "./temp/ovm"
1111

1212
Сценарий: Использование версии
13-
Когда Я выполняю команду "ovm ls -r"
13+
Когда Я выполняю команду "oscript ./src/cmd/ovm.os ls -r"
1414
Тогда я вижу в консоли строку подобно "^\d+\.\d+\.\d+\s\(http.*\)"
1515
И я вижу в консоли строку подобно "^dev\s\(http.*\)"
1616
И я вижу в консоли строку подобно "^stable\s\(http.*\)"

packagedef

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
Описание.Имя("ovm")
2-
.Версия("1.6.0")
2+
.Версия("1.6.1")
33
.Автор("Nikita Fedkin")
44
.АдресАвтора("[email protected]")
55
.Описание("OneScript Version Manager")
66
.ВерсияСреды("1.9.2")
7-
.ЗависитОт("json")
8-
.ЗависитОт("1commands", "1.3.2")
7+
.ЗависитОт("1commands", "1.5.0")
98
.ЗависитОт("fluent", "0.6.1")
10-
.ЗависитОт("fs")
11-
.ЗависитОт("tempfiles")
12-
.ЗависитОт("strings")
13-
.ЗависитОт("autumn", "3.2.0")
14-
.ЗависитОт("autumn-logos", "1.1.1")
15-
.ЗависитОт("autumn-cli", "1.0.5")
16-
.ЗависитОт("collectionos", "0.3.0")
17-
.ЗависитОт("cpuinfo", "1.1.0")
18-
.РазработкаЗависитОт("1bdd", "1.13.0")
9+
.ЗависитОт("fs", "1.2.0")
10+
.ЗависитОт("tempfiles", "1.1.1")
11+
.ЗависитОт("strings", "0.5.0")
12+
.ЗависитОт("autumn", "4.3.9")
13+
.ЗависитОт("autumn-logos", "1.2.0")
14+
.ЗависитОт("autumn-cli", "1.1.0")
15+
.ЗависитОт("collectionos", "0.8.1")
16+
.ЗависитОт("cpuinfo", "1.2.0")
17+
.ЗависитОт("annotations", "1.3.0")
18+
.РазработкаЗависитОт("1bdd", "1.15.1")
19+
.РазработкаЗависитОт("moskito", "0.4.1")
1920
.ИсполняемыйФайл("src/cmd/ovm.os", "ovm")
2021
;

src/cmd/ovm.os

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -36,32 +36,4 @@
3636
СоветДругогоМастера.ЗначенияДеталек(НастройкиЛогоса());
3737

3838
Поделка = Новый Поделка(СоветДругогоМастера);
39-
40-
УпакованВИсполняемыйФайл = СтрНайти(ТекущийСценарий().Источник, "oscript://") <> 0;
41-
42-
Если УпакованВИсполняемыйФайл Тогда
43-
Поделка
44-
.ДобавитьЗаготовку(Тип("ИнициализацияИнтефейсаКоманднойСтроки"))
45-
.ДобавитьЗаготовку(Тип("ИнициализацияФабрикиЛогов"));
46-
КонецЕсли;
47-
48-
Поделка
49-
.ДобавитьАннотацию(Тип("АннотацияЛогOVM"))
50-
.ДобавитьЖелудь(Тип("ФайлНастроек"))
51-
.ДобавитьЖелудь(Тип("УстановщикOneScript"))
52-
.ДобавитьЖелудь(Тип("РаскладкаЛогOVM"))
53-
.ДобавитьЖелудь(Тип("ПараметрыOVM"))
54-
.ДобавитьЖелудь(Тип("ПараметрыПриложения"))
55-
.ДобавитьЖелудь(Тип("ДеинсталляторOneScript"))
56-
.ДобавитьЖелудь(Тип("ВерсииOneScript"))
57-
.ДобавитьЖелудь(Тип("АппендерЛогOVM"))
58-
.ДобавитьЖелудь(Тип("АктиваторOneScript"))
59-
.ДобавитьЖелудь(Тип("КомандаConfig"))
60-
.ДобавитьЖелудь(Тип("КомандаInstall"))
61-
.ДобавитьЖелудь(Тип("КомандаList"))
62-
.ДобавитьЖелудь(Тип("КомандаRun"))
63-
.ДобавитьЖелудь(Тип("КомандаUninstall"))
64-
.ДобавитьЖелудь(Тип("КомандаUse"))
65-
.ДобавитьЖелудь(Тип("КомандаWhich"));
66-
6739
Поделка.ЗапуститьПриложение();

src/cmd/Классы/КомандаInstall.os

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
&Пластилин
77
Перем УстановщикOneScript;
88

9-
&Пластилин
10-
Перем ПараметрыOVM;
9+
&Пластилин("ДетекторОкружения")
10+
Перем Окружение;
1111

1212
&КомандаПриложения(Имя = "install i", Описание = "Установить OneScript указанных версий")
1313
Процедура ПриСозданииОбъекта()
@@ -27,7 +27,7 @@
2727
КомандаПриложения.Опция("clean c", Ложь, "Полностью очищать каталог установки (включая установленные библиотеки)")
2828
.ВОкружении("OVM_INSTALL_CLEAN");
2929

30-
Если ПараметрыOVM.Это64БитнаяОперационнаяСистема() Тогда
30+
Если Окружение.ЭтоX64() Тогда
3131
КомандаПриложения.Опция("x86", Ложь, "Устанавливать 32-разрядный дистрибутив OneScript")
3232
.ВОкружении("OVM_INSTALL_X86");
3333
КонецЕсли;
@@ -65,7 +65,7 @@
6565
ВызватьИсключение "Опция <--name> может быть задана только при установке одной версии OneScript";
6666
КонецЕсли;
6767

68-
Если ПараметрыOVM.Это64БитнаяОперационнаяСистема() Тогда
68+
Если Окружение.ЭтоX64() Тогда
6969
ДополнительныеПараметры.ИспользоватьХ64 = НЕ КомандаПриложения.ЗначениеОпции("x86");
7070
Иначе
7171
ДополнительныеПараметры.ИспользоватьХ64 = Ложь;

src/cmd/Классы/КомандаRun.os

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#Использовать "../../core"
22

3-
Перем ЭтоWindows;
4-
53
&Пластилин
64
Перем ПараметрыOVM;
75

@@ -25,6 +23,9 @@
2523
&ВОкружении("OVM_RUN_ARGS")
2624
Перем Аргументы;
2725

26+
&Пластилин("ДетекторОкружения")
27+
Перем Окружение;
28+
2829
&КомандаПриложения(Имя = "run r", Описание = "Запустить исполняемый файл в окружении указанной версии OneScript")
2930
Процедура ПриСозданииОбъекта()
3031
КонецПроцедуры
@@ -37,7 +38,7 @@
3738
КаталогBin = ОбъединитьПути(КаталогУстановкиВерсии, "bin");
3839

3940
ПеременнаяPATH = ПолучитьПеременнуюСреды("PATH");
40-
Если ЭтоWindows Тогда
41+
Если Окружение.ЭтоWindows() Тогда
4142
ПеременнаяPATH = КаталогBin + ";" + ПеременнаяPATH;
4243
Иначе
4344
ПеременнаяPATH = КаталогBin + ":" + ПеременнаяPATH;
@@ -54,6 +55,3 @@
5455
Команда.Исполнить();
5556

5657
КонецПроцедуры
57-
58-
СистемнаяИнформация = Новый СистемнаяИнформация;
59-
ЭтоWindows = Найти(ВРег(СистемнаяИнформация.ВерсияОС), "WINDOWS") > 0;

0 commit comments

Comments
 (0)