|
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