Continuous Inspection
Go to file
2018-06-12 20:20:58 +02:00
.travis BUILD-478 Set TRAVIS_BUILD_DIR in ramdisk 2017-08-01 13:51:37 +02:00
gradle/wrapper Introduce Bitbucket Cloud Application 2018-05-16 20:20:46 +02:00
plugins SONAR-10809 Analyzers need to declare whether a rule is external 2018-06-01 20:20:47 +02:00
scripts Fix minor safety issues in built-in patches (#3155) 2018-03-15 12:05:01 +01:00
server Add parameter 'l10nCompiled' in start script to force usage of compiled l10n bundle 2018-06-12 20:20:58 +02:00
sonar-application SONAR-10687 Create and upload a zip per edition 2018-06-12 20:20:58 +02:00
sonar-check-api Move To Gradle 2018-03-09 11:33:38 +01:00
sonar-core SONAR-10696 Remove ability to upgrade/downgrade an edition from Marketplace (#269) 2018-06-12 20:20:58 +02:00
sonar-duplications Order list of Gradle dependencies 2018-03-12 09:24:24 +01:00
sonar-home SONAR-10591 drop module sonar-home 2018-05-11 20:20:47 +02:00
sonar-markdown Fix publication 2018-04-04 14:40:50 +02:00
sonar-plugin-api Fix javadoc and quality issue 2018-06-11 20:20:48 +02:00
sonar-plugin-api-deps Make sonar-plugin-api-deps:shadowJar task cacheable 2018-04-11 20:20:48 +02:00
sonar-scanner-engine SONAR-10464 Improve error message when passing a wrong organization during the analysis 2018-06-11 20:20:49 +02:00
sonar-scanner-engine-shaded Move To Gradle 2018-03-09 11:33:38 +01:00
sonar-scanner-protocol Add to scanner report viewer: tab with significant code ranges 2018-05-09 20:20:46 +02:00
sonar-testing-harness Fix publication 2018-04-04 14:40:50 +02:00
sonar-ws SONAR-10713 Badges can only be used on projects, long living branches and applications 2018-05-28 20:20:45 +02:00
sonar-ws-generator SONAR-10713 Badges can only be used on projects, long living branches and applications 2018-05-28 20:20:45 +02:00
tests SONAR-10464 Improve error message when passing a wrong organization during the analysis 2018-06-11 20:20:49 +02:00
.gitignore Fix incremental build of sonar web 2018-03-14 16:18:20 +01:00
.travis.yml Update travis notification for Sonarqube repository 2018-05-30 20:20:47 +02:00
build.gradle SONAR-10687 Create and upload a zip per edition 2018-06-12 20:20:58 +02:00
build.sh Move To Gradle 2018-03-09 11:33:38 +01:00
debug-server.sh SONAR-5709 Add properties sonar.search.javaAdditionalOpts and sonar.web.javaAdditionalOpts 2014-10-08 12:30:07 +02:00
enable-organizations.sh Rename enable_organizations.sh to enable-organizations.sh 2017-02-19 14:22:30 +01:00
gradle.properties Upgrade development version to 7.2-SNAPSHOT 2018-04-10 20:20:55 +02:00
gradlew Move To Gradle 2018-03-09 11:33:38 +01:00
gradlew.bat Move To Gradle 2018-03-09 11:33:38 +01:00
HEADER BUILD-612 Implement the check of source headers 2018-04-04 14:25:32 +02:00
LICENSE.txt Add LICENSE.txt 2016-05-20 13:53:06 +02:00
logs.sh [script] add logs.sh + tail all SQ log files in start.sh 2017-01-03 15:41:42 +01:00
NOTICE.txt Add NOTICE.txt file [ci skip] 2017-01-10 14:57:56 +01:00
PULL_REQUEST_TEMPLATE.md Add template of pull request for contributors 2018-03-10 09:56:11 +01:00
README.md Fix build 2018-04-04 14:39:44 +02:00
run-db-unit-tests.sh Move To Gradle 2018-03-09 11:33:38 +01:00
run-integration-tests.sh Improve logging for ITs 2018-03-13 17:32:52 +01:00
run-perf-tests.sh Improve logging for ITs 2018-03-13 17:32:52 +01:00
run-upgrade-tests.sh Improve logging for ITs 2018-03-13 17:32:52 +01:00
settings.gradle SONAR-10283 Fail fast at startup when a language is missing a default built in quality profile 2018-06-11 20:20:48 +02:00
start.sh [SCRIPTS] add support for patches to start.sh 2015-08-06 14:18:35 +02:00
stop.sh Move To Gradle 2018-03-09 11:33:38 +01:00
travis.sh Introduce Bitbucket Cloud Application 2018-05-16 20:20:46 +02:00

SonarQube Build Status

Continuous Inspection

SonarQube provides the capability to not only show health of an application but also to highlight issues newly introduced. With a Quality Gate in place, you can fix the leak and therefore improve code quality systematically.

Have Question or Feedback?

For support questions ("How do I?", "I got this error, why?", ...), please first read the documentation and then head to Stackoverflow. We actively follow the sonarqube tag there, and there are chances that we have already answered to a question similar to yours.

To provide feedback (request a feature, report a bug etc.) use the SonarQube Google Group. Be aware that this group 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. :-)

Contributing

Pull Request

Please create a new thread in SonarQube Google Group when contributing a new feature. You have to be sure that the feature complies with our roadmap and expectations.

To submit a code contribution, create a pull request for this repository. Please explain your motives to contribute this change (if it's not a new feature): what problem you are trying to fix, what improvement you are trying to make.

Make sure that you follow our code style and all tests are passing (Travis build is executed for each pull request).

Building

To build sources locally follow these instructions.

Build and Run Unit Tests

Execute from project base directory:

./gradlew build

The zip distribution file is generated in sonar-application/build/distributions/. Unzip it and start server by executing:

# 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 

Open in IDE

If the project has never been built, then build it as usual (see previous section) or use the quicker command:

./gradlew ide

Then simply open the root file build.gradle as a project in Intellij or Eclipse.

Run Integration Tests

Integration tests are grouped into categories, listed in tests/build.gradle. A single category should be run at a time, by executing from project base directory:

./gradlew integrationTest -Dcategory=<category>

Example:

./gradlew integrationTest -Dcategory=Category1

Configure Integration Tests

Environment of tests can be configured with command-line properties and file ~/.sonar/orchestrator/orchestrator.properties, if it exists. Here is a template example:

# Token used to download SonarSource private artifacts from https://repox.sonarsource.com,
# required for the category "Plugins".
# Generate your API key at https://repox.sonarsource.com/webapp/#/profile
#orchestrator.artifactory.apiKey=

# Personal access token used to request SonarSource development licenses at https://github.com/sonarsource/licenses,
# required for the category "Plugins". 
# Generate a token from https://github.com/settings/tokens
#github.token=
  
# Browser to be used in Selenium tests. 
# Values are:  
# - "firefox" (default). Supports only versions <= 46
# - "marionette", for versions of Firefox greater than 46
# - "chrome". Requires the Chrome driver to be installed (see https://sites.google.com/a/chromium.org/chromedriver/). 
#             On MacOS, simply run "brew install chromedriver".
#orchestrator.browser=firefox

# Port of SonarQube server, for example 10000. Default value is 0 (random).
#orchestrator.container.port=0

# Maven installation, used by the tests running Scanner for Maven.
# By default Maven binary is searched in $PATH
#maven.home=/usr/local/Cellar/maven/3.5.0/libexec

# Database connection. Embedded H2 is used by default.

# Example for PostgreSQL:
#sonar.jdbc.dialect=postgresql
#sonar.jdbc.url=jdbc:postgresql://localhost:15432/sonar
#sonar.jdbc.rootUsername=postgres
#sonar.jdbc.rootPassword=sonarsource
#sonar.jdbc.rootUrl=jdbc:postgresql://localhost:15432/postgres
#sonar.jdbc.username=sonar
#sonar.jdbc.password=sonar    
#sonar.jdbc.schema=public

# Example for Oracle 12c:
#sonar.jdbc.dialect=oracle
#sonar.jdbc.url=jdbc:oracle:thin:@localhost:1521/ORCL
#sonar.jdbc.rootUrl=jdbc:oracle:thin:@localhost:1521/ORCL
#sonar.jdbc.rootUsername=SYSTEM
#sonar.jdbc.rootPassword=system
#sonar.jdbc.username=sonar
#sonar.jdbc.password=sonar
#sonar.jdbc.driverMavenKey=com.oracle.jdbc:ojdbc8:12.2.0.1.0

# Example for SQLServer
#sonar.jdbc.dialect=mssql
#sonar.jdbc.url=jdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor
#sonar.jdbc.rootUrl=jdbc:jtds:sqlserver://localhost;SelectMethod=Cursor
#sonar.jdbc.rootUsername=admin
#sonar.jdbc.rootPassword=admin
#sonar.jdbc.username=sonar
#sonar.jdbc.password=sonar

The path to a custom configuration file can be provided with command-line property -Dorchestrator.configUrl=file:///path/to/orchestrator.properties or with environment variable ORCHESTRATOR_CONFIG_URL=file:///path/to/orchestrator.properties.

Find available updates of dependencies

Execute from project base directory:

./gradlew dependencyUpdates

Update the files missing the license header

Execute from project base directory:

./gradlew licenseFormat --rerun-tasks

License

Copyright 2008-2018 SonarSource.

Licensed under the GNU Lesser General Public License, Version 3.0