1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-05-15 22:26:32 +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 /docs/docusaurus/node_modules
full.gif full.gif
fakedata.json 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"""; Файл1С = """C:\Program Files\1cv8\8.3.18.1208\bin\1cv8.exe""";
ПутьКРепозиторию = "C:\Repos\OPI"; ПутьКРепозиторию = "C:\ProgramData\Jenkins\.jenkins\workspace\Main";
Сервер = "AIONIOTISCORE"; Сервер = "AIONIOTISCORE:1742";
ПутьВыгрузки = "G:\Мой диск\Проекты\ОПИ\Релизы\" + Версия + "\"; ПутьВыгрузки = "C:\ProgramData\Jenkins\.jenkins\workspace\Main\build\" + Версия + "\";
Кугвин = "C:\cygwin64\bin\";
//---------------- //----------------
МассивЛокализаций = Новый Массив(); МассивЛокализаций = Новый Массив();
@ -36,30 +38,31 @@
СтруктураАнг.Вставить("ПутьCLI" , ПутьКРепозиторию + "\src\en\cli\core\Classes\app.os"); СтруктураАнг.Вставить("ПутьCLI" , ПутьКРепозиторию + "\src\en\cli\core\Classes\app.os");
СтруктураАнг.Вставить("ПутьISS" , ПутьКРепозиторию + "\service\iss\en.iss"); СтруктураАнг.Вставить("ПутьISS" , ПутьКРепозиторию + "\service\iss\en.iss");
СтруктураАнг.Вставить("Префикс" , "en"); СтруктураАнг.Вставить("Префикс" , "en");
МассивЛокализаций.Добавить(СтруктураРус); МассивЛокализаций.Добавить(СтруктураРус);
МассивЛокализаций.Добавить(СтруктураАнг); МассивЛокализаций.Добавить(СтруктураАнг);
КаталогВыгрузки = Новый Файл(ПутьВыгрузки); КаталогВыгрузки = Новый Файл(ПутьВыгрузки);
Если КаталогВыгрузки.Существует() Тогда Если КаталогВыгрузки.Существует() Тогда
УдалитьФайлы(ПутьВыгрузки); УдалитьФайлы(ПутьВыгрузки);
КонецЕсли; КонецЕсли;
СоздатьКаталог(ПутьВыгрузки); СоздатьКаталог(ПутьВыгрузки);
Приостановить(2000); Приостановить(2000);
Для Каждого Локализация Из МассивЛокализаций Цикл Для Каждого Локализация Из МассивЛокализаций Цикл
СоздатьXML(Локализация); СоздатьXML(Локализация);
СоздатьCFE(Локализация); СоздатьCFE(Локализация);
СоздатьEDT(Локализация); СоздатьEDT(Локализация);
СоздатьOSPX(Локализация); СоздатьOSPX(Локализация);
СоздатьEXE(Локализация); Создать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 delete-asset draft --yes --repo " + Репозиторий + " """ + ФайлРелиза.Имя + """", , Истина);
ЗапуститьПриложение("""C:\Program Files\GitHub CLI\gh.exe"" release upload draft --repo " + Репозиторий + " """ + ФайлРелиза.ПолноеИмя + """", , Истина); ЗапуститьПриложение("""C:\Program Files\GitHub CLI\gh.exe"" release upload draft --repo " + Репозиторий + " """ + ФайлРелиза.ПолноеИмя + """", , Истина);
КонецЦикла; КонецЦикла;
КонецПроцедуры КонецПроцедуры
@ -75,18 +79,19 @@
База = Данные["База"]; База = Данные["База"];
Префикс = Данные["Префикс"]; Префикс = Данные["Префикс"];
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " "; Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
//CFE //CFEawd
ВыгрузкаВФайл = Основа ВыгрузкаВФайл = Основа
+ "/DumpCfg """ + "/DumpCfg """
+ ПутьВыгрузки + ПутьВыгрузки
+ "OpenIntegrations_" + "OpenIntegrations_"
+ Версия + Версия
+ "_" + "_"
+ Префикс + Префикс
+ ".cfe" + ".cfe"
+ """ -Extension OpenIntegrations"; + """ -Extension OpenIntegrations";
ЗапуститьПриложение(ВыгрузкаВФайл, , Истина); ЗапуститьПриложение(ВыгрузкаВФайл, , Истина);
КонецПроцедуры КонецПроцедуры
@ -94,11 +99,11 @@
Процедура СоздатьXML(Данные) Процедура СоздатьXML(Данные)
Префикс = вРег(Данные["Префикс"]); Префикс = вРег(Данные["Префикс"]);
База = Данные["База"]; База = Данные["База"];
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " "; Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
// XML // XML
ПапкаXML = ПутьВыгрузки + "XML_" + Префикс; ПапкаXML = ПутьВыгрузки + "XML_" + Префикс;
КаталогXML = Новый Файл(ПапкаXML); КаталогXML = Новый Файл(ПапкаXML);
@ -161,7 +166,7 @@
Процедура СоздатьEXE(Данные) Процедура СоздатьEXE(Данные)
ПутьCLI = Данные["ПутьCLI"]; ПутьCLI = Данные["ПутьCLI"];
Префикс = Данные["Префикс"]; Префикс = Данные["Префикс"];
//EXE //EXE
СборкаEXE = "oscript -make """ + ПутьCLI + """ """ + ПутьВыгрузки + "oint.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"]; ПутьISS = Данные["ПутьISS"];
@ -176,7 +212,7 @@
Префикс = Данные["Префикс"]; Префикс = Данные["Префикс"];
//Setup //Setup
ТекстISS = Новый ТекстовыйДокумент(); ТекстISS = Новый ТекстовыйДокумент();
ТекстISS.Прочитать(ПутьISS); ТекстISS.Прочитать(ПутьISS);
@ -200,4 +236,4 @@
КонецПроцедуры КонецПроцедуры
НачалоРаботы(); // НачалоРаботы();