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 analyzing JVM-based projects using specific version of IntelliJ Community

buildType {
    // Other Build Type settings ...
    steps {
        // Other Build Steps ...
        qodana {
            linter = jvmCommunity {
                version = Qodana.JVMCommunityVersion.v2022_1
            }
        }
} }

See also

Constructors

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

Types

Link copied to clipboard
enum AndroidVersion : Enum<Qodana.AndroidVersion>
Link copied to clipboard
enum DotNetVersion : Enum<Qodana.DotNetVersion>
Link copied to clipboard
enum GoVersion : Enum<Qodana.GoVersion>
Link copied to clipboard
sealed class InspectionProfile : CompoundParam<Qodana.InspectionProfile>
Link copied to clipboard
enum JSVersion : Enum<Qodana.JSVersion>
Link copied to clipboard
enum JVMCommunityVersion : Enum<Qodana.JVMCommunityVersion>
Link copied to clipboard
enum JVMVersion : Enum<Qodana.JVMVersion>
Link copied to clipboard
sealed class Linter : CompoundParam<Qodana.Linter>
Link copied to clipboard
enum PHPVersion : Enum<Qodana.PHPVersion>
Link copied to clipboard
enum PythonVersion : Enum<Qodana.PythonVersion>

Functions

Link copied to clipboard
fun android(init: Qodana.Linter.Android.() -> Unit = {}): Qodana.Linter.Android

Official Docker image for analyzing Android projects

Link copied to clipboard
fun booleanParameter(    customName: String? = null,     trueValue: String? = "true",     falseValue: String? = "false"): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun clear()
Link copied to clipboard
fun clearConditions()

Deletes all configured build step conditions

Link copied to clipboard
fun <T : CompoundParam<T>> compoundParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun conditions(init: BuildStepConditions.() -> Unit = {})
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
fun customLinter(init: Qodana.Linter.CustomLinter.() -> Unit = {}): Qodana.Linter.CustomLinter

Custom Docker image

Link copied to clipboard

Path to the custom profile

Link copied to clipboard
fun default(): Qodana.InspectionProfile.Default

Default inspection profile

Link copied to clipboard
fun dotNet(init: Qodana.Linter.DotNet.() -> Unit = {}): Qodana.Linter.DotNet

Official Docker image for analyzing .NET projects

Link copied to clipboard
fun doubleParameter(customName: String? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun embedded(init: Qodana.InspectionProfile.Embedded.() -> Unit = {}): Qodana.InspectionProfile.Embedded

Select embedded profile name

Link copied to clipboard
fun <E : Enum<E>> enumParameter(customName: String? = null, mapping: Map<E, String?>? = null): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
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): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
Link copied to clipboard
fun javascript(init: Qodana.Linter.Javascript.() -> Unit = {}): Qodana.Linter.Javascript

Official Docker image for analyzing JavaScript projects

Link copied to clipboard
fun jvm(init: Qodana.Linter.Jvm.() -> Unit = {}): Qodana.Linter.Jvm

Official Docker image for analyzing JVM projects

Link copied to clipboard
fun jvmCommunity(init: Qodana.Linter.JvmCommunity.() -> Unit = {}): Qodana.Linter.JvmCommunity

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
fun php(init: Qodana.Linter.Php.() -> Unit = {}): Qodana.Linter.Php

Official Docker image for analyzing PHP projects

Link copied to clipboard
fun python(init: Qodana.Linter.Python.() -> Unit = {}): Qodana.Linter.Python

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): <ERROR CLASS><Parametrized, <ERROR CLASS><Parametrized, T?>>
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

Properties

Link copied to clipboard
var additionalDockerArguments: <ERROR CLASS>

Additional Docker arguments

Link copied to clipboard
var additionalQodanaArguments: <ERROR CLASS>

Additional Qodana arguments

Link copied to clipboard
var argumentsCommandDocker: <ERROR CLASS>

Arguments for running a Docker image

Link copied to clipboard
var argumentsEntryPointDocker: <ERROR CLASS>

Entry points for running a Docker image

Link copied to clipboard
var cloudToken: <ERROR CLASS>

Cloud Token

Link copied to clipboard
var collectAnonymousStatistics: <ERROR CLASS>

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
var conditions: BuildStepConditions

Optional collection of build step execution conditions

Link copied to clipboard
var enabled: Boolean = true

Specifies whether the step is enabled, true by default

Link copied to clipboard
var executionMode: BuildStep.ExecutionMode

Build step execution mode

Link copied to clipboard
var id: String? = null

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
var inspectionProfile: <ERROR CLASS>

Inspection profile

Link copied to clipboard
var linter: <ERROR CLASS>

Linter that performs the analysis

Link copied to clipboard
var name: String

Build step name

Link copied to clipboard
val params: List<Parameter>
Link copied to clipboard
var projectKey: <ERROR CLASS>

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
var reportAsTests: <ERROR CLASS>

Enable report problems as tests

Link copied to clipboard
var tools: <ERROR CLASS>

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

Link copied to clipboard
var type: String

Build step type

Link copied to clipboard
var workingDir: <ERROR CLASS>

Working directory