IntelliJ Platform Plugin SDK Help

Gradle Properties

The IntelliJ Platform Gradle Plugin exposes a number of build features to control some of the low-level Gradle plugin behaviors. To enable or disable a particular feature, add a Project property to the gradle.properties file with the following pattern:

org.jetbrains.intellij.platform.<name>=<value>

General Gradle Properties

intellijPlatformCache

The plugin uses a dedicated cache directory to store files related to the current project configuration files, such as:

Default value

[rootProject]/.intellijPlatform

Example
org.jetbrains.intellij.platform.intellijPlatformCache=/path/to/intellijPlatformCache/

localPlatformArtifacts

The localPlatformArtifacts() entry applied to the repositories {} block is required to apply to the project dependencies that need extra pre-processing before they can be correctly used by the IntelliJ Platform Gradle Plugin and loaded by Gradle.

This is resolved by creating an Ivy XML file in a dedicated directory pointed by the localPlatformArtifacts property.

Default value

intellijPlatformCache/ivy/

Example
org.jetbrains.intellij.platform.localPlatformArtifacts=/path/to/localPlatformArtifacts/

Build Features

Build features are Gradle properties defined by the IntelliJ Platform Gradle Plugin to control specific features. Such properties have a simplified form:

org.jetbrains.intellij.platform.buildFeature.<buildFeatureName>=<true|false>

E.g., to disable the selfUpdateCheck feature, add this line:

org.jetbrains.intellij.platform.buildFeature.selfUpdateCheck=false

downloadSources

Instruct the IDE that sources are needed to be downloaded when working with IntelliJ Platform Gradle Plugin.

Value is passed directly to the Idea Gradle Plugin to the idea.module.downloadSources property.

See also:

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.downloadSources=false

noSearchableOptionsWarning

When the buildSearchableOptions doesn't produce any results, e.g., when the plugin doesn't implement any Settings, a warning is shown to suggest disabling it for better performance with buildSearchableOptions.

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.buildSearchableOptions=false

paidPluginSearchableOptionsWarning

Due to IDE limitations, it is impossible to run the IDE in headless mode to collect searchable options for a paid plugin. As paid plugins require providing a valid license and presenting a UI dialog, it is impossible to handle such a case, and the task will fail. This feature flag displays the given warning when the task is run by a paid plugin.

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.paidPluginSearchableOptionsWarning=false

selfUpdateCheck

Checks whether the currently used IntelliJ Platform Gradle Plugin is outdated and if a new release is available. The plugin performs an update check on every run asking the GitHub Releases page for the redirection URL to the latest version with HEAD HTTP request: https://github.com/jetbrains/gradle-intellij-plugin/releases/latest.

If the current version is outdated, the plugin will emit a warning with its current and the latest version.

Feature respects the Gradle --offline mode.

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.selfUpdateCheck=false

useCacheRedirector

By default, JetBrains Cache Redirector is used when resolving Maven repositories or any resources used by the IntelliJ Platform Gradle Plugin. Due to limitations, sometimes it is desired to limit the list of remote endpoints accessed by Gradle.

It is possible to refer to the direct location (whenever it is possible) by switching off JetBrains Cache Redirector globally.

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.useCacheRedirector=false

useClosestVersionResolving

Some dependencies are tied to IntelliJ Platform build numbers and hosted in the IntelliJ Dependencies Repository. Despite this, certain versions (like EAP or nightly builds) might be absent.

To solve this, we fetch a list of all versions from the Maven repository and locate the closest match. This method requires an additional remote repository request. If undesired, this feature can be disabled to strictly match dependencies to your build version.

Default value

true

Example
org.jetbrains.intellij.platform.buildFeature.useClosestVersionResolving=false
Last modified: 12 April 2024