diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml new file mode 100644 index 0000000..e375070 --- /dev/null +++ b/.gitea/workflows/release.yaml @@ -0,0 +1,52 @@ +name: Build and Release FLUX Windows +on: + push: + tags: + - 'v*' # Si attiva solo quando crei un tag tipo v1.0.0 + +jobs: + build: + runs-on: windows-native # Richiama esattamente l'etichetta del PC del collega + steps: + - name: Checkout del codice + uses: actions/checkout@v3 + + # 1. Facciamo una build finta. Genererà i symlinks e poi fallirà per il bug, + # ma il 'continue-on-error' dirà a Gitea di ignorare l'errore e andare avanti. + - name: Pre-build per generare l'ambiente (Fallirà apposta) + continue-on-error: true + run: flutter build windows --release + + # 2. Ora la cartella ephemeral esiste! Applichiamo il fix. + - name: Fix bug CMake di pdfx + run: | + $cmakeFile = "windows\flutter\ephemeral\.plugin_symlinks\pdfx\windows\DownloadProject.cmake" + + if (Test-Path $cmakeFile) { + (Get-Content $cmakeFile) -replace 'VERSION 2.8.2', 'VERSION 3.5' | Set-Content $cmakeFile + Write-Host "Il cerotto CMake è stato applicato con successo!" + } else { + Write-Error "File non trovato. La pre-build non ha generato i symlink." + exit 1 + } + + # 3. Ora che il file è corretto, la build vera arriverà fino in fondo + - name: Build Flutter Definitiva + env: + CMAKE_BUILD_PARALLEL_LEVEL: 2 + run: flutter build windows --release + + - name: Compila Installer Inno Setup + run: | + $TagVersion = "${{ gitea.ref_name }}".Substring(1) + "C:\Program Files (x86)\Inno Setup 6\ISCC.exe" /DMyAppVersion=$TagVersion "win_installer.iss" + + # Usa un'action standard per caricare il file su Gitea Releases + - name: Upload Release Asset + uses: https://gitea.com/actions/release-action@main + with: + files: "build/windows/installer/FLUX_Setup_x64.exe" + api_key: ${{ secrets.GITEA_TOKEN }} + - name: Pulisci Workspace + if: always() # Esegue questo step anche se la build fallisce + run: Remove-Item -Recurse -Force ./* \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index f1dbb42..16a53c9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: flux description: "Gestione attività negozio di telefonia" publish_to: 'none' -version: 1.0.1+2 +version: 1.0.6+6 environment: sdk: ^3.11.3 diff --git a/win_installer.iss b/win_installer.iss index 5f627ac..9bf22d5 100644 --- a/win_installer.iss +++ b/win_installer.iss @@ -1,15 +1,15 @@ [Setup] ; Informazioni di base dell'applicazione AppName=Flux -AppVersion=1.0.0 -VersionInfoVersion=1.0.0 +AppVersion={#MyAppVersion} +VersionInfoVersion={#MyAppVersion} AppPublisher=Catelli DefaultDirName={autopf}\Flux ; DefaultGroupName=Programs ; Cartella di output dell'installer e nome del file generato OutputDir=.\build\windows\installer -OutputBaseFilename=FluxInstaller +OutputBaseFilename=FLUX_Setup_v{#MyAppVersion} ; Compressione e impostazioni grafiche Compression=lzma2/max diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 8ffeb44..9801046 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -106,3 +106,6 @@ install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" CONFIGURATIONS Profile;Release COMPONENT Runtime) + + +set(PDFIUM_VERSION "4638" CACHE STRING "") \ No newline at end of file