Como rodar¶
Status: Aprovado · Responsável: Gustavo Madruga · Atualizado em: 2026-09-21
O que basta para compilar, rodar o gate e subir o cliente na máquina do dev. O mapa dos pacotes está no guia do código; instalar na máquina do cliente é outro documento — instalação e operação.
Pré-requisitos¶
- Um JDK instalado (qualquer razoável — o 21 serve). O wrapper baixa o Gradle e o
resolver de toolchain baixa sozinho o JDK de compilação na primeira build: 1× por
máquina, precisa de internet, fica em
~/.gradle/jdks. - Nada de Docker, banco ou serviço de nuvem. Os testes usam SQLite de verdade em pasta
temporária e um
pAbastfalso (scripts emsrc/test/resources/pabast-fake/) — a suíte exercita a plataforma real, não um mock do SDK. - Para rodar o programa de verdade contra um ERP, aí sim:
zimrtmu.exeinstalado, o.propertiesda instalação e o.pemdo cliente (ver instalação e operação).
Passos¶
./gradlew check --no-daemon --console=plain # gate: compila + checkstyle + testes + cobertura
./gradlew test --tests '*ArquivoEnvioTest' # um teste só, quando estiver iterando
./gradlew shadowJar # fat jar em dist/ (o que se distribui)
O alvo de compilação é Java 8 (bytecode 52) mesmo com o build rodando num JDK moderno —
é o que faz o jar rodar no JRE do ERP. Há um teste que confere isso; se ele ficar vermelho,
alguém mexeu no --release.
Recomendações de ambiente¶
- NetBeans: File → Open Project na pasta do repo (projeto Gradle). A IDE pode estar num JDK diferente do de compilação — o toolchain do Gradle resolve, não force nada.
- Windows é o ambiente do dev; a CI é Linux. Alguns testes de integração usam scripts
.shdopAbastfalso e por isso são pulados no Windows — ochecklocal fica verde sem tê-los executado. Antes de taggar, confirme a run da CI verde (ou rode o gate num container Linux), senão a divergência aparece depois da tag. - Console em UTF-8 ao rodar o programa (
chcp 65001, o que orodar.batjá faz), senão o log acentuado sai torto no Windows. - O log vai para stderr + arquivo (
logs/), nunca para stdout: é o contrato de CLI da casa, e é o que deixa a saída padrão livre.
Subir o programa¶
java -jar dist/integrador-client-<versão>.jar # daemon; lê o .properties ao lado do jar
java -jar dist/integrador-client-<versão>.jar --debug # processamento MANUAL pelo console
java -jar dist/integrador-client-<versão>.jar --version # imprime a versão e sai
No modo --debug nada roda sozinho: o operador processa passo a passo e vê as linhas
fixed-width do envio e do retorno — é o modo de homologar o pAbast com a equipe ZIM.
Rodar contra um ERP de verdade exige o zimrtmu.exe, o .properties da instalação e o
.pem do cliente (instalação e operação).
A suíte ponta a ponta local, com o pAbast falso, está em E2E local.