
Piattaforma di qualità del codice e analisi statica con quality gate, scansione multi-linguaggio e regole incentrate sulla sicurezza per rilevare vulnerabilità e problemi di manutenibilità nei flussi di lavoro CI/CD.
SonarQube offre la possibilità non solo di mostrare lo stato di salute di un'applicazione, ma anche di evidenziare i problemi appena introdotti. Con un Quality Gate attivo, puoi raggiungere Clean Code e quindi migliorare sistematicamente la qualità del codice.
Per domande di supporto ("Come faccio?", "Ho ricevuto questo errore, perché?", ...), leggi prima la documentazione e poi vai alla Community di SonarSource. Probabilmente la risposta alla tua domanda è già stata data! 🤓
Tieni presente che questo forum è una community, quindi sono attese le normali cortesie ("Ciao", "Grazie", ...). E se non ricevi una risposta al tuo thread, dovresti aspettare almeno tre giorni prima di rilanciarlo. Non ci sono operatori in attesa. 😄
Se desideri vedere una nuova funzionalità o segnalare un bug, crea un nuovo thread nel nostro forum.
Tieni presente che non stiamo cercando attivamente contributi di funzionalità. La verità è che è estremamente difficile per qualcuno esterno a SonarSource allinearsi alla nostra roadmap e alle nostre aspettative. Pertanto, di solito accettiamo solo piccole modifiche estetiche e correzioni di refusi.
Detto questo, se desideri inviare un contributo di codice, crea una pull request per questo repository. Spiega le tue motivazioni per contribuire con questa modifica: quale problema stai cercando di risolvere, quale miglioramento stai cercando di apportare.
Assicurati di seguire il nostro code style e che tutti i test siano superati (la build Travis viene eseguita per ogni pull request).
Vuoi contribuire ai prodotti SonarSource? Siamo alla ricerca di persone intelligenti, appassionate e competenti per aiutarci a creare soluzioni di qualità del codice di livello mondiale. Dai un'occhiata alle nostre offerte di lavoro qui!
Per compilare i sorgenti localmente, segui queste istruzioni.
-x test al comando gradle (utile se vuoi solo compilare senza eseguire i test)Esegui dalla directory base del progetto:
./gradlew build
Il file di distribuzione zip viene generato in sonar-application/build/distributions/. Decomprimilo e avvia il server eseguendo:
# 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 il progetto non è mai stato compilato, compilalo come al solito (vedi sezione precedente) oppure usa il comando più rapido:
./gradlew ide
Quindi apri il file radice build.gradle come progetto in IntelliJ o Eclipse.
| ./gradlew command | Descrizione |
|---|---|
dependencies | elenca le dipendenze |
spotlessApply | correggi le intestazioni dei sorgenti applicando HEADER |
wrapper --gradle-version 5.2.1 | aggiorna il wrapper |
L'interfaccia utente di SonarQube (o webapp, come la chiamiamo noi) si trova in un altro repository: sonarqube-webapp.
Quando compili il repository sonarqube, la webapp viene scaricata automaticamente da Maven Central come dipendenza; questo ti permette di contribuire facilmente con modifiche al backend senza doverti preoccupare della webapp.
Ma se il tuo contributo contiene anche modifiche alla UI, devi clonare il repository sonarqube-webapp, fare le tue modifiche lì, compilarlo localmente e poi compilare il repository sonarqube usando la variabile d'ambiente WEBAPP_BUILD_PATH per puntare alla tua build personalizzata della UI.
Ecco un esempio di come fare:
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
Puoi anche puntare a una versione specifica della webapp aggiornando la proprietà webappVersion nel file ./gradle.properties e poi compilando normalmente il repository sonarqube.
Storicamente le nostre traduzioni erano memorizzate in sonar-core/src/main/resources/org/sonar/l10n/core.properties, ma questo file è ora deprecato e non viene più aggiornato.
Le traduzioni predefinite (in inglese) sono ora definite nel repository della webapp, qui:
https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
Il formato è cambiato, ma puoi comunque ottenerlo come file .properties eseguendo il seguente 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
Nota che contribuire con estensioni per traduzioni in altre lingue funziona ancora come prima. È cambiata solo la fonte di verità per le traduzioni predefinite.
Copyright (C) SonarSource Sàrl.
Licenziato sotto la GNU Lesser General Public License, Versione 3.0.