1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-05-13 22:16:54 +02:00

Сборка Linux пакетов через cygwin

This commit is contained in:
Anton Titovets 2024-09-20 12:00:30 +03:00
parent 7b6cc58e65
commit 5c69c46f21
2 changed files with 61 additions and 24 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ test.os
/docs/docusaurus/node_modules
full.gif
fakedata.json
/build

View File

@ -5,6 +5,7 @@
Перем ПутьКРепозиторию;
Перем Сервер;
Перем ПутьВыгрузки;
Перем Кугвин;
Процедура НачалоРаботы()
@ -14,9 +15,10 @@
//Локальные данные
Файл1С = """C:\Program Files\1cv8\8.3.18.1208\bin\1cv8.exe""";
ПутьКРепозиторию = "C:\Repos\OPI";
Сервер = "AIONIOTISCORE";
ПутьВыгрузки = "G:\Мой диск\Проекты\ОПИ\Релизы\" + Версия + "\";
ПутьКРепозиторию = "C:\ProgramData\Jenkins\.jenkins\workspace\Main";
Сервер = "AIONIOTISCORE:1742";
ПутьВыгрузки = "C:\ProgramData\Jenkins\.jenkins\workspace\Main\build\" + Версия + "\";
Кугвин = "C:\cygwin64\bin\";
//----------------
МассивЛокализаций = Новый Массив();
@ -36,30 +38,31 @@
СтруктураАнг.Вставить("ПутьCLI" , ПутьКРепозиторию + "\src\en\cli\core\Classes\app.os");
СтруктураАнг.Вставить("ПутьISS" , ПутьКРепозиторию + "\service\iss\en.iss");
СтруктураАнг.Вставить("Префикс" , "en");
МассивЛокализаций.Добавить(СтруктураРус);
МассивЛокализаций.Добавить(СтруктураАнг);
МассивЛокализаций.Добавить(СтруктураАнг);
КаталогВыгрузки = Новый Файл(ПутьВыгрузки);
Если КаталогВыгрузки.Существует() Тогда
Если КаталогВыгрузки.Существует() Тогда
УдалитьФайлы(ПутьВыгрузки);
КонецЕсли;
СоздатьКаталог(ПутьВыгрузки);
Приостановить(2000);
Для Каждого Локализация Из МассивЛокализаций Цикл
СоздатьXML(Локализация);
СоздатьCFE(Локализация);
СоздатьEDT(Локализация);
СоздатьEDT(Локализация);
СоздатьOSPX(Локализация);
СоздатьEXE(Локализация);
СоздатьПакеты(Локализация);
СоздатьУстановщик(Локализация);
КонецЦикла;
//Draft
//Draft
ФайлыРелиза = НайтиФайлы(ПутьВыгрузки, "*", Истина);
@ -67,6 +70,7 @@
ЗапуститьПриложение("""C:\Program Files\GitHub CLI\gh.exe"" release delete-asset draft --yes --repo " + Репозиторий + " """ + ФайлРелиза.Имя + """", , Истина);
ЗапуститьПриложение("""C:\Program Files\GitHub CLI\gh.exe"" release upload draft --repo " + Репозиторий + " """ + ФайлРелиза.ПолноеИмя + """", , Истина);
КонецЦикла;
КонецПроцедуры
@ -75,18 +79,19 @@
База = Данные["База"];
Префикс = Данные["Префикс"];
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
//CFE
ВыгрузкаВФайл = Основа
+ "/DumpCfg """
//CFEawd
ВыгрузкаВФайл = Основа
+ "/DumpCfg """
+ ПутьВыгрузки
+ "OpenIntegrations_"
+ Версия
+ "_"
+ Префикс
+ ".cfe"
+ "_"
+ Префикс
+ ".cfe"
+ """ -Extension OpenIntegrations";
ЗапуститьПриложение(ВыгрузкаВФайл, , Истина);
КонецПроцедуры
@ -94,11 +99,11 @@
Процедура СоздатьXML(Данные)
Префикс = вРег(Данные["Префикс"]);
База = Данные["База"];
База = Данные["База"];
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
// XML
// XML
ПапкаXML = ПутьВыгрузки + "XML_" + Префикс;
КаталогXML = Новый Файл(ПапкаXML);
@ -161,7 +166,7 @@
Процедура СоздатьEXE(Данные)
ПутьCLI = Данные["ПутьCLI"];
Префикс = Данные["Префикс"];
Префикс = Данные["Префикс"];
//EXE
СборкаEXE = "oscript -make """ + ПутьCLI + """ """ + ПутьВыгрузки + "oint.exe""";
@ -169,6 +174,37 @@
КонецПроцедуры
Процедура СоздатьПакеты(Данные)
КаталогОинт = Кугвин + "oint";
ФайлОинт = Новый Файл(КаталогОинт);
Если ФайлОинт.Существует() Тогда
УдалитьФайлы(КаталогОинт);
КонецЕсли;
КопироватьФайл(ПутьВыгрузки + "oint.exe", Кугвин + "oint");
ТекстSh = "--name oint"
+ " --license mit"
+ " --version " + Версия
+ " --architecture all"
+ " --depends mono-complete"
+ " --description ""OInt CLI - приложение для работы с API различных онлайн-сервисов из командной строки"""
+ " --url ""https://openintegrations.dev/"""
+ " --maintainer ""Anton Titovets <bayselonarrend@gmail.com>"""
+ " oint=/usr/bin/oint";
ТекстSh = Новый ТекстовыйДокумент();
ТекстSh.ДобавитьСтроку("fpm -s deb " + ТекстSh);
ТекстSh.ДобавитьСтроку("fpm -s rpm " + ТекстSh);
ТекстSh.Записать(Кугвин + "make.sh");
ЗапуститьПриложение(Кугвин + "bash.exe make.sh & pause");
КонецПроцедуры
Процедура СоздатьУстановщик(Данные)
ПутьISS = Данные["ПутьISS"];
@ -176,7 +212,7 @@
Префикс = Данные["Префикс"];
//Setup
ТекстISS = Новый ТекстовыйДокумент();
ТекстISS.Прочитать(ПутьISS);
@ -200,4 +236,4 @@
КонецПроцедуры
НачалоРаботы();
// НачалоРаботы();