
Plataforma de qualidade de código e análise estática com quality gates, varredura multilíngue e regras focadas em segurança para detectar vulnerabilidades e problemas de manutenibilidade em fluxos de trabalho de CI/CD.
O SonarQube fornece a capacidade não apenas de mostrar a saúde de uma aplicação, mas também de destacar problemas recém-introduzidos. Com um Quality Gate em vigor, você pode alcançar Código Limpo e, portanto, melhorar a qualidade do código de forma sistemática.
Para perguntas de suporte ("Como faço?", "Recebi este erro, por quê?", ...), leia primeiro a documentação e depois acesse a Comunidade SonarSource. Provavelmente a resposta para sua pergunta já foi respondida! 🤓
Esteja ciente de que este fórum é uma comunidade, portanto, as cortesias padrão ("Olá", "Obrigado", ...) são esperadas. E se você não obtiver uma resposta no seu tópico, espere pelo menos três dias antes de impulsioná-lo. Não há operadores de prontidão. 😄
Se você quiser ver um novo recurso ou relatar um bug, crie um novo tópico em nosso fórum.
Esteja ciente de que não estamos procurando ativamente por contribuições de recursos. A verdade é que é extremamente difícil para alguém fora da SonarSource cumprir nosso roadmap e nossas expectativas. Portanto, normalmente aceitamos apenas pequenas alterações cosméticas e correções de erros de digitação.
Com isso em mente, se você quiser enviar uma contribuição de código, crie um pull request para este repositório. Explique seus motivos para contribuir com esta mudança: qual problema você está tentando resolver, qual melhoria você está tentando fazer.
Certifique-se de seguir nosso estilo de código e de que todos os testes estejam passando (o build do Travis é executado para cada pull request).
Quer contribuir para os produtos da SonarSource? Estamos procurando pessoas inteligentes, apaixonadas e qualificadas para nos ajudar a construir soluções de qualidade de código de classe mundial. Dê uma olhada em nossas ofertas de emprego atuais aqui!
Para compilar os fontes localmente, siga estas instruções.
-x test ao comando gradle (útil se você quiser apenas compilar sem executar os testes)Execute a partir do diretório base do projeto:
./gradlew build
O arquivo de distribuição zip é gerado em sonar-application/build/distributions/. Descompacte-o e inicie o servidor executando:
# on Linux
bin/linux-x86-64/sonar.sh start
# or on MacOS
bin/macosx-universal-64/sonar.sh start
# or on Windows
bin\windows-x86-64\StartSonar.bat
Se o projeto nunca foi compilado, compile-o normalmente (veja a seção anterior) ou use o comando mais rápido:
./gradlew ide
Em seguida, abra o arquivo raiz build.gradle como um projeto no IntelliJ ou no Eclipse.
| ./gradlew command | Description |
|---|---|
dependencies | listar dependências |
spotlessApply | corrige cabeçalhos de fonte ao aplicar HEADER |
wrapper --gradle-version 5.2.1 | atualiza o wrapper |
A UI do SonarQube (ou webapp, como a chamamos) está localizada em outro repositório: sonarqube-webapp.
Ao compilar o repositório sonarqube, o webapp é baixado automaticamente do Maven Central como uma dependência, o que facilita a contribuição com alterações de backend sem precisar se preocupar com o webapp.
Mas, se sua contribuição também contiver alterações de UI, você deve clonar o repositório sonarqube-webapp, fazer suas alterações nele, compilá-lo localmente e então compilar o repositório sonarqube usando a variável de ambiente WEBAPP_BUILD_PATH para apontar para seu build personalizado da UI.
Aqui está um exemplo de como fazer isso:
cd /path/to/sonarqube-webapp/server/sonar-web
# do your changes
# install dependencies, only needed the first time
yarn
# build the webapp
yarn build
cd /path/to/sonarqube
# build the sonarqube repository using the custom build of the webapp
WEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
Você também pode apontar para uma versão específica do webapp atualizando a propriedade webappVersion no arquivo ./gradle.properties e depois compilando o repositório sonarqube normalmente.
Historicamente, nossas traduções eram armazenadas em sonar-core/src/main/resources/org/sonar/l10n/core.properties, mas esse arquivo agora está obsoleto e não é mais atualizado.
As traduções padrão (em inglês) agora são definidas no repositório do webapp, aqui:
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
O formato mudou, mas você ainda pode tê-lo no formato de arquivo .properties executando o seguinte comando:
cd /path/to/sonarqube-webapp/server/sonar-web
# install dependencies, only needed the first time
yarn
# generate a backward compatible .properties file with all the translation keys
yarn generate-translation-keys
Observe que as contribuições de extensões para traduções em outros idiomas continuam funcionando da mesma forma de antes. Apenas a fonte de verdade das traduções padrão mudou.
Copyright (C) SonarSource Sàrl.
Licenciado sob a GNU Lesser General Public License, Versão 3.0