speech-ai-hexagonal · Fase 2 · SonarQube + JaCoCo + Quality Gates
A Fase 2 adiciona uma camada de maturidade técnica focada em:
Geração automatizada de relatórios de cobertura para garantir validação contínua dos casos de uso e regras de domínio.
Análise estática local para identificação de bugs, vulnerabilidades, code smells e dívida técnica.
Threshold mínimo de cobertura aplicado no build para impedir regressões silenciosas de qualidade.
Execução completa de qualidade diretamente no ambiente do desenvolvedor, antes da CI remota.
| Versão | Item | Status |
|---|---|---|
v2.1.0 |
Infraestrutura Local (Docker Compose) | planejado |
v2.2.0 |
Plugins, Dependências e Task Graph no Gradle | planejado |
v2.3.0 |
Thresholds e Exclusões do JaCoCo | planejado |
v2.4.0 |
Variáveis de Ambiente e Propriedades do Sonar | planejado |
v2.5.0 |
Validação do Pipeline Local | planejado |
Pipeline completa de validação local da qualidade do projeto.
Algumas classes não entram no coverage gate por não possuírem lógica de negócio relevante.
| Pacote/Classe | Motivo |
|---|---|
infrastructure/config |
Configuração Spring |
*Application.java |
Bootstrap do Spring Boot |
dto/ |
Objetos sem regra de negócio |
record |
Estruturas imutáveis sem comportamento |
| Variável | Descrição |
|---|---|
SONAR_HOST_URL |
URL do servidor SonarQube |
SONAR_TOKEN |
Token de autenticação |
SONAR_PROJECT_KEY |
Identificador do projeto |
export SONAR_HOST_URL=http://localhost:9000
export SONAR_TOKEN=local
export SONAR_PROJECT_KEY=speech-ai-hexagonal
Linux exige configuração mínima de memória virtual.
sudo sysctl -w vm.max_map_count=524288
O threshold mínimo não foi atingido. Adicione testes para:
Verifique se o XML do JaCoCo foi gerado corretamente.
./gradlew jacocoTestReport