Skip to content

Commit 39a7b3a

Browse files
committed
Merge branch 'release/v0.15.2'
2 parents e38219d + 1947399 commit 39a7b3a

File tree

9 files changed

+363
-218
lines changed

9 files changed

+363
-218
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ src/oscript.cfg
88
src/cmd/oscript\.cfg
99
exec.log
1010
test-reports/tests.xml
11+
tests.xml

.vscode/tasks.json

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
// See https://go.microsoft.com/fwlink/?LinkId=733558
3+
// for the documentation about the tasks.json format
4+
"version": "2.0.0",
5+
// "_runner": "terminal",
6+
"windows": {
7+
"command": "cmd",
8+
"args": ["/c", "chcp 65001 && "]
9+
},
10+
"linux": {
11+
"command": "sh",
12+
"args": ["-c"]
13+
},
14+
"type": "shell",
15+
"suppressTaskName": true,
16+
"tasks": [
17+
{
18+
"label": "Full testing",
19+
"args": [
20+
"oscript",
21+
"${workspaceRoot}/tasks/test.os"
22+
],
23+
"group": {
24+
"kind": "build",
25+
"isDefault": true
26+
},
27+
// "presentation": {
28+
// "echo": true,
29+
// "reveal": "always",
30+
// "focus": false,
31+
// "panel": "shared",
32+
// "showReuseMessage": true
33+
// },
34+
"problemMatcher": {
35+
"fileLocation": "absolute",
36+
"pattern": {
37+
"regexp": "{Модуль\\s+(.+)\\s\\/\\s.*:\\s+(\\d+)\\s+\\/\\s+([^{]*)",
38+
"file": 1,
39+
"location": 2,
40+
"message": 3
41+
}
42+
}
43+
}
44+
]
45+
}

packagedef

+46-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,32 @@
11

2+
////////////////////////////////////////////////////////////
3+
// Описание пакета для сборки и установки
4+
// Полную документацию см. на hub.oscript.io/packaging
5+
//
6+
7+
///////////////////////////////////////////////////////////////////
8+
// Процедуры установки пакета с клиентской машины
9+
///////////////////////////////////////////////////////////////////
10+
11+
// Вызывается пакетным менеджером перед установкой пакета на клиентскую машину.
12+
//
13+
// Параметры:
14+
// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.
15+
// ЧтениеZipФайла - ЧтениеZipФайла. Архив пакета.
16+
//
17+
Процедура ПередУстановкой(Знач КаталогУстановкиПакета, Знач ЧтениеZipФайла) Экспорт
18+
19+
КонецПроцедуры
20+
21+
// Вызывается пакетным менеджером после распаковки пакета на клиентскую машину.
22+
//
23+
// Параметры:
24+
// КаталогУстановкиПакета - строка. Путь в который пакетный менеджер устанавливает текущий пакет.
25+
//
26+
Процедура ПриУстановке(Знач КаталогУстановкиПакета, СтандартнаяОбработка) Экспорт
27+
28+
КонецПроцедуры
29+
230
Процедура ПередСборкой(Знач РабочийКаталог) Экспорт
331

432
КаталогМодулей = ОбъединитьПути(РабочийКаталог, "oscript_modules");
@@ -14,37 +42,46 @@
1442

1543
СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты);
1644
ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);
17-
45+
1846
СобираемаяВерсия = Описание.Свойства().Версия;
1947
Если СобираемаяВерсия = "0.14.4" Тогда
2048
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "gitrunner"));
2149
СтрокаЗапуска = "oscript src/cmd/opm.os install -l";
2250
ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);
23-
51+
2452
// Подчищаем за 1bdd
2553
// TODO: сделать зависимости этапа разработки
2654
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "bin"));
2755
УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "1bdd"));
28-
56+
2957
КонецЕсли;
30-
58+
3159
КонецПроцедуры
3260

3361
Процедура ВыполнитьОбязательныйШаг(Знач СтрокаЗапуска, Знач РабочийКаталог)
3462
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог);
3563
Процесс.Запустить();
3664
Процесс.ОжидатьЗавершения();
37-
65+
3866
Если Процесс.КодВозврата <> 0 Тогда
3967
ВызватьИсключение "Ошибка сборки пакета";
4068
КонецЕсли;
4169
КонецПроцедуры
4270

4371
ПутьКСценариюКонстант = ОбъединитьПути(ТекущийСценарий().Каталог, "src/core", "Модули", "КонстантыOpm.os");
44-
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
72+
73+
// специальная заглушка для правильной компиляции packagedef при первых действий при установке пакета,
74+
// когда еще не извлечено никаких файлов пакет
75+
ФайлКонстант = Новый Файл(ПутьКСценариюКонстант);
76+
Если ФайлКонстант.Существует() Тогда
77+
Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант);
78+
ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта;
79+
Иначе
80+
ВерсияПродукта = "1.0.0";
81+
КонецЕсли;
4582

4683
Описание.Имя("opm")
47-
.Версия(Константы_ЛокальнаяВерсия.ВерсияПродукта)
84+
.Версия(ВерсияПродукта)
4885
.ВерсияСреды("1.0.19")
4986
.ЗависитОт("fs", "0.5.0")
5087
.ЗависитОт("asserts", "0.4.0")
@@ -54,9 +91,9 @@
5491
.ЗависитОт("cli", "0.9.10")
5592
.ЗависитОт("tempfiles", "0.2.2")
5693
.ЗависитОт("gitrunner", "1.5.1")
94+
.ВключитьФайл("packagedef")
5795
.ВключитьФайл("src")
5896
.ВключитьФайл("oscript_modules")
59-
.ВключитьФайл("packagedef")
6097
.ОпределяетКласс("КэшУстановленныхПакетов", "src/core/Классы/КэшУстановленныхПакетов.os")
6198
.ОпределяетКласс("МенеджерПолученияПакетов", "src/core/Классы/МенеджерПолученияПакетов.os")
6299
.ОпределяетКласс("МенеджерУстановкиПакетов", "src/core/Классы/МенеджерУстановкиПакетов.os")
@@ -71,4 +108,4 @@
71108
.ОпределяетМодуль("РаботаСОписаниемПакета", "src/core/Модули/РаботаСОписаниемПакета.os")
72109
.ОпределяетМодуль("РаботаСПакетами", "src/core/Модули/РаботаСПакетами.os")
73110
.ОпределяетМодуль("РежимУстановкиПакетов", "src/core/Модули/РежимУстановкиПакетов.os")
74-
.ИсполняемыйФайл("src/cmd/opm.os");
111+
.ИсполняемыйФайл("src/cmd/opm.os");

0 commit comments

Comments
 (0)