Qodana

open class Qodana : BuildStep
fun BuildSteps.qodana(init: Qodana.() -> Unit): Qodana

Example. Adds a simple Qodana step for analyzing JVM-based projects

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        qodana {
linter = jvm {}
}
}
}

Example. Adds a simple Qodana step for analyzing Python projects

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        qodana {
linter = python {}
}
}
}

Example. Adds a Qodana step for analyzing JVM-based projects and uses qodana.sarif.json file as a baseline

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        qodana {
linter = jvm {}
additionalQodanaArguments = "--baseline qodana.sarif.json"
}
}
}

Example. Adds a Qodana step for analyzing JVM-based projects using provided qodana.starter inspection profile

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        qodana {
linter = jvm {}
inspectionProfile = embedded {
name = "qodana.starter"
}
}
}
}

Example. Adds a Qodana step for running specific version of Qodana CLI

buildType {
// Other Build Type settings ...
steps {
// Other Build Steps ...
        qodana {
cli = "v2024.1.8"
}
}
}

See also

Constructors

Link copied to clipboard
constructor(init: Qodana.() -> Unit)
constructor()

Types

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Properties

Link copied to clipboard

Additional Docker arguments

Link copied to clipboard

Additional Qodana arguments

Link copied to clipboard

Arguments for running a Docker image

Link copied to clipboard

Entry points for running a Docker image

Link copied to clipboard
var cli: String?

Qodana CLI version to use (empty by default and CLI is not used then)

Link copied to clipboard

Cloud Token

Link copied to clipboard

By setting this property, you agree to let Qodana collect statistical information during linter execution. It lets us better improve linter performance. All data is collected anonymously in accordance with the JetBrains Privacy Policy: https://www.jetbrains.com/legal/docs/privacy/privacy/

Link copied to clipboard

Optional collection of build step execution conditions

Link copied to clipboard

Specifies whether the step is enabled, true by default

Link copied to clipboard
Link copied to clipboard
var id: String?

Optional id of the step. Usually the id is not required, however if a build configuration inherits from a template and wants to override a build step defined there, then both steps should have the same id.

Link copied to clipboard
Link copied to clipboard

Linter that performs the analysis

Link copied to clipboard

Build step name

Link copied to clipboard
Link copied to clipboard

Provide this name if you have several Qodana steps in one build, or you combine several builds into one composite configuration. If empty, auto-generated step name will be used

Link copied to clipboard

Enable report problems as tests

Link copied to clipboard

Tool names separated by ','. Example tool = "Code Inspection"

Link copied to clipboard

Build step type

Link copied to clipboard

Working directory

Functions

Link copied to clipboard

Official Docker image for analyzing Android projects

Link copied to clipboard
fun booleanParameter(customName: String? = null, trueValue: String? = "true", falseValue: String? = "false"): DelegateProvider<Boolean?>
Link copied to clipboard
fun clear()
Link copied to clipboard

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): DelegateProvider<T>
Link copied to clipboard
Link copied to clipboard
fun <T : Parametrized> copyParamsTo(target: T): T

Copies parameters of this object to the specified target

Link copied to clipboard
open fun create(): BuildStep

Creates an instance of this build step via reflection using a no argument constructor, used during copying. Throws an error if this class doesn't have a default constructor. Subclasses can override it to create an instance without using a default constructor.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Default inspection profile

Link copied to clipboard

Official Docker image for analyzing .NET projects

Link copied to clipboard
fun doubleParameter(customName: String? = null): DelegateProvider<Double>
Link copied to clipboard

Select embedded profile name

Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): DelegateProvider<E>
Link copied to clipboard
fun findRawParam(paramName: String): Parameter?
Link copied to clipboard
fun go(init: Qodana.Linter.Go.() -> Unit = {}): Qodana.Linter.Go

Official Docker image for analyzing Go projects

Link copied to clipboard
fun hasParam(paramName: String): Boolean
Link copied to clipboard
fun intParameter(customName: String? = null): DelegateProvider<Int>
Link copied to clipboard

Official Docker image for analyzing JavaScript projects

Link copied to clipboard

Official Docker image for analyzing JVM projects

Link copied to clipboard

Official Docker image for analyzing JVM projects with IntelliJ Community edition

Link copied to clipboard
fun param(name: String, value: String)

Adds parameter with specified name and value

Link copied to clipboard

Official Docker image for analyzing PHP projects

Link copied to clipboard

Official Docker image for analyzing Python projects

Link copied to clipboard
fun removeRawParam(paramName: String)
Link copied to clipboard
open fun stringParameter(customName: String? = null): DelegateProvider<String>
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
open override fun validate(consumer: ErrorConsumer)

Validates this object and reports found errors to the provided consumer