public final class JkSonarqube
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
JkSonarqube.QualityGateResponse |
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
BINARIES |
static java.lang.String |
BRANCH |
static java.lang.String |
CLOVER_REPORTS_PATH |
static java.lang.String |
COVERTURA_REPORTS_PATH |
static java.lang.String |
DEFAULT_SCANNER__VERSION |
static java.lang.String |
DYNAMIC_ANALYSIS |
static java.lang.String |
EXCLUSIONS |
static java.lang.String |
HOST_URL |
static java.lang.String |
JACOCO_LEGACY_REPORTS_PATHS |
static java.lang.String |
JACOCO_XML_REPORTS_PATHS |
static java.lang.String |
JAVA_BINARIES |
static java.lang.String |
JAVA_LIBRARIES |
static java.lang.String |
JAVA_TEST_BINARIES |
static java.lang.String |
JAVA_TEST_LIBRARIES |
static java.lang.String |
JDBC_PASSWORD |
static java.lang.String |
JDBC_URL |
static java.lang.String |
JDBC_USERNAME |
static java.lang.String |
JUNIT_REPORTS_PATH |
static java.lang.String |
LANGUAGE |
static java.lang.String |
LIBRARIES |
static java.lang.String |
PROFILE |
static java.lang.String |
PROJECT_BASE_DIR |
static java.lang.String |
PROJECT_KEY |
static java.lang.String |
PROJECT_NAME |
static java.lang.String |
PROJECT_VERSION |
static java.lang.String |
SKIP_DESIGN |
static java.lang.String |
SOURCE_ENCODING |
static java.lang.String |
SOURCES |
static java.lang.String |
SUREFIRE_REPORTS_PATH |
static java.lang.String |
TEST |
static java.lang.String |
TEST_INCLUSIONS |
static java.lang.String |
TOKEN |
static java.lang.String |
VERBOSE |
static java.lang.String |
WORKING_DIRECTORY |
| Modifier and Type | Method and Description |
|---|---|
JkSonarqube.QualityGateResponse |
checkQualityGate() |
JkSonarqube |
configureFor(dev.jeka.core.api.project.JkProject project) |
JkSonarqube |
configureFor(dev.jeka.core.api.project.JkProject project,
boolean provideProdLibs,
boolean provideTestLibs)
Configures Sonarqube for the supplied
JkProject. |
JkSonarqube |
copyWithoutProperties()
Returns a copy of the current
JkSonarqube object with the same field values, except for the properties
"logOutput" and "pingServer" which are set to the same as the original object. |
JkSonarqube |
copyWithProperties()
Returns a copy of the current
JkSonarqube object with the same field values. |
java.lang.String |
getProperty(java.lang.String key)
Returns the value of the property with the specified key.
|
static JkSonarqube |
ofVersion(dev.jeka.core.api.depmanagement.resolution.JkDependencyResolver dependencyResolver,
java.lang.String scannerVersion) |
static JkSonarqube |
ofVersion(dev.jeka.core.api.depmanagement.JkRepoSet repos,
java.lang.String scannerVersion)
Creates a
JkSonarqube object configured for the supplied scanner version, fetched from the specified repos. |
static JkSonarqube |
ofVersion(java.lang.String scannerVersion)
Creates a
JkSonarqube object configured for the supplied scanner version, fetched from Maven central. |
void |
run()
Executes SonarQube analysis.
|
JkSonarqube |
setBinaries(java.lang.Iterable<java.nio.file.Path> files) |
JkSonarqube |
setBinaries(java.nio.file.Path... files) |
JkSonarqube |
setHostUrl(java.lang.String url) |
JkSonarqube |
setJdbcPassword(java.lang.String pwd) |
JkSonarqube |
setJdbcUrl(java.lang.String url) |
JkSonarqube |
setJdbcUserName(java.lang.String userName) |
JkSonarqube |
setLogOutput(boolean logOutput)
Determines whether SonarQube scanner logs should be displayed.
|
JkSonarqube |
setPathProperty(java.lang.String key,
java.lang.Iterable<java.nio.file.Path> value)
Sets a sonarqube property (aka analysis parameter) with a list of paths.
|
JkSonarqube |
setPingServer(boolean pingServer)
Sets the flag whether to ping the server during SonarQube analysis.
|
JkSonarqube |
setProjectBaseDir(java.nio.file.Path baseDir) |
JkSonarqube |
setProjectId(java.lang.String projectKey,
java.lang.String projectName,
java.lang.String version)
Sets the project ID for SonarQube analysis.
|
JkSonarqube |
setProperties(dev.jeka.core.api.system.JkProperties properties)
Sets all properties stating with 'sonar." prefix from the specified
object. |
JkSonarqube |
setProperties(java.util.Map<java.lang.String,java.lang.String> props)
Adds SonarQube analysis properties.
|
JkSonarqube |
setProperty(java.lang.String key,
java.lang.String value)
Sets a sonarqube property (aka analysis parameter) as listed here.
|
JkSonarqube |
setSkipDesign(boolean skip) |
JkSonarqube |
setVersion(dev.jeka.core.api.depmanagement.JkRepoSet downloadRepos,
java.lang.String scannerVersion)
Sets the version of the SonarQube scanner and the repositories from which to download it.
|
public static final java.lang.String DEFAULT_SCANNER__VERSION
public static final java.lang.String PROJECT_KEY
public static final java.lang.String PROJECT_NAME
public static final java.lang.String PROJECT_VERSION
public static final java.lang.String LANGUAGE
public static final java.lang.String PROFILE
public static final java.lang.String BRANCH
public static final java.lang.String TOKEN
public static final java.lang.String SOURCE_ENCODING
public static final java.lang.String VERBOSE
public static final java.lang.String WORKING_DIRECTORY
public static final java.lang.String JUNIT_REPORTS_PATH
public static final java.lang.String SUREFIRE_REPORTS_PATH
public static final java.lang.String JACOCO_LEGACY_REPORTS_PATHS
public static final java.lang.String JACOCO_XML_REPORTS_PATHS
public static final java.lang.String COVERTURA_REPORTS_PATH
public static final java.lang.String CLOVER_REPORTS_PATH
public static final java.lang.String DYNAMIC_ANALYSIS
public static final java.lang.String PROJECT_BASE_DIR
public static final java.lang.String SOURCES
public static final java.lang.String BINARIES
public static final java.lang.String JAVA_BINARIES
public static final java.lang.String TEST
public static final java.lang.String TEST_INCLUSIONS
public static final java.lang.String LIBRARIES
public static final java.lang.String EXCLUSIONS
public static final java.lang.String JAVA_LIBRARIES
public static final java.lang.String JAVA_TEST_LIBRARIES
public static final java.lang.String JAVA_TEST_BINARIES
public static final java.lang.String SKIP_DESIGN
public static final java.lang.String HOST_URL
public static final java.lang.String JDBC_URL
public static final java.lang.String JDBC_USERNAME
public static final java.lang.String JDBC_PASSWORD
public static JkSonarqube ofVersion(dev.jeka.core.api.depmanagement.JkRepoSet repos, java.lang.String scannerVersion)
JkSonarqube object configured for the supplied scanner version, fetched from the specified repos.scannerVersion - The scanner version to use. If null, the embedded scanner version will
be used.public static JkSonarqube ofVersion(dev.jeka.core.api.depmanagement.resolution.JkDependencyResolver dependencyResolver, java.lang.String scannerVersion)
ofVersion(JkRepoSet, String)public static JkSonarqube ofVersion(java.lang.String scannerVersion)
JkSonarqube object configured for the supplied scanner version, fetched from Maven central.scannerVersion - The scanner version to use. If null, the embedded scanner version will
be used.public JkSonarqube copyWithProperties()
JkSonarqube object with the same field values.public java.lang.String getProperty(java.lang.String key)
public JkSonarqube copyWithoutProperties()
JkSonarqube object with the same field values, except for the properties
"logOutput" and "pingServer" which are set to the same as the original object.
This method is useful for creating immutable copies of the object.public JkSonarqube setVersion(dev.jeka.core.api.depmanagement.JkRepoSet downloadRepos, java.lang.String scannerVersion)
downloadRepos - The repositories from which to download the SonarQube scanner.scannerVersion - The version of the SonarQube scanner. It should be in the format "org.sonarsource.scanner.cli:sonar-scanner-cli:VERSION".public JkSonarqube setProjectId(java.lang.String projectKey, java.lang.String projectName, java.lang.String version)
public JkSonarqube setLogOutput(boolean logOutput)
logOutput - 'true' if the logs should be displayed, 'false' otherwise.public JkSonarqube setPingServer(boolean pingServer)
public void run()
public JkSonarqube.QualityGateResponse checkQualityGate()
public JkSonarqube setProperty(java.lang.String key, java.lang.String value)
public JkSonarqube setPathProperty(java.lang.String key, java.lang.Iterable<java.nio.file.Path> value)
key - The key of the property.value - The iterable collection of paths.public JkSonarqube setProperties(java.util.Map<java.lang.String,java.lang.String> props)
public JkSonarqube setProperties(dev.jeka.core.api.system.JkProperties properties)
object.setProperty(String, String)public JkSonarqube setProjectBaseDir(java.nio.file.Path baseDir)
public JkSonarqube setBinaries(java.lang.Iterable<java.nio.file.Path> files)
public JkSonarqube setBinaries(java.nio.file.Path... files)
public JkSonarqube setSkipDesign(boolean skip)
public JkSonarqube setHostUrl(java.lang.String url)
public JkSonarqube setJdbcUrl(java.lang.String url)
public JkSonarqube setJdbcUserName(java.lang.String userName)
public JkSonarqube setJdbcPassword(java.lang.String pwd)
public JkSonarqube configureFor(dev.jeka.core.api.project.JkProject project, boolean provideProdLibs, boolean provideTestLibs)
JkProject.provideProdLibs - If true, the list of production dependency files will be provided to sonarqube.provideTestLibs - If true, the list of test dependency files will be provided to sonarqube.public JkSonarqube configureFor(dev.jeka.core.api.project.JkProject project)