Separate installers to Full and Iterative

This commit is contained in:
Alex Bezdieniezhnykh
2025-05-07 12:29:43 +03:00
parent f49c4e9d37
commit b937ed8051
11 changed files with 108 additions and 59 deletions
+5 -2
View File
@@ -11,6 +11,9 @@ venv
*.c *.c
*.pyd *.pyd
cython_debug* cython_debug*
dist dist-dlls
AzaionSuiteInstaller.exe dist-azaion
Azaion*.exe
Azaion*.bin
azaion\.*\.big azaion\.*\.big
+4 -1
View File
@@ -146,8 +146,11 @@ public class YoloLabel : Label
return null; return null;
var strings = s.Replace(',', '.').Split(' '); var strings = s.Replace(',', '.').Split(' ');
if (strings.Length != 5) if (strings.Length < 5)
throw new Exception("Wrong labels format!"); throw new Exception("Wrong labels format!");
if (strings.Length > 5)
strings = strings[..5];
var res = new YoloLabel var res = new YoloLabel
{ {
+5 -4
View File
@@ -103,17 +103,18 @@ public partial class DatasetExplorer
.Concat(_annotationConfig.DetectionClasses)); .Concat(_annotationConfig.DetectionClasses));
LvClasses.Init(AllDetectionClasses); LvClasses.Init(AllDetectionClasses);
_dbFactory.Run(async db => _dbFactory.Run(db =>
{ {
var allAnnotations = await db.Annotations var allAnnotations = db.Annotations
.LoadWith(x => x.Detections) .LoadWith(x => x.Detections)
.OrderBy(x => x.AnnotationStatus) .OrderBy(x => x.AnnotationStatus)
.ThenByDescending(x => x.CreatedDate) .ThenByDescending(x => x.CreatedDate)
.ToListAsync(); .ToList();
foreach (var annotation in allAnnotations) foreach (var annotation in allAnnotations)
AddAnnotationToDict(annotation); AddAnnotationToDict(annotation);
}).GetAwaiter().GetResult(); return null!;
});
DataContext = this; DataContext = this;
} }
@@ -1,18 +1,18 @@
echo Build Cython app echo Build Cython app
pushd %~dp0
cd %~dp0
echo remove dist folder: echo remove dist folder:
if exist dist rmdir dist /s /q if exist dist rmdir dist /s /q
if exist build rmdir build /s /q if exist build rmdir build /s /q
echo install python and dependencies echo install python and dependencies
if not exist venv (
python -m venv venv python -m venv venv
)
venv\Scripts\python -m pip install --upgrade pip venv\Scripts\python -m pip install --upgrade pip
venv\Scripts\pip install -r requirements.txt venv\Scripts\pip install -r requirements.txt
venv\Scripts\pip install --upgrade pyinstaller pyinstaller-hooks-contrib venv\Scripts\pip install --upgrade pyinstaller pyinstaller-hooks-contrib
REM Testing autobuild in Jenkins!!!Latest check
venv\Scripts\python setup.py build_ext --inplace venv\Scripts\python setup.py build_ext --inplace
@@ -51,5 +51,13 @@ venv\Scripts\pyinstaller --name=azaion-inference ^
--hidden-import remote_command_handler ^ --hidden-import remote_command_handler ^
start.py start.py
xcopy /E dist\azaion-inference ..\dist\ robocopy "dist\azaion-inference\_internal" "..\dist-azaion\_internal" "ai_config.cp312-win_amd64.pyd" "annotation.cp312-win_amd64.pyd" "api_client.cp312-win_amd64.pyd" /MOV
copy config.production.yaml ..\dist\config.yaml robocopy "dist\azaion-inference\_internal" "..\dist-azaion\_internal" "cdn_manager.cp312-win_amd64.pyd" "constants.cp312-win_amd64.pyd" "credentials.cp312-win_amd64.pyd" /MOV
robocopy "dist\azaion-inference\_internal" "..\dist-azaion\_internal" "file_data.cp312-win_amd64.pyd" "hardware_service.cp312-win_amd64.pyd" "inference.cp312-win_amd64.pyd" "inference_engine.cp312-win_amd64.pyd" /MOV
robocopy "dist\azaion-inference\_internal" "..\dist-azaion\_internal" "main.cp312-win_amd64.pyd" "onnx_engine.cp312-win_amd64.pyd" "remote_command.cp312-win_amd64.pyd" "remote_command_handler.cp312-win_amd64.pyd" /MOV
robocopy "dist\azaion-inference\_internal" "..\dist-azaion\_internal" "security.cp312-win_amd64.pyd" "tensorrt_engine.cp312-win_amd64.pyd" "user.cp312-win_amd64.pyd" /MOV
robocopy "dist\azaion-inference\_internal" "..\dist-dlls\_internal" /E /MOVE
robocopy "dist\azaion-inference" "..\dist-azaion" "azaion-inference.exe" /E /MOVE
popd
+5 -2
View File
@@ -24,14 +24,17 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Azaion.CommonSecurity", "Az
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{CF141A48-8002-4006-81CF-6B85AE5B0B5F}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{CF141A48-8002-4006-81CF-6B85AE5B0B5F}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject
build\publish.cmd = build\publish.cmd
build\requirements.txt = build\requirements.txt build\requirements.txt = build\requirements.txt
build\installer.iss = build\installer.iss
build\cdn_manager.py = build\cdn_manager.py build\cdn_manager.py = build\cdn_manager.py
build\downloader_config.yaml = build\downloader_config.yaml build\downloader_config.yaml = build\downloader_config.yaml
build\build_cdn_manager.cmd = build\build_cdn_manager.cmd build\build_cdn_manager.cmd = build\build_cdn_manager.cmd
build\jenkins\pipeline = build\jenkins\pipeline build\jenkins\pipeline = build\jenkins\pipeline
build\build_dotnet.cmd = build\build_dotnet.cmd build\build_dotnet.cmd = build\build_dotnet.cmd
build\init.cmd = build\init.cmd
build\download_models.cmd = build\download_models.cmd
build\publish.cmd = build\publish.cmd
build\installer.full.iss = build\installer.full.iss
build\installer.iterative.iss = build\installer.iterative.iss
EndProjectSection EndProjectSection
EndProject EndProject
Global Global
+10 -5
View File
@@ -1,6 +1,6 @@
echo Build .net app
pushd %~dp0.. pushd %~dp0..
echo Build .net app
dotnet build -c Release dotnet build -c Release
cd Azaion.Suite cd Azaion.Suite
@@ -10,13 +10,18 @@ call upload-file %cd%\config.system.json
dotnet publish -r win-x64 -p:SatelliteResourceLanguages="en" -p:DebugSymbols=false -p:ForPublish=true --self-contained true dotnet publish -r win-x64 -p:SatelliteResourceLanguages="en" -p:DebugSymbols=false -p:ForPublish=true --self-contained true
cd .. cd ..
rmdir dist /s /q
xcopy Azaion.Suite\bin\Release\net8.0-windows\win-x64\publish dist\ /s /e /q xcopy Azaion.Suite\bin\Release\net8.0-windows\win-x64\publish dist\ /s /e /q
del dist\config.json del dist\config.json
move dist\config.production.json dist\config.json move dist\config.production.json dist\config.json
mkdir dist\dummy mkdir dist-azaion\dummy
move dist\Azaion.Annotator.dll dist\dummy\ robocopy "dist" "dist-azaion\dummy" "Azaion.Annotator.dll" "Azaion.Dataset.dll" /MOV
move dist\Azaion.Dataset.dll dist\dummy\ robocopy "dist" "dist-azaion" "Azaion.Common.dll" "Azaion.CommonSecurity.dll" "Azaion.Suite.deps.json" "Azaion.Suite.dll" "Azaion.Suite.exe" "Azaion.Suite.runtimeconfig.json" "config.json" "logo.png" /MOV
if exist dist\libvlc\win-x86 rmdir dist\libvlc\win-x86 /s /q
robocopy "dist" "dist-dlls" /E /MOVE
echo Copy ico
copy logo.ico dist-azaion\
popd popd
+11
View File
@@ -0,0 +1,11 @@
echo Download onnx model
pushd %~dp0
if not exist cdn_manager.exe (
echo Install cdn_manager
call build_cdn_manager
)
call cdn_manager.exe download models
move models ..\dist-dlls\
popd
+12
View File
@@ -0,0 +1,12 @@
echo Make dirs, copy init dlls
pushd %~dp0..
if exist dist-dlls rmdir dist-dlls /s /q
mkdir dist-dlls
if exist dist-azaion rmdir dist-azaion /s /q
mkdir dist-azaion
echo Copying shared libs
robocopy "C:\\share" "dist-dlls" "*"
popd
+31
View File
@@ -0,0 +1,31 @@
[Setup]
AppId={{CCFEC8E2-0FCC-4B03-8EEA-00AF20D265E5}}
AppName=Azaion Suite
AppVersion=1.4.5
AppPublisher=Azaion Ukraine
DefaultDirName={localappdata}\Azaion\Azaion Suite
DefaultGroupName=Azaion Suite
OutputDir=..\
OutputBaseFilename=AzaionSuite.Full.1.4.5
SetupIconFile=..\dist-azaion\logo.ico
UninstallDisplayName=Azaion Suite
UninstallDisplayIcon={app}\Azaion.Suite.exe
Compression=lzma2/fast
SolidCompression=yes
DiskSpanning=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "..\dist-dlls\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
Source: "..\dist-azaion\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
[Icons]
Name: "{group}\Azaion Suite"; Filename: "{app}\Azaion.Suite.exe"
Name: "{commondesktop}\Azaion Suite"; Filename: "{app}\Azaion.Suite.exe"; Tasks: desktopicon
[UninstallRun]
@@ -6,8 +6,8 @@ AppPublisher=Azaion Ukraine
DefaultDirName={localappdata}\Azaion\Azaion Suite DefaultDirName={localappdata}\Azaion\Azaion Suite
DefaultGroupName=Azaion Suite DefaultGroupName=Azaion Suite
OutputDir=..\ OutputDir=..\
OutputBaseFilename=AzaionSuite1.4.5 OutputBaseFilename=AzaionSuite.Iterative.1.4.5
SetupIconFile=..\dist\logo.ico SetupIconFile=..\dist-azaion\logo.ico
UninstallDisplayName=Azaion Suite UninstallDisplayName=Azaion Suite
UninstallDisplayIcon={app}\Azaion.Suite.exe UninstallDisplayIcon={app}\Azaion.Suite.exe
Compression=lzma2/fast Compression=lzma2/fast
@@ -21,7 +21,7 @@ Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files] [Files]
Source: "..\dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Source: "..\dist-azaion\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs;
[Icons] [Icons]
Name: "{group}\Azaion Suite"; Filename: "{app}\Azaion.Suite.exe" Name: "{group}\Azaion Suite"; Filename: "{app}\Azaion.Suite.exe"
+8 -36
View File
@@ -1,46 +1,18 @@
@echo off @echo off
pushd %~dp0 pushd %~dp0..
call build_dotnet call build\init
call ..\Azaion.Inference\build.cmd call build\build_dotnet
echo Download onnx model call Azaion.Inference\build_inference
cd %~dp0
if not exist cdn_manager.exe (
echo Install cdn_manager
call build_cdn_manager
)
call cdn_manager.exe download models call ..\gps-denied\image-matcher\build_gps
move models ..\dist\
cd..
echo Copy ico call build\download_models
copy logo.ico dist\
echo Copying shared libs
xcopy /E C:\\share\* dist\
set DESTINATION=dist\gps-denied\
if exist %DESTINATION% rmdir /S /Q %DESTINATION%
mkdir %DESTINATION%
echo copy gps denied files
copy ..\gps-denied\image-matcher\release\image-matcher.exe %DESTINATION%
copy ..\gps-denied\.libs\libzmq\build\dist\bin\libzmq-v143-mt-4_3_6.dll %DESTINATION%
copy ..\gps-denied\.libs\onnxruntime\lib\onnxruntime.dll %DESTINATION%
copy ..\gps-denied\.libs\onnxruntime\lib\onnxruntime_providers_cuda.dll %DESTINATION%
copy ..\gps-denied\.libs\onnxruntime\lib\onnxruntime_providers_shared.dll %DESTINATION%
copy ..\gps-denied\.libs\opencv\build\x64\vc16\bin\opencv_world4110.dll %DESTINATION%
mkdir %DESTINATION%\models
copy C:\\share\gps-models\* %DESTINATION%\models
echo building installer... echo building installer...
iscc build\installer.iss iscc build\installer.full.iss
iscc build\installer.iterative.iss
popd popd