2026-04-07 06:39:20 +01:00

17 lines
1.3 KiB
Markdown

# LSN-0039: Jenkins + JaCoCo Integration with Multi-Module Gradle
- **Problem:** O Jenkinsfile estava desatualizado, tentando rodar uma task de cobertura inexistente (`testCodeCoverageReport`) em um subprojeto específico, ignorando a cobertura global e causando falhas no pipeline.
- **Decision:** Alinhar o `Jenkinsfile` com a task de agregação customizada no root project (`jacocoTestReport`), removendo a dependência de subprojetos específicos para métricas globais.
- **Implementation:**
- Atualizado o comando de execução no Jenkins: `./gradlew clean test jacocoTestReport`.
- Ajustado o `recordCoverage` para ler o XML consolidado em `build/reports/jacoco/jacocoTestReport/jacocoTestReport.xml`.
- Ajustado o `publishHTML` para exibir o relatório consolidado em `build/reports/jacoco/jacocoTestReport/html`.
- **Example:**
- Antes: `SRS_APP/build/reports/...` (específico por app).
- Depois: `build/reports/...` (global do projeto).
- **Pitfalls:**
- Ao usar relatórios consolidados no root, deve-se garantir que o Gradle rode a task de agregação *após* os testes de todos os subprojetos.
- O Jenkins precisa de acesso ao workspace root para encontrar esses arquivos; caminhos relativos no `Jenkinsfile` geralmente partem do root do checkout.
- **References:**
- `DSC-0024`, `DEC-0025`, `PLN-0048`.