- Notifications
You must be signed in to change notification settings - Fork2.1k
SonarSource/sonarqube
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
SonarQube provides the capability to not only show the health of an application but also to highlight issues newly introduced. With a Quality Gate in place, you canachieve Clean Code and therefore improve code quality systematically.
- Website
- Download
- Documentation
- Webapp source code
- X
- SonarSource, author of SonarQube
- Issue tracking, read-only. Only SonarSourcers can create tickets.
- Responsible Disclosure
- Next instance of the next SonarQube version
For support questions ("How do I?", "I got this error, why?", ...), please first read thedocumentation and then head to theSonarSource Community. The answer to your question has likely already been answered! 🤓
Be aware that this forum is a community, so the standard pleasantries ("Hi", "Thanks", ...) are expected. And if you don't get an answer to your thread, you should sit on your hands for at least three days before bumping it. Operators are not standing by. 😄
If you would like to see a new feature or report a bug, please create a new thread in ourforum.
Please be aware that we are not actively looking for feature contributions. The truth is that it's extremely difficult for someone outside SonarSource to comply with our roadmap and expectations. Therefore, we typically only accept minor cosmetic changes and typo fixes.
With that in mind, if you would like to submit a code contribution, please create a pull request for this repository. Please explain your motives to contribute this change: what problem you are trying to fix, what improvement you are trying to make.
Make sure that you follow ourcode style and all tests are passing (Travis build is executed for each pull request).
Willing to contribute to SonarSource products? We are looking for smart, passionate, and skilled people to help us build world-class code-quality solutions. Have a look at our currentjob offers here!
To build sources locally follow these instructions.
Execute from the project base directory:
./gradlew build
The zip distribution file is generated insonar-application/build/distributions/
. Unzip it and start the server by executing:
# on Linuxbin/linux-x86-64/sonar.sh start# or on MacOSbin/macosx-universal-64/sonar.sh start# or on Windowsbin\windows-x86-64\StartSonar.bat
If the project has never been built, then build it as usual (see previous section) or use the quicker command:
./gradlew ide
Then open the root filebuild.gradle
as a project in IntelliJ or Eclipse.
./gradlew command | Description |
---|---|
dependencies | list dependencies |
licenseFormat --rerun-tasks | fix source headers by applying HEADER.txt |
wrapper --gradle-version 5.2.1 | upgrade wrapper |
The SonarQube UI (or webapp as we call it), is located in another repository:sonarqube-webapp.
When building thesonarqube
repository, the webapp is automatically downloaded from Maven Central as a dependency, it makes it easy for you to contribute backend changes without having to care about the webapp.
But if your contribution also contains UI changes, you must clone thesonarqube-webapp
repository, do your changes there, build it locally and then build thesonarqube
repository using theWEBAPP_BUILD_PATH
environment variable to target your custom build of the UI.
Here is an example of how to do it:
cd /path/to/sonarqube-webapp/server/sonar-web# do your changes# install dependencies, only needed the first timeyarn# build the webappyarn buildcd /path/to/sonarqube# build the sonarqube repository using the custom build of the webappWEBAPP_BUILD_PATH=/path/to/sonarqube-webapp/server/sonar-web/build/webapp ./gradlew build
You can also target a specific version of the webapp by updating thewebappVersion
property in the./gradle.properties
file and then building thesonarqube
repository normally.
Historically our translations were stored insonar-core/src/main/resources/org/sonar/l10n/core.properties
, but this file is now deprecated and not updated anymore.Default translations (in English) are now defined in the webapp repository, here:https://github.com/SonarSource/sonarqube-webapp/blob/master/libs/sq-server-shared/src/l10n/default.ts
The format has changed but you can still have it as a.properties
file format by running the following command:
cd /path/to/sonarqube-webapp/server/sonar-web# install dependencies, only needed the first timeyarn# generate a backward compatible .properties file with all the translation keysyarn generate-translation-keys
Note that contributing extensions for translations into other languages still work the same way as before. It's just the source of truth for the default translations that changed.
Copyright 2008-2025 SonarSource.
Licensed under theGNU Lesser General Public License, Version 3.0
About
Continuous Inspection
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.