1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-01-12 04:34:10 +02:00
This commit is contained in:
Anton 2024-05-13 13:50:20 +03:00
parent 339969132e
commit b7c05071e9
5 changed files with 129 additions and 18 deletions

71
.github/workflows/main.iss vendored Normal file
View File

@ -0,0 +1,71 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "OInt"
#define MyAppVersion "1.9.0"
#define MyAppPublisher "bayselonarrend"
#define MyAppURL "https://github.com/Bayselonarrend/OpenIntegrations"
#define MyAppExeName "oint.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{E1D44D44-2C84-4112-80AA-2DC406D85A11}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=C:\Repos\OPI\LICENSE
OutputDir="G:\Мой диск\Проекты\ОПИ\Релизы\{#MyAppVersion}"
; Uncomment the following line to run in non administrative install mode (install for current user only.)
;PrivilegesRequired=lowest
Compression=lzma
SolidCompression=yes
WizardStyle=modern
OutputBaseFilename=oint_{#MyAppVersion}_installer
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "G:\Мой диск\Проекты\ОПИ\Релизы\{#MyAppVersion}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
[Run]
Filename: "{cmd}"; Parameters: "/k ""cd ""{app}"" && {#MyAppExeName}"""; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; \
ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}"; \
Check: NeedsAddPath('{app}')
[Code]
function NeedsAddPath(Param: string): boolean;
var
OrigPath: string;
begin
if not RegQueryStringValue(HKEY_LOCAL_MACHINE,
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
'Path', OrigPath)
then begin
Result := True;
exit;
end;
{ look for the path with leading and trailing semicolon }
{ Pos() returns 0 if not found }
Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0;
end;

View File

@ -297,11 +297,6 @@
Процедура СообщитьЗаписьВДрафт()
ТекущийФайл.ДобавитьСтроку("
| - name: Добавить EXE
| env:
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
| run: gh release upload draft ./cli/oint.exe
|
| - name: Добавить DEB
| env:
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@ -310,7 +305,7 @@
| - name: Добавить RPM
| env:
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
| run: gh release upload draft ./*.rpm");
| run: gh release upload draft ./*.rpm !./*-debuginfo-*.rpm");
КонецПроцедуры

View File

@ -1,20 +1,29 @@
Файл1С = """C:\Program Files\1cv8\8.3.18.1208\bin\1cv8.exe""";
Режим = "CONFIG";
Сервер = "AIONIOTISCORE";
База = "OpenIntegrations";
ПутьВыгрузки = "G:\Мой диск\Проекты\ОПИ\Релизы\";
Репозиторий = "https://github.com/Bayselonarrend/OpenIntegrations";
Версия = "1.9.0";
ПутьКEDT = "C:\Repos\OPI\OPI";
ПутьOS = "C:\Repos\OPI\OInt";
Режим = "CONFIG";
ПутьВыгрузки = ПутьВыгрузки + Версия + "\";
//Локальные данные
Файл1С = """C:\Program Files\1cv8\8.3.18.1208\bin\1cv8.exe""";
ПутьКРепозиторию = "C:\Repos\OPI";
Сервер = "AIONIOTISCORE";
База = "OpenIntegrations";
ПутьВыгрузки = "G:\Мой диск\Проекты\ОПИ\Релизы\" + Версия + "\";
//----------------
ПутьКEDT = ПутьКРепозиторию + "\OPI";
ПутьOS = ПутьКРепозиторию + "\OInt";
ПутьCLI = ПутьКРепозиторию + "\cli\core\Classes\Приложение.os";
ПутьISS = ПутьКРепозиторию + "\.github\workflows\main.iss";
КаталогВыгрузки = Новый Файл(ПутьВыгрузки);
Если Не КаталогВыгрузки.Существует() Тогда
СоздатьКаталог(ПутьВыгрузки);
Если КаталогВыгрузки.Существует() Тогда
УдалитьФайлы(ПутьВыгрузки);
КонецЕсли;
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
СоздатьКаталог(ПутьВыгрузки);
Приостановить(1000);
Основа = Файл1С + " " + Режим + " /S " + Сервер + "\" + База + " ";
//CFE
ВыгрузкаВФайл = Основа + "/DumpCfg """ + ПутьВыгрузки + "OpenIntegrations_" + Версия + ".cfe" + """ -Extension OpenIntegrations";
@ -40,6 +49,8 @@ ZipXML.Записать();
ПутьZIP = ПутьВыгрузки + "EDT.zip";
ZipEDT = Новый ЗаписьZipФайла(ПутьZIP);
УдалитьФайлы(ПапкаXML);
//EDT
ZipEDT.Добавить(ПутьКEDT + "\*.*" , РежимСохраненияПутейZIP.СохранятьОтносительныеПути, РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
ZipEDT.Записать();
@ -49,3 +60,35 @@ ZipEDT.Записать();
ЗапуститьПриложение(СборкаOS, , Истина);
ПереместитьФайл("C:\oint-" + Версия + ".ospx", ПутьВыгрузки + "oint-" + Версия + ".ospx");
//EXE
СборкаEXE = "oscript -make """ + ПутьCLI + """ """ + ПутьВыгрузки + "oint.exe""";
ЗапуститьПриложение(СборкаEXE, , Истина);
//Setup
ТекстISS = Новый ТекстовыйДокумент();
ТекстISS.Прочитать(ПутьISS);
Для Н = 1 По ТекстISS.КоличествоСтрок() Цикл
ТекущаяСтрока = СокрЛП(ТекстISS.ПолучитьСтроку(Н));
Если СтрНайти(ТекущаяСтрока, "#define MyAppVersion") Тогда
ТекстISS.ЗаменитьСтроку(Н, "#define MyAppVersion """ + Версия + """");
Прервать;
КонецЕсли;
КонецЦикла;
ТекстISS.Записать(ПутьISS);
СборкаSetup = """C:\Program Files (x86)\Inno Setup 6\Compil32.exe"" /cc """ + ПутьISS + """";
ЗапуститьПриложение(СборкаSetup, , Истина);
//Draft
ФайлыРелиза = НайтиФайлы(ПутьВыгрузки, "*", Истина);
Для Каждого ФайлРелиза Из ФайлыРелиза Цикл
ЗапуститьПриложение("""C:\Program Files\GitHub CLI\gh.exe"" release upload draft --repo " + Репозиторий + " """ + ФайлРелиза.ПолноеИмя + """");
КонецЦикла;

View File

@ -20,7 +20,7 @@
Тестирование = Ложь;
Парсер = Новый ПарсерАргументовКоманднойСтроки();
ОбъектОПИ = Новый СвязьОПИ();
Версия = ОбъектОПИ.ПолучитьВерсию();
Версия = ОбъектОПИ.Версия;
Команды = ОбъектОПИ.СоответствиеКомандМодулей;
ДобавитьКомандуСправки();

View File

@ -2,12 +2,14 @@
Перем СоответствиеТаблицПараметров Экспорт;
Перем СоответствиеКомандМодулей Экспорт;
Перем Версия Экспорт;
Процедура ПриСозданииОбъекта()
СоответствиеТаблицПараметров = Новый Соответствие();
СоответствиеКомандМодулей = Новый Соответствие();
Версия = СоставБиблиотеки.ПолучитьВерсию();
ТаблицаСостава = СоставБиблиотеки.ПолучитьСостав();
СоответствиеКомандМодулей = СоставБиблиотеки.ПолучитьСоответствиеКомандМодулей();