Sonar — Execução para múltiplos módulos ou múltiplos subdiretórios


Nesta seção, configuraremos a execução do Sonar para vários diretórios ou subdiretórios em um único projeto.

Para nossos padrões e boas práticas, normalmente o nome do arquivo de configuração do Sonar é sonar-project.properties. Criaremos esse arquivo com as seguintes configurações.

A principal diferença é o atributo sonar.modules. Isso indicará para o Sonar que executaremos mais de um caminho em nosso projeto. Neste exemplo, estamos dividindo o repositório em dois diretórios de execução, app e modssonar.projectKey=<SONAR_KEY>
sonar.projectName=<SONAR_PROJECT>
sonar.verbose=true
sonar.modules=mod,app #Exemplo de módulos

Agora, temos que indicar todos os caminhos para os dois módulos. Considerando que o arquivo de configuração está no caminho raiz e temos dois diretórios para analisar, como:├── path1
│ ├── src
│ └── test
├── path2
│ ├── src
│ └── test
└── sonar-project.properties

A seguinte configuração deve ser comoapp.sonar.projectBaseDir=./path1
app.sonar.test=./src/test/java
app.sonar.sources=./src/main
app.sonar.java.binaries=./sonar_binmod.sonar.projectBaseDir=./path2
mod.sonar.test=./src/test/java
mod.sonar.sources=./src/main
mod.sonar.java.binaries=./sonar_bin

Portanto, quando considerarmos que o módulo app representará ./path path, test, source e java.binaries do app respeitarão a subsequência do diretório.

O que acontece se um dos meus caminhos tiver módulos / diretórios subsequenciais como pequenos projetos?

├── path1
│ ├── src
│ └── test
├── path2
│ ├── auth
│ │ ├── src
│ | └── test
│ ├── service
│ │ ├── src
│ | └── test
└── sonar-project.properties

Nesse caso, podemos apontar cada subdiretório separado por vírgulamod.sonar.projectBaseDir=./path2
mod.sonar.test=./auth/src/test/java,./service/src/test/java
mod.sonar.sources=./auth/src/main,./service/src/main
mod.sonar.java.binaries=./sonar_bin


Tem interesse em aprender mais sobre? Entre em contato conosco ❤️!