oscript-library / opm

Пакетный менеджер OneScript
Apache License 2.0
66 stars 31 forks source link

Команда Build - Добавить встраивание `oscript_modules` в пакет #129

Open artbear opened 6 years ago

artbear commented 6 years ago

Можно пересобрать пакет с зависимостями по примеру https://github.com/khorevaa/gitsync-plugins/releases там все зависимости упакованы вместе с пакетом в каталог oscript_modules и устанавливаются сначала из него потом уже интернет. Но это возможно столько на версиях opm 0.14+

@artbear Процедура сборки пакета


Процедура ПередСборкой(Знач РабочийКаталог) Экспорт
УдалитьФайлы(ОбъединитьПути(РабочийКаталог, "oscript_modules"), "*.*");

СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоWindows = Найти(НРег(СистемнаяИнформация.ВерсияОС), "windows") > 0;
Если ЭтоWindows Тогда
    ИмяУтилиты = "opm.bat";
Иначе
    ИмяУтилиты = "opm";
КонецЕсли;

СтрокаЗапуска = СтрШаблон("%1 install -l", ИмяУтилиты);
Процесс = СоздатьПроцесс(СтрокаЗапуска, РабочийКаталог);
Процесс.Запустить();
Процесс.ОжидатьЗавершения();

Если Процесс.КодВозврата <> 0 Тогда
    ВызватьИсключение "Ошибка сборки пакета";
КонецЕсли;

КонецПроцедуры


>@artbear @nixel2007 Вообще эту функциональность надо запилить в команду build -) Дойдут руки сделаю
>@khorevaa ну и включить в сборку, верно?
.ВключитьФайл("oscript_modules")

Источник https://gitter.im/EvilBeaver/oscript-library?at=5b616f2695988830b0919e88

@khorevaa @nixel2007 @EvilBeaver 
artbear commented 6 years ago

Пример packagedef c подобным кодом https://github.com/khorevaa/gitsync-plugins/blob/develop/packagedef