# 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`.