Skip to content

Commit 2baf42a

Browse files
committed
Добавил специальную заглушку для правильной компиляции packagedef при первых действий при установке пакета, когда еще не извлечено никаких файлов пакет
Добавил файл packagedef первым в список включаемых файлов для ускорения поиска Добавил пустые обработчики событий ПередУстановкой ПриУстановке
1 parent 8525c55 commit 2baf42a

File tree

1 file changed

+46
-9
lines changed

1 file changed

+46
-9
lines changed

packagedef

Lines changed: 46 additions & 9 deletions
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)