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:
General Gradle Properties
intellijPlatformCache
The plugin uses a dedicated cache directory to store files related to the current project configuration files, such as:
XML files generated for the
localPlatformArtifacts()
local Ivy repositorycoroutines Java agent file created by the
initializeIntelliJPlatformPlugin
task
- 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
- 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:
E.g., to disable the selfUpdateCheck feature, add this line:
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