mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 02:07:50 +08:00
IntelliJ Platform Gradle Plugin
This commit is contained in:
parent
e4af60d126
commit
08e77f11ba
9
.idea/kotlinScripting.xml
generated
9
.idea/kotlinScripting.xml
generated
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinScriptingSettings">
|
||||
<scriptDefinition className="org.jetbrains.kotlin.mainKts.MainKtsScript" definitionName="MainKtsScript">
|
||||
<order>2147483647</order>
|
||||
<autoReloadConfigurations>true</autoReloadConfigurations>
|
||||
</scriptDefinition>
|
||||
</component>
|
||||
</project>
|
1
ijs.tree
1
ijs.tree
@ -412,6 +412,7 @@
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_dependencies_extension.md"/>
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_tasks.md"/>
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_task_awares.md"/>
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_types.md"/>
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_build_features.md"/>
|
||||
<toc-element topic="tools_intellij_platform_gradle_plugin_migration.md"/>
|
||||
</toc-element>
|
||||
|
@ -90,7 +90,7 @@ It can be omitted when referring to any IntelliJ Platform SDK dependencies witho
|
||||
|
||||
{id="plugin.settings"}
|
||||
|
||||
If you define repositories within the <path>settings.gradle.kts</path> using the `dependencyResolutionManagement` Gradle, make sure to include the Settings plugin in your <filepath>settings.gradle.kts</filepath>.
|
||||
If you define repositories within the <path>settings.gradle.kts</path> using the `dependencyResolutionManagement` Gradle, make sure to include the Settings plugin in your <path>settings.gradle.kts</path>.
|
||||
|
||||
## Configuration
|
||||
|
||||
@ -228,21 +228,21 @@ dependencies {
|
||||
val type = providers.gradleProperty("platformType")
|
||||
val version = providers.gradleProperty("platformVersion")
|
||||
|
||||
intellijPlatform(type, version)
|
||||
create(type, version)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
The `intellijPlatform` helper accepts also the `IntelliJPlatformType` enum type:
|
||||
The `intellijPlatform` helper accepts also the [`IntelliJPlatformType`](tools_intellij_platform_gradle_plugin_types.md#IntelliJPlatformType) type:
|
||||
|
||||
```kotlin
|
||||
import org.jetbrains.intellij.platform.gradle.utils.IntelliJPlatformType
|
||||
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
|
||||
|
||||
dependencies {
|
||||
intellijPlatform {
|
||||
val version = providers.gradleProperty("platformVersion")
|
||||
|
||||
intellijPlatform(IntelliJPlatformType.IntellijIdeaUltimate, version)
|
||||
create(IntelliJPlatformType.IntellijIdeaUltimate, version)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -34,10 +34,6 @@ Example
|
||||
org.jetbrains.intellij.buildFeature.buildSearchableOptions=false
|
||||
```
|
||||
|
||||
See also:
|
||||
- [Tasks: buildSearchableOptions`](tools_intellij_platform_gradle_plugin_tasks.md#buildSearchableOptions)
|
||||
- [Build Features: `noSearchableOptionsWarning`](tools_intellij_platform_gradle_plugin_build_features.md#noSearchableOptionsWarning)
|
||||
|
||||
|
||||
## paidPluginSearchableOptionsWarning
|
||||
{#paidPluginSearchableOptionsWarning}
|
||||
@ -62,7 +58,7 @@ org.jetbrains.intellij.platform.buildFeature.paidPluginSearchableOptionsWarning=
|
||||
|
||||
Checks whether the currently used Gradle IntelliJ 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`.
|
||||
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.
|
||||
|
||||
|
@ -4,5 +4,68 @@
|
||||
|
||||
<link-summary>IntelliJ Platform Gradle Plugin dependencies extension.</link-summary>
|
||||
|
||||
Extension class for managing IntelliJ Platform dependencies in a Gradle build script applied to the `DependencyHandler`.
|
||||
|
||||
This class provides methods for adding dependencies to different IntelliJ Platform products and managing local dependencies.
|
||||
|
||||
It also includes methods for adding JetBrains Runtime, IntelliJ Platform plugins, IntelliJ Platform bundled plugins, IntelliJ Plugin Verifier, and Marketplace ZIP Signer.
|
||||
|
||||
**Example:**
|
||||
|
||||
```kotlin
|
||||
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
|
||||
|
||||
dependencies {
|
||||
// ...
|
||||
|
||||
intellijPlatform {
|
||||
// ...
|
||||
|
||||
create(IntelliJPlatformType.PhpStorm, "2023.3")
|
||||
create("PS", "2023.3")
|
||||
intellijIdeaCommunity("2023.3")
|
||||
local(file("/path/to/ide/"))
|
||||
jetbrainsRuntime("...")
|
||||
plugin("org.intellij.scala")
|
||||
bundledPlugin("com.intellij.java")
|
||||
pluginVerifier()
|
||||
zipSigner()
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
> Just one IntelliJ Platform dependency can be added to the project at the time.
|
||||
>
|
||||
{style="warning"}
|
||||
|
||||
| Function | Description |
|
||||
|----------------------------------------------------------------------------------------|----------------------------------------------------------------|
|
||||
| `create(type, version)` | Adds a dependency on the IntelliJ Platform. |
|
||||
| `androidStudio(version)` | Adds a dependency on Android Studio. |
|
||||
| `clion(version)` | Adds a dependency on CLion. |
|
||||
| `fleetBackend(version)` | Adds a dependency on Fleet Backend. |
|
||||
| `gateway(version)` | Adds a dependency on Gateway. |
|
||||
| `goland(version)` | Adds a dependency on GoLand. |
|
||||
| `intellijIdeaCommunity(version)` | Adds a dependency on IntelliJ IDEA Community. |
|
||||
| `intellijIdeaUltimate(version)` | Adds a dependency on IntelliJ IDEA Ultimate. |
|
||||
| `phpstorm(version)` | Adds a dependency on PhpStorm. |
|
||||
| `pycharmCommunity(version)` | Adds a dependency on PyCharm Community. |
|
||||
| `pycharmProfessional(version)` | Adds a dependency on PyCharm Professional. |
|
||||
| `rider(version)` | Adds a dependency on Rider. |
|
||||
| `rustRover(version)` | Adds a dependency on Rust Rover. |
|
||||
| `writerside(version)` | Adds a dependency on Writerside. |
|
||||
| `local(localPath)` | Adds a local dependency on a local IntelliJ Platform instance. |
|
||||
| `jetbrainsRuntime(version, variant, architecture)` `jetbrainsRuntime(explicitVersion)` | Adds a dependency on JetBrains Runtime. |
|
||||
| `plugin(id, version, channel)` | Adds a dependency on a plugin for IntelliJ Platform. |
|
||||
| `bundledPlugin(id)` | Adds a dependency on a bundled IntelliJ Platform plugin. |
|
||||
| `pluginVerifier(version)` | Adds a dependency on IntelliJ Plugin Verifier. |
|
||||
| `zipSigner(version)` | Adds a dependency on Marketplace ZIP Signer. |
|
||||
|
||||
See also:
|
||||
- [](verifying_plugin_compatibility.md)
|
||||
- [Tasks: `signPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin)
|
||||
- [Tasks: `verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin)
|
||||
- [Types: `IntelliJPlatformType`](tools_intellij_platform_gradle_plugin_types.md#IntelliJPlatformType)
|
||||
|
||||
|
||||
<include from="snippets.md" element-id="missingContent"/>
|
||||
|
@ -7,6 +7,7 @@
|
||||
The _IntelliJ Platform Gradle Plugin_ introduces a top-level `intellijPlatform` extension.
|
||||
It consists of sections dedicated to the general Gradle plugin configuration, <path>plugin.xml</path> definition, publishing, signing, and verifying of the output plugin for IntelliJ-based IDEs.
|
||||
|
||||
|
||||
## IntelliJ Platform
|
||||
{#intellijPlatform}
|
||||
|
||||
@ -20,13 +21,22 @@ intellijPlatform {
|
||||
buildSearchableOptions.set(true)
|
||||
sandboxContainer.set("...")
|
||||
|
||||
pluginConfiguration { ... }
|
||||
publishing { ... }
|
||||
signing { ... }
|
||||
verifyPlugin { ... }
|
||||
pluginConfiguration {
|
||||
// ...
|
||||
}
|
||||
publishing {
|
||||
// ...
|
||||
}
|
||||
signing {
|
||||
// ...
|
||||
}
|
||||
verifyPlugin {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### instrumentCode
|
||||
{#intellijPlatform-instrumentCode}
|
||||
|
||||
@ -39,7 +49,7 @@ The compiled code will be enhanced with:
|
||||
- nullability assertions
|
||||
- post-processing of forms created by IntelliJ GUI Designer
|
||||
|
||||
Controls the execution of the [](tools_intellij_platform_gradle_plugin_tasks.md#instrumentCode) task.
|
||||
Controls the execution of the [`instrumentCode`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentCode) task.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
@ -48,15 +58,12 @@ Type
|
||||
Default value
|
||||
: `true`
|
||||
|
||||
See also:
|
||||
- [Tasks: `instrumentCode`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentCode)
|
||||
|
||||
|
||||
### buildSearchableOptions
|
||||
{#intellijPlatform-buildSearchableOptions}
|
||||
|
||||
Builds an index of UI components (searchable options) for the plugin.
|
||||
Controls the execution of the [](tools_intellij_platform_gradle_plugin_tasks.md#buildSearchableOptions) task.
|
||||
Controls the execution of the [`buildSearchableOptions`](tools_intellij_platform_gradle_plugin_tasks.md#buildSearchableOptions) task.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
@ -66,7 +73,6 @@ Default value
|
||||
: `true`
|
||||
|
||||
See also:
|
||||
- [Tasks: `buildSearchableOptions`](tools_intellij_platform_gradle_plugin_tasks.md#buildSearchableOptions)
|
||||
- [Build Features: `noSearchableOptionsWarning`](tools_intellij_platform_gradle_plugin_build_features.md#noSearchableOptionsWarning)
|
||||
|
||||
|
||||
@ -80,7 +86,7 @@ Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: <path>build/<Sandbox.CONTAINER></path>
|
||||
: <path>[buildDirectory]/[Sandbox.CONTAINER]</path>
|
||||
|
||||
See also:
|
||||
- [Tasks: `prepareSandbox`](tools_intellij_platform_gradle_plugin_tasks.md#prepareSandbox)
|
||||
@ -91,13 +97,13 @@ See also:
|
||||
{#intellijPlatform-pluginConfiguration}
|
||||
|
||||
Configures the plugin definition and stores in the `plugin.xml` file.
|
||||
Data provided to the `intellijPlatform.pluginConfiguration {}` extension is passed to the [](tools_intellij_platform_gradle_plugin_tasks.md#patchPluginXml) task, which overrides the <path>plugin.xml</path> file with new values.
|
||||
Data provided to the `intellijPlatform.pluginConfiguration {}` extension is passed to the [`patchPluginXml`](tools_intellij_platform_gradle_plugin_tasks.md#patchPluginXml) task, which overrides the <path>plugin.xml</path> file with new values.
|
||||
|
||||
**Example:**
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
...
|
||||
// ...
|
||||
|
||||
pluginConfiguration {
|
||||
id.set("my-plugin-id")
|
||||
@ -110,9 +116,15 @@ intellijPlatform {
|
||||
""".trimIndent()
|
||||
)
|
||||
|
||||
productDescriptor { ... }
|
||||
ideaVersion { ... }
|
||||
vendor { ... }
|
||||
productDescriptor {
|
||||
// ...
|
||||
}
|
||||
ideaVersion {
|
||||
// ...
|
||||
}
|
||||
vendor {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -130,7 +142,7 @@ The plugin's unique identifier.
|
||||
This should mirror the structure of fully qualified Java packages and must remain distinct from the IDs of existing plugins.
|
||||
This ID is a technical descriptor used not only within the IDE, but also on [JetBrains Marketplace](https://plugins.jetbrains.com/).
|
||||
|
||||
Please restrict input to characters, numbers, and `.`/`-`/`_` symbols , and aim for a concise length.
|
||||
Please restrict input to characters, numbers, and `.`/`-`/`_` symbols, and aim for a concise length.
|
||||
|
||||
The entered value will populate the `<id>` element.
|
||||
|
||||
@ -166,7 +178,7 @@ The plugin version, presented in the Plugins settings dialog and on its JetBrain
|
||||
|
||||
For plugins uploaded to the JetBrains Marketplace, semantic versioning must be adhered to.
|
||||
|
||||
The specified value will be used as an `<version>` element.
|
||||
The specified value will be used as a `<version>` element.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
@ -225,10 +237,10 @@ A part of the [](#intellijPlatform-pluginConfiguration) which describes the `pro
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
...
|
||||
// ...
|
||||
|
||||
pluginConfiguration {
|
||||
...
|
||||
// ...
|
||||
|
||||
productDescriptor {
|
||||
code.set("MY_CODE")
|
||||
@ -243,6 +255,7 @@ intellijPlatform {
|
||||
See also:
|
||||
- [How to add required parameters for paid plugins](https://plugins.jetbrains.com/docs/marketplace/add-required-parameters.html)
|
||||
|
||||
|
||||
### code
|
||||
{#intellijPlatform-pluginConfiguration-productDescriptor-code}
|
||||
|
||||
@ -321,10 +334,10 @@ A part of the [](#intellijPlatform-pluginConfiguration) which describes the `ide
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
...
|
||||
// ...
|
||||
|
||||
pluginConfiguration {
|
||||
...
|
||||
// ...
|
||||
|
||||
ideaVersion {
|
||||
sinceBuild.set("241")
|
||||
@ -334,6 +347,7 @@ intellijPlatform {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### sinceBuild
|
||||
{#intellijPlatform-pluginConfiguration-ideaVersion-sinceBuild}
|
||||
|
||||
@ -387,10 +401,10 @@ A part of the [](#intellijPlatform-pluginConfiguration) which describes the `ven
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
...
|
||||
// ...
|
||||
|
||||
pluginConfiguration {
|
||||
...
|
||||
// ...
|
||||
|
||||
vendor {
|
||||
name.set("JetBrains")
|
||||
@ -460,7 +474,7 @@ All values are passed to the [](tools_intellij_platform_gradle_plugin_tasks.md#p
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
...
|
||||
// ...
|
||||
|
||||
publishing {
|
||||
host.set("")
|
||||
@ -559,11 +573,35 @@ See also:
|
||||
|
||||
Plugin signing configuration.
|
||||
|
||||
**Example:**
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
// ...
|
||||
|
||||
signing {
|
||||
cliPath.set(file("/path/to/marketplace-zip-signer-cli.jar"))
|
||||
keyStore.set(file("/path/to/keyStore.ks"))
|
||||
keyStorePassword.set("...")
|
||||
keyStoreKeyAlias.set("...")
|
||||
keyStoreType.set("...")
|
||||
keyStoreProviderName.set("...")
|
||||
privateKey.set("...")
|
||||
privateKeyFile.set(file("/path/to/private.pem"))
|
||||
password.set("...")
|
||||
certificateChain.set("...")
|
||||
certificateChainFile.set(file("/path/to/chain.crt"))
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
See also:
|
||||
- [](plugin_signing.md)
|
||||
- [Tasks: `signPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin)
|
||||
- [Task Awares: `SigningAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SigningAware)
|
||||
- [Marketplace ZIP Signer](https://github.com/JetBrains/marketplace-zip-signer)
|
||||
|
||||
|
||||
### cliPath
|
||||
{#intellijPlatform-signing-cliPath}
|
||||
|
||||
@ -573,6 +611,9 @@ A path to the local Marketplace ZIP Signer CLI tool to be used.
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
See also:
|
||||
- [Task Awares: `SigningAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SigningAware)
|
||||
|
||||
|
||||
### keyStore
|
||||
{#intellijPlatform-signing-keyStore}
|
||||
@ -584,6 +625,9 @@ Refers to `ks` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.keyStore`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-keyStore)
|
||||
|
||||
|
||||
### keyStorePassword
|
||||
{#intellijPlatform-signing-keyStorePassword}
|
||||
@ -595,6 +639,9 @@ Refers to `ks-pass` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.keyStorePassword`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-keyStorePassword)
|
||||
|
||||
|
||||
### keyStoreKeyAlias
|
||||
{#intellijPlatform-signing-keyStoreKeyAlias}
|
||||
@ -606,6 +653,9 @@ Refers to `ks-key-alias` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.keyStoreKeyAlias`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-keyStoreKeyAlias)
|
||||
|
||||
|
||||
### keyStoreType
|
||||
{#intellijPlatform-signing-keyStoreType}
|
||||
@ -617,6 +667,9 @@ Refers to `ks-type` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.keyStoreType`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-keyStoreType)
|
||||
|
||||
|
||||
### keyStoreProviderName
|
||||
{#intellijPlatform-signing-keyStoreProviderName}
|
||||
@ -628,6 +681,9 @@ Refers to `ks-provider-name` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.keyStoreProviderName`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-keyStoreProviderName)
|
||||
|
||||
|
||||
### privateKey
|
||||
{#intellijPlatform-signing-privateKey}
|
||||
@ -635,10 +691,15 @@ Type
|
||||
Encoded private key in the PEM format.
|
||||
Refers to `key` CLI option.
|
||||
|
||||
Takes precedence over the [](#intellijPlatform-signing-privateKeyFile) property.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.privateKey`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-privateKey)
|
||||
|
||||
|
||||
### privateKeyFile
|
||||
{#intellijPlatform-signing-privateKeyFile}
|
||||
@ -650,6 +711,9 @@ Refers to `key-file` CLI option.
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.privateKeyFile`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-privateKeyFile)
|
||||
|
||||
|
||||
### password
|
||||
{#intellijPlatform-signing-password}
|
||||
@ -661,6 +725,9 @@ Refers to `key-pass` CLI option.
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.password`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-password)
|
||||
|
||||
|
||||
### certificateChain
|
||||
{#intellijPlatform-signing-certificateChain}
|
||||
@ -669,10 +736,15 @@ A string containing X509 certificates.
|
||||
The first certificate from the chain will be used as a certificate authority (CA).
|
||||
Refers to `cert` CLI option.
|
||||
|
||||
Takes precedence over the [](#intellijPlatform-signing-certificateChainFile) property.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.certificateChain`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-certificateChain)
|
||||
|
||||
|
||||
### certificateChainFile
|
||||
{#intellijPlatform-signing-certificateChainFile}
|
||||
@ -685,9 +757,262 @@ Refers to `cert-file` CLI option.
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
See also:
|
||||
- [Tasks: `signPlugin.certificateChainFile`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-certificateChainFile)
|
||||
|
||||
|
||||
## Verify Plugin
|
||||
{#intellijPlatform-verifyPlugin}
|
||||
|
||||
IntelliJ Plugin Verifier CLI tool configuration.
|
||||
|
||||
**Example:**
|
||||
|
||||
```kotlin
|
||||
intellijPlatform {
|
||||
// ...
|
||||
|
||||
verifyPlugin {
|
||||
cliPath.set(file("/path/to/plugin-verifier-cli.jar"))
|
||||
freeArgs.set(listOf("foo", "bar"))
|
||||
homeDirectory.set(file("/path/to/pluginVerifierHomeDirectory/"))
|
||||
downloadDirectory.set(file("/path/to/pluginVerifierHomeDirectory/ides/"))
|
||||
failureLevel.set(VerifyPluginTask.FailureLevel.ALL)
|
||||
verificationReportsDirectory.set("build/reports/pluginVerifier")
|
||||
verificationReportsFormats.set(VerifyPluginTask.VerificationReportsFormats.ALL)
|
||||
externalPrefixes.set("com.example")
|
||||
teamCityOutputFormat.set(false)
|
||||
subsystemsToCheck.set(VerifyPluginTask.Subsystems.ALL)
|
||||
ignoredProblemsFile.set(file("/path/to/ignoredProblems.txt"))
|
||||
|
||||
ides {
|
||||
// ...
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
See also:
|
||||
- [](verifying_plugin_compatibility.md)
|
||||
- [Tasks: `verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin)
|
||||
- [Task Awares: `PluginVerifierAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginVerifierAware)
|
||||
- [](#intellijPlatform-verifyPlugin-ides)
|
||||
- [IntelliJ Plugin Verifier CLI](https://github.com/JetBrains/intellij-plugin-verifier)
|
||||
|
||||
|
||||
### cliPath
|
||||
{#intellijPlatform-verifyPlugin-cliPath}
|
||||
|
||||
A path to the local IntelliJ Plugin Verifier CLI tool to be used.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
See also:
|
||||
- [Task Awares: `PluginVerifierAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginVerifierAware)
|
||||
|
||||
|
||||
### downloadDirectory
|
||||
{#intellijPlatform-verifyPlugin-downloadDirectory}
|
||||
|
||||
The path to the directory where IDEs used for the verification will be downloaded.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: <path>[`homeDirectory`](#intellijPlatform-verifyPlugin-homeDirectory)/ides</path>
|
||||
|
||||
|
||||
### failureLevel
|
||||
{#intellijPlatform-verifyPlugin-failureLevel}
|
||||
|
||||
Defines the verification level at which the task should fail if any reported issue matches.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<FailureLevel>`
|
||||
|
||||
Default value
|
||||
: [`FailureLevel.COMPATIBILITY_PROBLEMS`](tools_intellij_platform_gradle_plugin_types.md#FailureLevel)
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.failureLevel`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-failureLevel)
|
||||
|
||||
|
||||
### externalPrefixes
|
||||
{#intellijPlatform-verifyPlugin-externalPrefixes}
|
||||
|
||||
The list of class prefixes from the external libraries.
|
||||
The Plugin Verifier will not report `No such class` for classes of these packages.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.externalPrefixes`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-externalPrefixes)
|
||||
|
||||
|
||||
### freeArgs
|
||||
{#intellijPlatform-verifyPlugin-freeArgs}
|
||||
|
||||
The list of free arguments is passed directly to the IntelliJ Plugin Verifier CLI tool.
|
||||
|
||||
They can be used in addition to the arguments that are provided by dedicated options.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<String>`
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.freeArgs`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-freeArgs)
|
||||
|
||||
|
||||
### homeDirectory
|
||||
{#intellijPlatform-verifyPlugin-homeDirectory}
|
||||
|
||||
Retrieve the Plugin Verifier home directory used for storing downloaded IDEs.
|
||||
Following home directory resolving method is taken directly from the Plugin Verifier to keep the compatibility.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: - Directory specified with `plugin.verifier.home.dir` system property
|
||||
- Directory specified with `XDG_CACHE_HOME` environment variable
|
||||
- <path>~/.cache/pluginVerifier</path>
|
||||
- <path>[buildDirectory]/tmp/pluginVerifier</path>
|
||||
|
||||
|
||||
### ignoredProblemsFile
|
||||
{#intellijPlatform-verifyPlugin-ignoredProblemsFile}
|
||||
|
||||
A file that contains a list of problems that will be ignored in a report.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.ignoredProblemsFile`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-ignoredProblemsFile)
|
||||
|
||||
|
||||
### subsystemsToCheck
|
||||
{#intellijPlatform-verifyPlugin-subsystemsToCheck}
|
||||
|
||||
Specifies which subsystems of IDE should be checked.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Subsystems`
|
||||
|
||||
Default value
|
||||
: [`Subsystems.ALL`](tools_intellij_platform_gradle_plugin_types.md#Subsystems)
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.subsystemsToCheck`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-subsystemsToCheck)
|
||||
|
||||
|
||||
### teamCityOutputFormat
|
||||
{#intellijPlatform-verifyPlugin-teamCityOutputFormat}
|
||||
|
||||
A flag that controls the output format.
|
||||
If set to `true`, the TeamCity compatible output will be returned to stdout.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: `false`
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.teamCityOutputFormat`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-teamCityOutputFormat)
|
||||
|
||||
|
||||
### verificationReportsDirectory
|
||||
{#intellijPlatform-verifyPlugin-verificationReportsDirectory}
|
||||
|
||||
The path to the directory where verification reports will be saved.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: <path>[buildDirectory]/reports/pluginVerifier</path>
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.verificationReportsDirectory`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-verificationReportsDirectory)
|
||||
|
||||
|
||||
### verificationReportsFormats
|
||||
{#intellijPlatform-verifyPlugin-verificationReportsFormats}
|
||||
|
||||
The output formats of the verification reports.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<VerificationReportsFormats>`
|
||||
|
||||
Default value
|
||||
: [`VerificationReportsFormats.PLAIN`](tools_intellij_platform_gradle_plugin_types.md#VerificationReportsFormats), [`FailureVerificationReportsFormats`](tools_intellij_platform_gradle_plugin_types.md#VerificationReportsFormats)
|
||||
|
||||
See also:
|
||||
- [Tasks: `verifyPlugin.verificationReportsFormats`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-verificationReportsFormats)
|
||||
|
||||
|
||||
## Verify Plugin IDEs
|
||||
{#intellijPlatform-verifyPlugin-ides}
|
||||
|
||||
The extension to define the IDEs to be used along with the IntelliJ Plugin Verifier CLI tool for the binary plugin verification.
|
||||
|
||||
It provides a set of helpers which add relevant entries to the configuration, which later is used to resolve IntelliJ-based IDE binary releases.
|
||||
|
||||
**Example:**
|
||||
|
||||
```kotlin
|
||||
import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
|
||||
|
||||
intellijPlatform {
|
||||
// ...
|
||||
|
||||
verifyPlugin {
|
||||
// ...
|
||||
|
||||
ides {
|
||||
ide(IntelliJPlatformType.PhpStorm)
|
||||
ide(IntelliJPlatformType.RustRover, "2023.3")
|
||||
localIde(file("/path/to/ide/"))
|
||||
recommended()
|
||||
select {
|
||||
types = listOf(IntelliJPlatformType.PhpStorm)
|
||||
channels = listOf(ProductRelease.Channel.RELEASE)
|
||||
sinceBuild = "232"
|
||||
untilBuild = "241.*"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
See also:
|
||||
- [](verifying_plugin_compatibility.md)
|
||||
- [Tasks: `verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin)
|
||||
- [Types: `IntelliJPlatformType`](tools_intellij_platform_gradle_plugin_types.md#IntelliJPlatformType)
|
||||
- [Types: `ProductRelease.Channel`](tools_intellij_platform_gradle_plugin_types.md#ProductRelease-Channel)
|
||||
- [Types: `ProductReleasesValueSource.FilterParameters`](tools_intellij_platform_gradle_plugin_types.md#ProductReleasesValueSource-FilterParameters)
|
||||
|
||||
| Function | Description |
|
||||
|----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `ide(type, version)` `ide(definition)` | Adds a dependency to a binary IDE release to be used for testing with the IntelliJ Plugin Verifier. |
|
||||
| `localIde(localPath)` | Adds the local IDE to be used for testing with the IntelliJ Plugin Verifier. |
|
||||
| `recommended()` | Retrieves matching IDEs using the default configuration based on the currently used IntelliJ Platform and applies them for IntelliJ Platform Verifier using the `ide` helper method. |
|
||||
| `select(configure)` | Retrieves matching IDEs using custom [`ProductReleasesValueSource.FilterParameters`](tools_intellij_platform_gradle_plugin_types.md#ProductReleasesValueSource-FilterParameters) filter parameters. |
|
||||
|
||||
|
||||
<include from="snippets.md" element-id="missingContent"/>
|
||||
|
@ -4,36 +4,284 @@
|
||||
|
||||
<link-summary>IntelliJ Platform Gradle Plugin task `*Aware` interfaces.</link-summary>
|
||||
|
||||
The Task Awares is a set of interfaces that can be applied to custom Gradle tasks and, when registered using the dedicated register method, inject new features or properties with predefined values.
|
||||
|
||||
|
||||
## CoroutinesJavaAgentAware
|
||||
{#CoroutinesJavaAgentAware}
|
||||
|
||||
The interface provides the path to the Java Agent file for the Coroutines library required to enable coroutines debugging.
|
||||
|
||||
Inherited also by [`RunnableIdeAware`](#RunnableIdeAware).
|
||||
|
||||
### coroutinesJavaAgentFile
|
||||
{#CoroutinesJavaAgentAware-coroutinesJavaAgentFile}
|
||||
|
||||
The path to the coroutines Java Agent file.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: [`initializeIntellijPlatformPlugin.coroutinesJavaAgent`](tools_intellij_platform_gradle_plugin_tasks.md#initializeIntelliJPlatformPlugin-coroutinesJavaAgent)
|
||||
|
||||
|
||||
## CustomIntelliJPlatformVersionAware
|
||||
{#CustomIntelliJPlatformVersionAware}
|
||||
|
||||
By default, the project with the IntelliJ Platform Gradle Plugin applied required the presence of the IntelliJ Platform, referred to later by various tasks, configurations, and extensions.
|
||||
|
||||
The custom IntelliJ Platform concept allows using another version, i.e., to run a guest IDE or tests against it.
|
||||
|
||||
When applying this interface to the task, custom configurations to hold new dependencies defined by [`type`](#CustomIntelliJPlatformVersionAware-type) and [`version`](#CustomIntelliJPlatformVersionAware-version) (or [`localPath`](#CustomIntelliJPlatformVersionAware-localPath), if referring to the local IntelliJ Platform instance) are created, as well as a dedicated [`prepareSandbox`](tools_intellij_platform_gradle_plugin_tasks.md#prepareSandbox) task.
|
||||
|
||||
Configurations, as well as the task preparing sandbox for running and testing the custom IntelliJ Platform (if required), have a random suffix applied to avoid collisions.
|
||||
|
||||
|
||||
### type
|
||||
{#CustomIntelliJPlatformVersionAware-type}
|
||||
|
||||
An input property to configure the type of the custom IntelliJ Platform.
|
||||
|
||||
By default, it refers to the IntelliJ Platform type used by the current project.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: [`IntelliJPlatformType`](tools_intellij_platform_gradle_plugin_types.md#IntelliJPlatformType)
|
||||
|
||||
|
||||
### version
|
||||
{#CustomIntelliJPlatformVersionAware-version}
|
||||
|
||||
An input property to configure the version of the custom IntelliJ Platform.
|
||||
|
||||
By default, it refers to the IntelliJ Platform version used by the current project.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
|
||||
### localPath
|
||||
{#CustomIntelliJPlatformVersionAware-localPath}
|
||||
|
||||
An input property to define the path to the local IntelliJ Platform instance to configure the version of the custom IntelliJ Platform.
|
||||
|
||||
The local path precedes the IntelliJ Platform resolution using the [`type`](#CustomIntelliJPlatformVersionAware-type) and [`version`](#CustomIntelliJPlatformVersionAware-version) properties.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
## IntelliJPlatformVersionAware
|
||||
{#IntelliJPlatformVersionAware}
|
||||
|
||||
This interface provides tasks a possibility for accessing information about the IntelliJ Platform currently used in the project.
|
||||
|
||||
The [`intelliJPlatformConfiguration`](#IntelliJPlatformVersionAware-intelliJPlatformConfiguration) input property receives a dependency added to the `intellijPlatform` configuration, which eventually is resolved and lets to access the IntelliJ Platform details such as [`ProductInfo`](tools_intellij_platform_gradle_plugin_types.md#ProductInfo) or the path to the IntelliJ Platform directory.
|
||||
|
||||
It is required to have a dependency on the IntelliJ Platform added to the project with helpers available in [](tools_intellij_platform_gradle_plugin_dependencies_extension.md).
|
||||
|
||||
|
||||
### intelliJPlatformConfiguration
|
||||
{#IntelliJPlatformVersionAware-intelliJPlatformConfiguration}
|
||||
|
||||
Holds the `intellijPlatform` configuration with the IntelliJ Platform dependency added.
|
||||
|
||||
It should not be directly accessed.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ConfigurableFileCollection`
|
||||
|
||||
|
||||
### platformPath
|
||||
{#IntelliJPlatformVersionAware-platformPath}
|
||||
|
||||
Provides a direct path to the IntelliJ Platform dependency artifact.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Path`
|
||||
|
||||
### productInfo
|
||||
{#IntelliJPlatformVersionAware-productInfo}
|
||||
|
||||
Provides information about the IntelliJ Platform product.
|
||||
|
||||
The information is retrieved from the <path>product-info.json</path> file in the IntelliJ Platform directory.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: [`ProductInfo`](tools_intellij_platform_gradle_plugin_types.md#ProductInfo)
|
||||
|
||||
|
||||
### assertIntelliJPlatformSupportedVersion()
|
||||
{#IntelliJPlatformVersionAware-assertIntelliJPlatformSupportedVersion}
|
||||
|
||||
Asserts that the resolved IntelliJ Platform is supported by checking against the minimal supported IntelliJ Platform version.
|
||||
|
||||
Invokes [`ProductInfo.assertSupportedVersion()`](tools_intellij_platform_gradle_plugin_types.md#ProductInfo-assertSupportedVersion).
|
||||
|
||||
{style="narrow"}
|
||||
Throws
|
||||
: `IllegalArgumentException`
|
||||
|
||||
|
||||
## PluginVerifierAware
|
||||
{#PluginVerifierAware}
|
||||
|
||||
The interface provides the path to the IntelliJ Plugin Verifier executable.
|
||||
|
||||
It is required to have a dependency on the IntelliJ Plugin Verifier added to the project with [`intellijPlatform.pluginVerifier()`](tools_intellij_platform_gradle_plugin_dependencies_extension.md) dependencies extension.
|
||||
|
||||
|
||||
### pluginVerifierExecutable
|
||||
{#PluginVerifierAware-pluginVerifierExecutable}
|
||||
|
||||
Path to the IntelliJ Plugin Verifier executable.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
|
||||
## RunnableIdeAware
|
||||
{#RunnableIdeAware}
|
||||
|
||||
The interface which utilizes a set of various interfaces required for running a guest IDE. Inherits from:
|
||||
- [`CoroutinesJavaAgentAware`](#CoroutinesJavaAgentAware)
|
||||
- [`RuntimeAware`](#RuntimeAware)
|
||||
- [`SandboxAware`](#SandboxAware)
|
||||
- `JavaForkOptions`
|
||||
|
||||
|
||||
## RuntimeAware
|
||||
{#RuntimeAware}
|
||||
|
||||
This interface provides access to the Java Runtime (i.e., JetBrains Runtime) resolved with `RuntimeResolver`.
|
||||
|
||||
### runtimeDirectory
|
||||
{#RuntimeAware-runtimeDirectory}
|
||||
|
||||
Java Runtime parent directory.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
### runtimeExecutable
|
||||
{#RuntimeAware-runtimeExecutable}
|
||||
|
||||
Path to the Java Runtime executable.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
|
||||
### runtimeArch
|
||||
{#RuntimeAware-runtimeArch}
|
||||
|
||||
An architecture of the Java Runtime currently used for running Gradle.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
|
||||
|
||||
## SandboxAware
|
||||
{#SandboxAware}
|
||||
|
||||
The interface provides quick access to the sandbox container and specific directories located within it.
|
||||
|
||||
The path to the sandbox container is obtained using the [`intellijPlatform.sandboxContainer`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-sandboxContainer) extension property and the type and version of the IntelliJ Platform applied to the project.
|
||||
|
||||
Paths respect custom IntelliJ Platform when combined with [`CustomIntelliJPlatformVersionAware`](#CustomIntelliJPlatformVersionAware).
|
||||
|
||||
|
||||
### sandboxSuffix
|
||||
{#SandboxAware-sandboxSuffix}
|
||||
|
||||
Represents the suffix used i.e., for test-related tasks.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
|
||||
### sandboxContainerDirectory
|
||||
{#SandboxAware-sandboxContainerDirectory}
|
||||
|
||||
The container for all sandbox-related directories.
|
||||
|
||||
The directory name depends on the platform type and version currently used for running a task.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
### sandboxConfigDirectory
|
||||
{#SandboxAware-sandboxConfigDirectory}
|
||||
|
||||
A configuration directory located within the [`sandboxContainerDirectory`](#SandboxAware-sandboxContainerDirectory).
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
### sandboxPluginsDirectory
|
||||
{#SandboxAware-sandboxPluginsDirectory}
|
||||
|
||||
A plugins directory located within the [`sandboxContainerDirectory`](#SandboxAware-sandboxContainerDirectory).
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
### sandboxSystemDirectory
|
||||
{#SandboxAware-sandboxSystemDirectory}
|
||||
|
||||
A system directory located within the [`sandboxContainerDirectory`](#SandboxAware-sandboxContainerDirectory).
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
### sandboxLogDirectory
|
||||
{#SandboxAware-sandboxLogDirectory}
|
||||
|
||||
A log directory located within the [`sandboxContainerDirectory`](#SandboxAware-sandboxContainerDirectory).
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
|
||||
## SigningAware
|
||||
{#SigningAware}
|
||||
|
||||
The interface provides the path to the Marketplace ZIP Signer executable.
|
||||
|
||||
It is required to have a dependency on the Marketplace ZIP Signer added to the project with [`intellijPlatform.zipSigner()`](tools_intellij_platform_gradle_plugin_dependencies_extension.md) dependencies extension.
|
||||
|
||||
|
||||
### zipSignerExecutable
|
||||
{#SigningAware-zipSignerExecutable}
|
||||
|
||||
Path to the Marketplace ZIP Signer executable.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
|
||||
<include from="snippets.md" element-id="missingContent"/>
|
||||
|
@ -7,6 +7,34 @@
|
||||
## buildPlugin
|
||||
{#buildPlugin}
|
||||
|
||||
This class represents a task for building a plugin and preparing a ZIP archive for deployment.
|
||||
|
||||
It uses the content produced by [`prepareSandbox`](#prepareSandbox) and [`jarSearchableOptions`](#jarSearchableOptions) tasks as an input.
|
||||
|
||||
|
||||
### archiveBaseName
|
||||
{#buildPlugin-archiveBaseName}
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
Default value
|
||||
: [`prepareSandbox.pluginName`](#prepareSandbox-pluginName)
|
||||
|
||||
|
||||
### archiveFile
|
||||
{#buildPlugin-archiveFile}
|
||||
|
||||
The archive file which represents the output file produced by the task.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: [`buildPlugin.archiveFile`](#buildPlugin-archiveFile)
|
||||
|
||||
|
||||
## buildSearchableOptions
|
||||
{#buildSearchableOptions}
|
||||
@ -27,6 +55,76 @@ See also:
|
||||
## initializeIntelliJPlatformPlugin
|
||||
{#initializeIntelliJPlatformPlugin}
|
||||
|
||||
Initializes the IntelliJ Platform Gradle Plugin and performs various checks, like if the plugin is up-to-date.
|
||||
|
||||
### offline
|
||||
{#initializeIntelliJPlatformPlugin-offline}
|
||||
|
||||
Determines if the operation is running in offline mode.
|
||||
|
||||
Depends on Gradle start parameters
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: `StartParameter.isOffline`
|
||||
|
||||
See also:
|
||||
- [StartParameter](https://docs.gradle.org/current/javadoc/org/gradle/StartParameter.html)
|
||||
- [Command Line Execution Options](https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_execution_options)
|
||||
|
||||
|
||||
### selfUpdateCheck
|
||||
{#initializeIntelliJPlatformPlugin-selfUpdateCheck}
|
||||
|
||||
Represents the property for checking if self-update is enabled.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: [Build Features: `selfUpdateCheck`](tools_intellij_platform_gradle_plugin_build_features.md#selfUpdateCheck)
|
||||
|
||||
|
||||
### selfUpdateLock
|
||||
{#initializeIntelliJPlatformPlugin-selfUpdateLock}
|
||||
|
||||
Represents a lock file used to limit the plugin version checks in time.
|
||||
If a file is absent, and other conditions are met, the version check is performed.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
|
||||
### coroutinesJavaAgent
|
||||
{#initializeIntelliJPlatformPlugin-coroutinesJavaAgent}
|
||||
|
||||
Java Agent file for the Coroutines library, which is required to enable coroutines debugging.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: `[buildDirectory]/tmp/initializeIntelliJPlatformPlugin/coroutines-javaagent.jar`
|
||||
|
||||
See also:
|
||||
- [Task Awares: `CoroutinesJavaAgentAware`](tools_intellij_platform_gradle_plugin_task_awares.md#CoroutinesJavaAgentAware)
|
||||
|
||||
|
||||
### pluginVersion
|
||||
{#initializeIntelliJPlatformPlugin-pluginVersion}
|
||||
|
||||
Represents the current version of the plugin.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<String>`
|
||||
|
||||
|
||||
## instrumentCode
|
||||
{#instrumentCode}
|
||||
@ -82,7 +180,7 @@ Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: <path>build/tmp/patchPluginXml/plugin.xml</path>
|
||||
: <path>[buildDirectory]/tmp/patchPluginXml/plugin.xml</path>
|
||||
|
||||
### pluginId
|
||||
{#patchPluginXml-pluginId}
|
||||
@ -104,7 +202,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.id`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-id)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.id`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-id)
|
||||
- [Plugin Configuration File: `id`](plugin_configuration_file.md#idea-plugin__id)
|
||||
|
||||
|
||||
@ -123,7 +220,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.name`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-name)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.name`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-name)
|
||||
- [Plugin Configuration File: `name`](plugin_configuration_file.md#idea-plugin__name)
|
||||
|
||||
|
||||
@ -144,7 +240,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.version`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-version)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.version`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-version)
|
||||
- [Plugin Configuration File: `version`](plugin_configuration_file.md#idea-plugin__version)
|
||||
|
||||
|
||||
@ -166,7 +261,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.description`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-description)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.description`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-description)
|
||||
- [Plugin Configuration File: `description`](plugin_configuration_file.md#idea-plugin__description)
|
||||
|
||||
|
||||
@ -189,7 +283,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.changeNotes`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-changeNotes)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.changeNotes`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-changeNotes)
|
||||
- [Plugin Configuration File: `change-notes`](plugin_configuration_file.md#idea-plugin__change-notes)
|
||||
|
||||
|
||||
@ -209,7 +302,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.productDescriptor.code`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-code)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.productDescriptor.code`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-code)
|
||||
- [Plugin Configuration File: `product-descriptor`](plugin_configuration_file.md#idea-plugin__product-descriptor)
|
||||
|
||||
|
||||
@ -228,7 +320,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.productDescriptor.releaseDate`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-releaseDate)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.productDescriptor.releaseDate`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-releaseDate)
|
||||
- [Plugin Configuration File: `product-descriptor`](plugin_configuration_file.md#idea-plugin__product-descriptor)
|
||||
|
||||
|
||||
@ -247,7 +338,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.productDescriptor.releaseVersion`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-releaseVersion)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.productDescriptor.releaseVersion`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-releaseVersion)
|
||||
- [Plugin Configuration File: `product-descriptor`](plugin_configuration_file.md#idea-plugin__product-descriptor)
|
||||
|
||||
|
||||
@ -269,7 +359,6 @@ Default value
|
||||
: `false`
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.productDescriptor.optional`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-productDescriptor-optional)
|
||||
- [Plugin Configuration File: `product-descriptor`](plugin_configuration_file.md#idea-plugin__product-descriptor)
|
||||
|
||||
|
||||
@ -288,7 +377,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.ideaVersion.sinceBuild`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-ideaVersion-sinceBuild)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.ideaVersion.sinceBuild`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-ideaVersion-sinceBuild)
|
||||
- [Plugin Configuration File: `idea-version`](plugin_configuration_file.md#idea-plugin__idea-version)
|
||||
|
||||
|
||||
@ -308,7 +396,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.ideaVersion.untilBuild`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-ideaVersion-untilBuild)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.ideaVersion.untilBuild`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-ideaVersion-untilBuild)
|
||||
- [Plugin Configuration File: `idea-version`](plugin_configuration_file.md#idea-plugin__idea-version)
|
||||
|
||||
|
||||
@ -327,7 +414,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.vendor.name`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-name)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.vendor.name`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-name)
|
||||
- [Plugin Configuration File: `vendor`](plugin_configuration_file.md#idea-plugin__vendor)
|
||||
|
||||
|
||||
@ -346,7 +432,6 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.vendor.email`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-email)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.vendor.email`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-email)
|
||||
- [Plugin Configuration File: `vendor`](plugin_configuration_file.md#idea-plugin__vendor)
|
||||
|
||||
|
||||
@ -365,16 +450,86 @@ Default value
|
||||
: [`intellijPlatform.pluginConfiguration.vendor.url`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-url)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.pluginConfiguration.vendor.url`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-vendor-url)
|
||||
- [Plugin Configuration File: `vendor`](plugin_configuration_file.md#idea-plugin__vendor)
|
||||
|
||||
|
||||
## prepareSandbox
|
||||
{#prepareSandbox}
|
||||
|
||||
Prepares a sandbox environment with the installed plugin and its dependencies.
|
||||
|
||||
The sandbox directory is required to run a guest IDE and tests in isolation from other instances, like when multiple IntelliJ Platforms are used for testing with [`runIde`](#runIde), [`testIde`](#testIde), [`testIdeUi`](#testIdeUi), or [`testIdePerformance`](#testIdePerformance) tasks.
|
||||
|
||||
To fully utilize the sandbox capabilities in a task, make it extend the [`SandboxAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxAware) interface.
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.sandboxContainer`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-sandboxContainer)
|
||||
- [Task Awares: `SandboxAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxAware)
|
||||
|
||||
|
||||
### defaultDestinationDirectory
|
||||
{#prepareSandbox-defaultDestinationDirectory}
|
||||
|
||||
Default sandbox destination directory to where the plugin files will be copied into.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: [`SandboxAware.sandboxPluginsDirectory`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxAware-sandboxPluginsDirectory)
|
||||
|
||||
|
||||
### pluginName
|
||||
{#prepareSandbox-pluginName}
|
||||
|
||||
The name of the plugin.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `String`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.pluginConfiguration.name`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration-name)
|
||||
|
||||
|
||||
### pluginJar
|
||||
{#prepareSandbox-pluginJar}
|
||||
|
||||
The output of `Jar` task.
|
||||
The proper `Jar.archiveFile` is picked depending on if code instrumentation is enabled.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: `Jar.archiveFile`
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.instrumentCode`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-instrumentCode)
|
||||
|
||||
|
||||
### pluginsClasspath
|
||||
{#prepareSandbox-pluginsClasspath}
|
||||
|
||||
List of dependencies on external plugins resolved from the `intellijPlatformPluginsExtracted` configuration.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ConfigurableFileCollection`
|
||||
|
||||
See also:
|
||||
- [Dependencies Extension](tools_intellij_platform_gradle_plugin_dependencies_extension.md)
|
||||
|
||||
|
||||
### runtimeClasspath
|
||||
{#prepareSandbox-runtimeClasspath}
|
||||
|
||||
Dependencies removed with the `runtimeClasspath` configuration.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ConfigurableFileCollection`
|
||||
|
||||
|
||||
## printBundledPlugins
|
||||
@ -401,19 +556,17 @@ See also:
|
||||
|
||||
ZIP archive to be published to the remote repository.
|
||||
|
||||
By default, it uses an output `archiveFile` of the [`signPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin) task if plugin signing is configured, otherwise [`buildPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#buildPlugin).
|
||||
By default, it uses an output `archiveFile` of the [`signPlugin`](#signPlugin) task if plugin signing is configured, otherwise [`buildPlugin`](#buildPlugin).
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<RegularFileProperty>`
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: [`signPlugin.archiveFile`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin-archiveFile) or [`buildPlugin.archiveFile`](tools_intellij_platform_gradle_plugin_tasks.md#buildPlugin-archiveFile)
|
||||
: [`signPlugin.archiveFile`](#signPlugin-archiveFile) or [`buildPlugin.archiveFile`](#buildPlugin-archiveFile)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing)
|
||||
- [Tasks: `signPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin)
|
||||
- [Tasks: `buildPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#buildPlugin)
|
||||
|
||||
|
||||
### host
|
||||
@ -428,9 +581,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.publishing.host`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-host)
|
||||
|
||||
See also:
|
||||
- [Extension `intellijPlatform.publishing.host`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-host)
|
||||
|
||||
|
||||
### token
|
||||
{#publishPlugin-token}
|
||||
@ -447,9 +597,6 @@ Required
|
||||
Default value
|
||||
: [`intellijPlatform.publishing.token`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-token)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.publishing.token`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-token)
|
||||
|
||||
|
||||
### channel
|
||||
{#publishPlugin-channel}
|
||||
@ -463,9 +610,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.publishing.channel`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-channel)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.publishing.channel`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-channel)
|
||||
|
||||
|
||||
### hidden
|
||||
{#publishPlugin-hidden}
|
||||
@ -480,7 +624,6 @@ Default value
|
||||
: [`intellijPlatform.publishing.hidden`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-hidden)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.publishing.hidden`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-hidden)
|
||||
- [Hidden release](https://plugins.jetbrains.com/docs/marketplace/hidden-plugin.html)
|
||||
|
||||
|
||||
@ -496,12 +639,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.publishing.toolboxEnterprise`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-toolboxEnterprise)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.publishing.toolboxEnterprise`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-publishing-toolboxEnterprise)
|
||||
|
||||
|
||||
## runIdePerformanceTest
|
||||
{#runIdePerformanceTest}
|
||||
|
||||
> Not implemented.
|
||||
>
|
||||
@ -523,11 +660,11 @@ See also:
|
||||
## signPlugin
|
||||
{#signPlugin}
|
||||
|
||||
Signs the ZIP archive with the provided key using [Marketplace ZIP Signer](https://github.com/JetBrains/marketplace-zip-signer) library.
|
||||
Signs the ZIP archive with the provided key using the [Marketplace ZIP Signer](https://github.com/JetBrains/marketplace-zip-signer) library.
|
||||
|
||||
To sign the plugin before publishing to [JetBrains Marketplace](https://plugins.jetbrains.com) with the [SignPluginTask] task, it is required to provide a certificate chain and a private key with its password using `signPlugin { ... }` Plugin Signing DSL.
|
||||
To sign the plugin before publishing to [JetBrains Marketplace](https://plugins.jetbrains.com) with the [`signPlugin`](#signPlugin) task, it is required to provide a certificate chain and a private key with its password using [`intellijPlatform.signing`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing) extension.
|
||||
|
||||
As soon as [privateKey] (or [privateKeyFile]) and [certificateChain] (or [certificateChainFile]) properties are specified, the task will be executed automatically right before the [PublishPluginTask] task.
|
||||
As soon as [`privateKey`](#signPlugin-privateKey) (or [`privateKeyFile`](#signPlugin-privateKeyFile)) and [`certificateChain`](#signPlugin-certificateChain) (or [`certificateChainFile`](#signPlugin-certificateChainFile) properties are specified, the task will be executed automatically right before the [`publishPlugin`](#publishPlugin) task.
|
||||
|
||||
For more details, see [Plugin Signing](https://plugins.jetbrains.com/docs/intellij/plugin-signing.html) article.
|
||||
|
||||
@ -547,9 +684,6 @@ Type
|
||||
Default value
|
||||
: [`buildPlugin.archiveFile`](#buildPlugin-archiveFile)
|
||||
|
||||
See also:
|
||||
- [Tasks: `buildPlugin.archiveFile`](#buildPlugin-archiveFile)
|
||||
|
||||
|
||||
### signedArchiveFile
|
||||
{#signPlugin-signedArchiveFile}
|
||||
@ -581,9 +715,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.keyStore`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStore)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.keyStore`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStore)
|
||||
|
||||
|
||||
### keyStorePassword
|
||||
{#signPlugin-keyStorePassword}
|
||||
@ -598,9 +729,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.keyStorePassword`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStorePassword)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.keyStorePassword`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStorePassword)
|
||||
|
||||
|
||||
### keyStoreKeyAlias
|
||||
{#signPlugin-keyStoreKeyAlias}
|
||||
@ -615,9 +743,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.keyStoreKeyAlias`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreKeyAlias)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.keyStoreKeyAlias`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreKeyAlias)
|
||||
|
||||
|
||||
### keyStoreType
|
||||
{#signPlugin-keyStoreType}
|
||||
@ -632,9 +757,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.keyStoreType`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreType)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.keyStoreType`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreType)
|
||||
|
||||
|
||||
### keyStoreProviderName
|
||||
{#signPlugin-keyStoreProviderName}
|
||||
@ -649,9 +771,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.keyStoreProviderName`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreProviderName)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.keyStoreProviderName`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-keyStoreProviderName)
|
||||
|
||||
|
||||
### privateKey
|
||||
{#signPlugin-privateKey}
|
||||
@ -666,9 +785,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.privateKey`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-privateKey)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.privateKey`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-privateKey)
|
||||
|
||||
|
||||
### privateKeyFile
|
||||
{#signPlugin-privateKeyFile}
|
||||
@ -683,9 +799,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.privateKeyFile`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-privateKeyFile)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.privateKeyFile`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-privateKeyFile)
|
||||
|
||||
|
||||
### password
|
||||
{#signPlugin-password}
|
||||
@ -700,9 +813,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.password`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-password)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.password`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-password)
|
||||
|
||||
|
||||
### certificateChain
|
||||
{#signPlugin-certificateChain}
|
||||
@ -718,9 +828,6 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.certificateChain`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-certificateChain)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.certificateChain`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-certificateChain)
|
||||
|
||||
|
||||
### certificateChainFile
|
||||
{#signPlugin-certificateChainFile}
|
||||
@ -736,14 +843,19 @@ Type
|
||||
Default value
|
||||
: [`intellijPlatform.signing.certificateChainFile`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-certificateChainFile)
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.signing.certificateChainFile`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-signing-certificateChainFile)
|
||||
|
||||
|
||||
## testIde
|
||||
{#testIde}
|
||||
|
||||
|
||||
## testIdePerformance
|
||||
{#testIdePerformance}
|
||||
|
||||
> Not implemented.
|
||||
>
|
||||
{style="warning"}
|
||||
|
||||
|
||||
## testIdeUi
|
||||
{#testIdeUi}
|
||||
|
||||
@ -767,5 +879,169 @@ See also:
|
||||
## verifyPlugin
|
||||
{#verifyPlugin}
|
||||
|
||||
Runs the IntelliJ Plugin Verifier CLI tool to check the binary compatibility with specified IDE builds.
|
||||
|
||||
See also:
|
||||
- [Awares: `PluginVerifierAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginVerifierAware)
|
||||
- [Extension: `intellijPlatform.verifyPlugin`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin)
|
||||
- [Types: `FailureLevel`](tools_intellij_platform_gradle_plugin_types.md#FailureLevel)
|
||||
- [Types: `Subsystems`](tools_intellij_platform_gradle_plugin_types.md#Subsystems)
|
||||
- [Types: `VerificationReportsFormats`](tools_intellij_platform_gradle_plugin_types.md#VerificationReportsFormats)
|
||||
- [IntelliJ Plugin Verifier](https://github.com/JetBrains/intellij-plugin-verifier)
|
||||
- [Verifying Plugin Compatibility](https://plugins.jetbrains.com/docs/intellij/verifying-plugin-compatibility.html)
|
||||
|
||||
|
||||
### ides
|
||||
{#verifyPlugin-ides}
|
||||
|
||||
Holds a reference to IntelliJ Platform IDEs which will be used by the IntelliJ Plugin Verifier CLI tool for the binary plugin verification.
|
||||
|
||||
The list of IDEs is controlled with the [`intellijPlatform.verifyPlugin.ides`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-ides) extension.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ConfigurableFileCollection`
|
||||
|
||||
|
||||
### archiveFile
|
||||
{#verifyPlugin-archiveFile}
|
||||
|
||||
Input ZIP archive file of the plugin to verify.
|
||||
If empty, the task will be skipped.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: [`buildPlugin.archiveFile`](#buildPlugin-archiveFile)
|
||||
|
||||
|
||||
### externalPrefixes
|
||||
{#verifyPlugin-externalPrefixes}
|
||||
|
||||
The list of class prefixes from the external libraries.
|
||||
The Plugin Verifier will not report `No such class` for classes of these packages.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<String>`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.externalPrefixes`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-externalPrefixes)
|
||||
|
||||
|
||||
### failureLevel
|
||||
{#verifyPlugin-failureLevel}
|
||||
|
||||
Defines the verification level at which the task should fail if any reported issue matches.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: [`ListProperty<FailureLevel>`](tools_intellij_platform_gradle_plugin_types.md#FailureLevel)
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.failureLevel`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-failureLevel)
|
||||
|
||||
|
||||
### freeArgs
|
||||
{#verifyPlugin-freeArgs}
|
||||
|
||||
The list of free arguments is passed directly to the IntelliJ Plugin Verifier CLI tool.
|
||||
|
||||
They can be used in addition to the arguments that are provided by dedicated options.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `ListProperty<String>`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.freeArgs`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-freeArgs)
|
||||
|
||||
|
||||
### ignoredProblemsFile
|
||||
{#verifyPlugin-ignoredProblemsFile}
|
||||
|
||||
A file that contains a list of problems that will be ignored in a report.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `RegularFileProperty`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.ignoredProblemsFile`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-ignoredProblemsFile)
|
||||
|
||||
|
||||
### offline
|
||||
{#verifyPlugin-offline}
|
||||
|
||||
Determines if the operation is running in offline mode.
|
||||
|
||||
Depends on Gradle start parameters
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: `StartParameter.isOffline`
|
||||
|
||||
See also:
|
||||
- [StartParameter](https://docs.gradle.org/current/javadoc/org/gradle/StartParameter.html)
|
||||
- [Command Line Execution Options](https://docs.gradle.org/current/userguide/command_line_interface.html#sec:command_line_execution_options)
|
||||
|
||||
|
||||
### subsystemsToCheck
|
||||
{#verifyPlugin-subsystemsToCheck}
|
||||
|
||||
Specifies which subsystems of IDE should be checked.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: [`Subsystems`](tools_intellij_platform_gradle_plugin_types.md#Subsystems)
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.subsystemsToCheck`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-subsystemsToCheck)
|
||||
|
||||
|
||||
### teamCityOutputFormat
|
||||
{#verifyPlugin-teamCityOutputFormat}
|
||||
|
||||
A flag that controls the output format.
|
||||
If set to `true`, the TeamCity compatible output will be returned to stdout.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `Property<Boolean>`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.teamCityOutputFormat`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-teamCityOutputFormat)
|
||||
|
||||
|
||||
### verificationReportsDirectory
|
||||
{#verifyPlugin-verificationReportsDirectory}
|
||||
|
||||
The path to the directory where verification reports will be saved.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: `DirectoryProperty`
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.verificationReportsDirectory`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-verificationReportsDirectory)
|
||||
|
||||
|
||||
### verificationReportsFormats
|
||||
{#verifyPlugin-verificationReportsFormats}
|
||||
|
||||
The output formats of the verification reports.
|
||||
|
||||
{style="narrow"}
|
||||
Type
|
||||
: [`ListProperty<VerificationReportsFormats>`](tools_intellij_platform_gradle_plugin_types.md#VerificationReportsFormats)
|
||||
|
||||
Default value
|
||||
: [`intellijPlatform.verifyPlugin.verificationReportsFormats`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-verificationReportsFormats)
|
||||
|
||||
|
||||
<include from="snippets.md" element-id="missingContent"/>
|
||||
|
@ -0,0 +1,189 @@
|
||||
<!-- Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
||||
|
||||
# Types
|
||||
|
||||
<link-summary>IntelliJ Platform Gradle Plugin data types, enums, and constants.</link-summary>
|
||||
|
||||
## FailureLevel
|
||||
{#FailureLevel}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask.FailureLevel
|
||||
```
|
||||
|
||||
Enum class describing the failure level of the IntelliJ Plugin Verifier CLI tool run with the [`verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin) task.
|
||||
|
||||
| Name | Description |
|
||||
|------------------------------------|-------------------------------------------------------------------------------------|
|
||||
| `COMPATIBILITY_WARNINGS` | Compatibility warnings detected against the specified IDE version. |
|
||||
| `COMPATIBILITY_PROBLEMS` | Compatibility problems detected against the specified IDE version. |
|
||||
| `DEPRECATED_API_USAGES` | Plugin uses API marked as deprecated (`@Deprecated`). |
|
||||
| `SCHEDULED_FOR_REMOVAL_API_USAGES` | Plugin uses API marked as scheduled for removal (`ApiStatus.@ScheduledForRemoval`). |
|
||||
| `EXPERIMENTAL_API_USAGES` | Plugin uses API marked as experimental (`ApiStatus.@Experimental`). |
|
||||
| `INTERNAL_API_USAGES` | Plugin uses API marked as internal (`ApiStatus.@Internal`). |
|
||||
| `OVERRIDE_ONLY_API_USAGES` | Override-only API is used incorrectly (`ApiStatus.@OverrideOnly`). |
|
||||
| `NON_EXTENDABLE_API_USAGES` | Non-extendable API is used incorrectly (`ApiStatus.@NonExtendable`). |
|
||||
| `PLUGIN_STRUCTURE_WARNINGS` | The structure of the plugin is not valid. |
|
||||
| `MISSING_DEPENDENCIES` | Plugin has some dependencies missing. |
|
||||
| `INVALID_PLUGIN` | Provided plugin artifact is not valid. |
|
||||
| `NOT_DYNAMIC` | Plugin probably cannot be enabled or disabled without IDE restart |
|
||||
| `ALL` | Contains all possible options. |
|
||||
| `NONE` | Contains no option. |
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.verifyPlugin.failureLevel`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-failureLevel)
|
||||
- [Tasks: `verifyPlugin.failureLevel`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-failureLevel)
|
||||
|
||||
|
||||
## IntelliJPlatformType
|
||||
{#IntelliJPlatformType}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.IntelliJPlatformType
|
||||
```
|
||||
|
||||
Describes all IntelliJ Platform types available to be used for plugin development, dependency resolution, and plugin verification.
|
||||
|
||||
Each entry is composed of a product code name and coordinates used for dependency and binary release resolution.
|
||||
|
||||
| Name | Code | Coordinates |
|
||||
|-------------------------|--------|----------------------------------------------------|
|
||||
| `AndroidStudio` | `AI` | `com.google.android.studio:studio` |
|
||||
| `CLion` | `CL` | `com.jetbrains.intellij.clion:clion` |
|
||||
| `Fleet` | `FLIJ` | `com.jetbrains.intellij.fleetBackend:fleetBackend` |
|
||||
| `Gateway` | `GW` | `com.jetbrains.intellij.gateway:gateway` |
|
||||
| `GoLand` | `GO` | `com.jetbrains.intellij.goland:goland` |
|
||||
| `IntellijIdeaCommunity` | `IC` | `com.jetbrains.intellij.idea:ideaIC` |
|
||||
| `IntellijIdeaUltimate` | `IU` | `com.jetbrains.intellij.idea:ideaIU` |
|
||||
| `PhpStorm` | `PS` | `com.jetbrains.intellij.phpstorm:phpstorm` |
|
||||
| `PyCharmProfessional` | `PY` | `com.jetbrains.intellij.pycharm:pycharmPY` |
|
||||
| `PyCharmCommunity` | `PC` | `com.jetbrains.intellij.pycharm:pycharmPC` |
|
||||
| `Rider` | `RD` | `com.jetbrains.intellij.rider:riderRD` |
|
||||
| `RustRover` | `RR` | `com.jetbrains.intellij.rustrover:RustRover` |
|
||||
| `Writerside` | `WRS` | `com.jetbrains.intellij.idea:writerside` |
|
||||
|
||||
|
||||
## ProductInfo
|
||||
{#ProductInfo}
|
||||
|
||||
Represents information about the IntelliJ Platform product.
|
||||
|
||||
The information is retrieved from the <path>product-info.json</path> file in the IntelliJ Platform directory.
|
||||
|
||||
| Name | Description |
|
||||
|-------------------|--------------------------------------------------------------------------|
|
||||
| name | The product's name, like "IntelliJ IDEA". |
|
||||
| version | The marketing version of the product, like "2023.2". |
|
||||
| versionSuffix | The suffix of the version, like "EAP". |
|
||||
| buildNumber | The build number of the product, like "232.8660.185". |
|
||||
| productCode | The product code, like "IU". |
|
||||
| dataDirectoryName | The directory name of the product data. |
|
||||
| svgIconPath | The path to the SVG icon of the product. |
|
||||
| productVendor | The vendor of the product. |
|
||||
| launch | The list of OS- and arch-specific launch configurations for the product. |
|
||||
| customProperties | The list of custom properties of the product. |
|
||||
| bundledPlugins | The list of bundled plugins provided with the current release. |
|
||||
| fileExtensions | The list of file extensions associated with the product. |
|
||||
| modules | The list of modules of the product. |
|
||||
|
||||
### assertSupportedVersion()
|
||||
{#ProductInfo-assertSupportedVersion}
|
||||
|
||||
Asserts that the resolved IntelliJ Platform is supported by checking against the minimal supported IntelliJ Platform version.
|
||||
|
||||
If the provided version is lower, an `IllegalArgumentException` is thrown with an appropriate message.
|
||||
|
||||
{style="narrow"}
|
||||
Throws
|
||||
: `IllegalArgumentException`
|
||||
|
||||
|
||||
## ProductRelease.Channel
|
||||
{#ProductRelease-Channel}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.model.ProductRelease
|
||||
```
|
||||
|
||||
List of available channels used by JetBrains IDEs and Android Studio for describing binary releases.
|
||||
|
||||
| Name | JetBrains IDEs | Android Studio |
|
||||
|-------------|:--------------:|:--------------:|
|
||||
| `EAP` | X | |
|
||||
| `MILESTONE` | | X |
|
||||
| `BETA` | | X |
|
||||
| `RELEASE` | X | X |
|
||||
| `CANARY` | | X |
|
||||
| `PATCH` | | X |
|
||||
| `RC` | | X |
|
||||
| `PREVIEW` | | X |
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.verifyPlugin.ides`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-ides)
|
||||
- [Tasks: `printProductsReleases`](tools_intellij_platform_gradle_plugin_tasks.md#printProductsReleases)
|
||||
|
||||
|
||||
## ProductReleasesValueSource.FilterParameters
|
||||
{#ProductReleasesValueSource-FilterParameters}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.provider.ProductReleasesValueSource
|
||||
```
|
||||
|
||||
Interface that provides a clear way to filter binary product releases for the purposes of IntelliJ Plugin Verifier.
|
||||
|
||||
| Name | Description |
|
||||
|--------------|------------------------------------------------------------------------------------------------------|
|
||||
| `sinceBuild` | Build number from which the binary IDE releases will be matched. |
|
||||
| `untilBuild` | Build number until which the binary IDE releases will be matched. |
|
||||
| `types` | A list of [`IntelliJPlatformType`](#IntelliJPlatformType) types to match. |
|
||||
| `channels` | A list of [`ProductRelease.Channel`](#ProductRelease-Channel) types of binary releases to search in. |
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.verifyPlugin.ides`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-ides)
|
||||
- [Tasks: `printProductsReleases`](tools_intellij_platform_gradle_plugin_tasks.md#printProductsReleases)
|
||||
|
||||
|
||||
## Subsystems
|
||||
{#Subsystems}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask.Subsystems
|
||||
```
|
||||
|
||||
Specifies which subsystems of IDE should be checked by the IntelliJ Plugin Verifier CLI tool run with the [`verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin) task.
|
||||
|
||||
| Name | Description |
|
||||
|-------------------|----------------------------------------------|
|
||||
| `ALL` | Verify all code. |
|
||||
| `ANDROID_ONLY` | Verify only code related to Android support. |
|
||||
| `WITHOUT_ANDROID` | Exclude problems related to Android support. |
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.verifyPlugin.subsystemsToCheck`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-subsystemsToCheck)
|
||||
- [Tasks: `verifyPlugin.subsystemsToCheck`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-subsystemsToCheck)
|
||||
|
||||
|
||||
## VerificationReportsFormats
|
||||
{#VerificationReportsFormats}
|
||||
|
||||
```
|
||||
org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask.VerificationReportsFormats
|
||||
```
|
||||
|
||||
Enum class describing the type of the results produced by the IntelliJ Plugin Verifier CLI tool run with the [`verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin) task.
|
||||
|
||||
| Name | Description |
|
||||
|------------|--------------------------------|
|
||||
| `PLAIN` | Plain text file. |
|
||||
| `HTML` | HTML formatted output file. |
|
||||
| `MARKDOWN` | Markdown file. |
|
||||
| `ALL` | Contains all possible options. |
|
||||
| `NONE` | Contains no option. |
|
||||
|
||||
See also:
|
||||
- [Extension: `intellijPlatform.verifyPlugin.verificationReportsFormats`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-verifyPlugin-verificationReportsFormats)
|
||||
- [Tasks: `verifyPlugin.verificationReportsFormats`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin-verificationReportsFormats)
|
||||
|
||||
|
||||
<include from="snippets.md" element-id="missingContent"/>
|
Loading…
x
Reference in New Issue
Block a user