|
1 | 1 |
|
| 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 | + |
2 | 30 | Процедура ПередСборкой(Знач РабочийКаталог) Экспорт
|
3 | 31 |
|
4 | 32 | КаталогМодулей = ОбъединитьПути(РабочийКаталог, "oscript_modules");
|
|
14 | 42 |
|
15 | 43 | СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты);
|
16 | 44 | ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);
|
17 |
| - |
| 45 | + |
18 | 46 | СобираемаяВерсия = Описание.Свойства().Версия;
|
19 | 47 | Если СобираемаяВерсия = "0.14.4" Тогда
|
20 | 48 | УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "gitrunner"));
|
21 | 49 | СтрокаЗапуска = "oscript src/cmd/opm.os install -l";
|
22 | 50 | ВыполнитьОбязательныйШаг(СтрокаЗапуска, РабочийКаталог);
|
23 |
| - |
| 51 | + |
24 | 52 | // Подчищаем за 1bdd
|
25 | 53 | // TODO: сделать зависимости этапа разработки
|
26 | 54 | УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "bin"));
|
27 | 55 | УдалитьФайлы(ОбъединитьПути(КаталогМодулей, "1bdd"));
|
28 |
| - |
| 56 | + |
29 | 57 | КонецЕсли;
|
30 |
| - |
| 58 | + |
31 | 59 | КонецПроцедуры
|
32 | 60 |
|
33 | 61 | Процедура ВыполнитьОбязательныйШаг(Знач СтрокаЗапуска, Знач РабочийКаталог)
|
34 | 62 | Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог);
|
35 | 63 | Процесс.Запустить();
|
36 | 64 | Процесс.ОжидатьЗавершения();
|
37 |
| - |
| 65 | + |
38 | 66 | Если Процесс.КодВозврата <> 0 Тогда
|
39 | 67 | ВызватьИсключение "Ошибка сборки пакета";
|
40 | 68 | КонецЕсли;
|
41 | 69 | КонецПроцедуры
|
42 | 70 |
|
43 | 71 | ПутьКСценариюКонстант = ОбъединитьПути(ТекущийСценарий().Каталог, "src/core", "Модули", "КонстантыOpm.os");
|
44 |
| -Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант); |
| 72 | + |
| 73 | +// специальная заглушка для правильной компиляции packagedef при первых действий при установке пакета, |
| 74 | +// когда еще не извлечено никаких файлов пакет |
| 75 | +ФайлКонстант = Новый Файл(ПутьКСценариюКонстант); |
| 76 | +Если ФайлКонстант.Существует() Тогда |
| 77 | + Константы_ЛокальнаяВерсия = ЗагрузитьСценарий(ПутьКСценариюКонстант); |
| 78 | + ВерсияПродукта = Константы_ЛокальнаяВерсия.ВерсияПродукта; |
| 79 | +Иначе |
| 80 | + ВерсияПродукта = "1.0.0"; |
| 81 | +КонецЕсли; |
45 | 82 |
|
46 | 83 | Описание.Имя("opm")
|
47 |
| - .Версия(Константы_ЛокальнаяВерсия.ВерсияПродукта) |
| 84 | + .Версия(ВерсияПродукта) |
48 | 85 | .ВерсияСреды("1.0.19")
|
49 | 86 | .ЗависитОт("fs", "0.5.0")
|
50 | 87 | .ЗависитОт("asserts", "0.4.0")
|
|
54 | 91 | .ЗависитОт("cli", "0.9.10")
|
55 | 92 | .ЗависитОт("tempfiles", "0.2.2")
|
56 | 93 | .ЗависитОт("gitrunner", "1.5.1")
|
| 94 | + .ВключитьФайл("packagedef") |
57 | 95 | .ВключитьФайл("src")
|
58 | 96 | .ВключитьФайл("oscript_modules")
|
59 |
| - .ВключитьФайл("packagedef") |
60 | 97 | .ОпределяетКласс("КэшУстановленныхПакетов", "src/core/Классы/КэшУстановленныхПакетов.os")
|
61 | 98 | .ОпределяетКласс("МенеджерПолученияПакетов", "src/core/Классы/МенеджерПолученияПакетов.os")
|
62 | 99 | .ОпределяетКласс("МенеджерУстановкиПакетов", "src/core/Классы/МенеджерУстановкиПакетов.os")
|
|
71 | 108 | .ОпределяетМодуль("РаботаСОписаниемПакета", "src/core/Модули/РаботаСОписаниемПакета.os")
|
72 | 109 | .ОпределяетМодуль("РаботаСПакетами", "src/core/Модули/РаботаСПакетами.os")
|
73 | 110 | .ОпределяетМодуль("РежимУстановкиПакетов", "src/core/Модули/РежимУстановкиПакетов.os")
|
74 |
| - .ИсполняемыйФайл("src/cmd/opm.os"); |
| 111 | + .ИсполняемыйФайл("src/cmd/opm.os"); |
0 commit comments