@echo off rem ============================================================================== rem CyberCore Signer — Script de Empacotamento Windows (MSI / EXE) com jpackage rem ============================================================================== echo [1/3] Compilando CyberCore Signer via Maven... call mvnw.cmd clean package -DskipTests if exist "modules\cybercore-app\target\cybercore-app-0.1.0-SNAPSHOT-shaded.jar" ( copy "modules\cybercore-app\target\cybercore-app-0.1.0-SNAPSHOT-shaded.jar" "modules\cybercore-app\target\cybercore-signer.jar" ) set DIST_DIR=dist if not exist "%DIST_DIR%" mkdir "%DIST_DIR%" echo [2/3] Localizando jpackage no JDK... if "%JAVA_HOME%"=="" ( echo ERRO: Variavel JAVA_HOME nao definida. exit /b 1 ) set JPACKAGE="%JAVA_HOME%\bin\jpackage.exe" if not exist %JPACKAGE% ( echo ERRO: jpackage.exe nao encontrado em %JAVA_HOME%\bin. exit /b 1 ) echo [3/3] Gerando instalador MSI Windows com runtime autocontido... %JPACKAGE% ^ --name "CyberCore Signer" ^ --app-version "0.1.0" ^ --input "modules\cybercore-app\target" ^ --main-jar "cybercore-signer.jar" ^ --main-class "br.com.cybercore.signer.app.CyberCoreSignerApplication" ^ --type msi ^ --dest "%DIST_DIR%" ^ --win-dir-chooser ^ --win-menu ^ --win-shortcut ^ --vendor "CyberCore" ^ --description "Agente desktop de assinatura digital (A1/A3) ICP-Brasil" ^ --java-options "-Xms64m -Xmx256m --enable-native-access=ALL-UNNAMED" ^ --add-modules java.base,java.desktop,java.net.http,java.smartcardio,jdk.crypto.cryptoki,jdk.crypto.mscapi,jdk.unsupported echo Concluido! Instalador gerado em %DIST_DIR%