diff --git a/labels.list b/labels.list index c28a5a430..006a92bb1 100644 --- a/labels.list +++ b/labels.list @@ -59,4 +59,8 @@ Available in IDE version 2024.3 or later + + + This item is marked as deprecated. + diff --git a/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_plugins.md b/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_plugins.md index 652466ba8..e99f62bab 100644 --- a/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_plugins.md +++ b/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_plugins.md @@ -46,6 +46,9 @@ flowchart TB ## Platform +{#platform} + +Top-level plugin that applies all the tooling for plugin development for IntelliJ-based IDEs. **Plugin ID: `org.jetbrains.intellij.platform`** @@ -59,8 +62,39 @@ plugins { } ``` +### Available tasks +{#platform-available-tasks} + +[`buildPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#buildPlugin), +[`buildSearchableOptions`](tools_intellij_platform_gradle_plugin_tasks.md#buildSearchableOptions), +[`composedJar`](tools_intellij_platform_gradle_plugin_tasks.md#composedJar), +[`generateManifest`](tools_intellij_platform_gradle_plugin_tasks.md#generateManifest), +[`initializeIntelliJPlatformPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#initializeIntelliJPlatformPlugin), +[`instrumentCode`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentCode), +[`instrumentedJar`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentedJar), +[`jarSearchableOptions`](tools_intellij_platform_gradle_plugin_tasks.md#jarSearchableOptions), +[`patchPluginXml`](tools_intellij_platform_gradle_plugin_tasks.md#patchPluginXml), +[`prepareSandbox`](tools_intellij_platform_gradle_plugin_tasks.md#prepareSandbox), +[`prepareTest`](tools_intellij_platform_gradle_plugin_tasks.md#prepareTest), +[`printBundledPlugins`](tools_intellij_platform_gradle_plugin_tasks.md#printBundledPlugins), +[`printProductsReleases`](tools_intellij_platform_gradle_plugin_tasks.md#printProductsReleases), +[`publishPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#publishPlugin), +[`runIde`](tools_intellij_platform_gradle_plugin_tasks.md#runIde), +[`setupDependencies`](tools_intellij_platform_gradle_plugin_tasks.md#setupDependencies), +[`signPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#signPlugin), +[`testIdePerformance`](tools_intellij_platform_gradle_plugin_tasks.md#testIdePerformance), +[`testIde`](tools_intellij_platform_gradle_plugin_tasks.md#testIde), +[`testIdeUi`](tools_intellij_platform_gradle_plugin_tasks.md#testIdeUi), +[`verifyPluginProjectConfiguration`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginProjectConfiguration), +[`verifyPluginSignature`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginSignature), +[`verifyPluginStructure`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginStructure), +[`verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin) + ## Module +{#module} + +Applies a smaller set of functionalities for compiling and testing submodules when working in a multi-module architecture. **Plugin ID: `org.jetbrains.intellij.platform.module`** @@ -124,14 +158,33 @@ dependencies { Note that the `:submodule` is added both to the `implementation` configuration and `intellijPlatformPluginModule` using the [](tools_intellij_platform_gradle_plugin_dependencies_extension.md#plugins) helper method. This guarantees that the submodule content will be merged into the main plugin Jar file. +### Available tasks +{#module-available-tasks} + +[`composedJar`](tools_intellij_platform_gradle_plugin_tasks.md#composedJar), +[`generateManifest`](tools_intellij_platform_gradle_plugin_tasks.md#generateManifest), +[`initializeIntelliJPlatformPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#initializeIntelliJPlatformPlugin), +[`instrumentCode`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentCode), +[`instrumentedJar`](tools_intellij_platform_gradle_plugin_tasks.md#instrumentedJar), +[`prepareSandbox`](tools_intellij_platform_gradle_plugin_tasks.md#prepareSandbox), +[`prepareTest`](tools_intellij_platform_gradle_plugin_tasks.md#prepareTest), +[`printBundledPlugins`](tools_intellij_platform_gradle_plugin_tasks.md#printBundledPlugins), +[`printProductsReleases`](tools_intellij_platform_gradle_plugin_tasks.md#printProductsReleases), +[`setupDependencies`](tools_intellij_platform_gradle_plugin_tasks.md#setupDependencies), +[`testIde`](tools_intellij_platform_gradle_plugin_tasks.md#testIde), +[`verifyPluginProjectConfiguration`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginProjectConfiguration) + ## Settings +{#settings} + +Plugin available for use in Gradle settings file. **Plugin ID: `org.jetbrains.intellij.platform.settings`** If you define project repositories within the settings.gradle.kts using the `dependencyResolutionManagement`, make sure to include the Settings plugin in settings.gradle.kts. -This approach allows for ommiting the `repositories {}` definition in the build.gradle.kts files. See [](tools_intellij_platform_gradle_plugin.md#configuration.dependencyResolutionManagement) for more details. +This approach allows for omitting the `repositories {}` definition in the build.gradle.kts files. See [](tools_intellij_platform_gradle_plugin.md#configuration.dependencyResolutionManagement) for more details. settings.gradle.kts @@ -188,7 +241,11 @@ dependencies { } ``` + ## Migration +{#migration} + +Plugin is designed to assist in upgrading projects that use Gradle IntelliJ Plugin **1.x** to the **2.x** version. **Plugin ID: `org.jetbrains.intellij.platform.migration`** @@ -199,7 +256,11 @@ It loads the [](#platform) plugin with additional mocks and checks applied — a See [](tools_intellij_platform_gradle_plugin_migration.md) for more details. + ## Base +{#base} + +Prepares all the custom configurations, transformers, and base tasks needed to manage the IntelliJ Platform dependency, JetBrains Runtime, CLI tools, and others. **Plugin ID: `org.jetbrains.intellij.platform.base`** @@ -228,3 +289,11 @@ intellijPlatform { ... } The plugin also introduces a task listener which allows for creating custom tasks decorated with [](tools_intellij_platform_gradle_plugin_task_awares.md). See [](tools_intellij_platform_gradle_plugin_recipies.md) for more details. + +### Available tasks +{#base-available-tasks} + +[`initializeIntelliJPlatformPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#initializeIntelliJPlatformPlugin), +[`printBundledPlugins`](tools_intellij_platform_gradle_plugin_tasks.md#printBundledPlugins), +[`printProductsReleases`](tools_intellij_platform_gradle_plugin_tasks.md#printProductsReleases), +[`setupDependencies`](tools_intellij_platform_gradle_plugin_tasks.md#setupDependencies), diff --git a/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_tasks.md b/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_tasks.md index 61ab3bb5b..1dab140f5 100644 --- a/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_tasks.md +++ b/topics/appendix/tools/intellij_platform_gradle_plugin/tools_intellij_platform_gradle_plugin_tasks.md @@ -24,49 +24,38 @@ flowchart LR initializeIntelliJPlatformPlugin subgraph ALL ["` `"] - subgraph BUILD ["Build"] - buildPlugin - buildSearchableOptions - jarSearchableOptions - - subgraph prepareSandbox_patchPluginXml ["` `"] - prepareSandbox - patchPluginXml - end - - subgraph instrumentation - direction BT - - instrumentedJar - instrumentCode - end + subgraph BASE ["Base"] + printBundledPlugins + printProductsReleases + setupDependencies end - subgraph PUBLISH ["Publish"] - publishPlugin - signPlugin - end - - subgraph TEST ["Test"] - runIde + subgraph MODULE ["Module"] + prepareSandbox + prepareTestSandbox + composedJar + generateManifest + instrumentCode + instrumentedJar prepareTest - testIdePerformance>testIdePerformance] - testIdeUi>testIdeUi] - end - - subgraph VERIFY ["Verify"] - direction TB - - verifyPlugin - verifyPluginSignature - verifyPluginStructure + testIde verifyPluginProjectConfiguration end - TEST ~~~ VERIFY - - printBundledPlugins - printProductsReleases + subgraph PLATFORM ["Platform"] + buildPlugin + buildSearchableOptions + jarSearchableOptions + patchPluginXml + publishPlugin + runIde + signPlugin + testIdePerformance + testIdeUi + verifyPluginSignature + verifyPluginStructure + verifyPlugin + end end end @@ -81,30 +70,33 @@ flowchart LR end - initializeIntelliJPlatformPlugin --> | runs before | ALL +%% initializeIntelliJPlatformPlugin --> | runs before | ALL + printBundledPlugins + printProductsReleases + setupDependencies - buildPlugin --> jarSearchableOptions & prepareSandbox_patchPluginXml - buildSearchableOptions --> prepareSandbox_patchPluginXml + composedJar --> jar & instrumentedJar + generateManifest instrumentCode --> compile instrumentedJar --> jar & instrumentCode - jarSearchableOptions --> buildSearchableOptions & prepareSandbox_patchPluginXml + prepareSandbox --> instrumentedJar & jar + prepareTestSandbox --> jar & instrumentedJar + prepareTest --> prepareTestSandbox + testIde --> prepareTest + verifyPluginProjectConfiguration + + buildPlugin --> jarSearchableOptions & prepareSandbox + buildSearchableOptions --> prepareSandbox + jarSearchableOptions --> buildSearchableOptions & patchPluginXml & prepareSandbox patchPluginXml - prepareSandbox --> jar & instrumentedJar - publishPlugin --> buildPlugin & signPlugin + runIde --> patchPluginXml & prepareSandbox signPlugin --> buildPlugin - - runIde --> prepareSandbox_patchPluginXml - - prepareTest --> prepareSandbox_patchPluginXml - test --> prepareTest - testIdePerformance + testIdePerformance --> prepareSandbox testIdeUi - - verifyPlugin --> buildPlugin - verifyPluginProjectConfiguration --> patchPluginXml verifyPluginSignature verifyPluginStructure --> prepareSandbox + verifyPlugin --> buildPlugin click initializeIntelliJPlatformPlugin "#initializeIntelliJPlatformPlugin" @@ -142,8 +134,12 @@ flowchart LR ## `buildPlugin` {#buildPlugin} +Builds the plugin and prepares the ZIP archive for testing and deployment. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module), [](tools_intellij_platform_gradle_plugin_plugins.md#base) + **Depends on**: [`jarSearchableOptions`](#jarSearchableOptions), [`prepareSandbox`](#prepareSandbox) **Extends**: [`Zip`][gradle-zip-task] @@ -180,6 +176,8 @@ Type ## `buildSearchableOptions` {#buildSearchableOptions} +Builds the index of UI components (searchable options) for the plugin. + **Depends on**: [`prepareSandbox`](#prepareSandbox) @@ -230,9 +228,15 @@ Default value ## `composedJar` {#composedJar} +Composes a final Jar archive by combining the base jar, and instrumented classes, and declared submodules. + -**Extends**: [`Jar`][gradle-jar-task], [`instrumentedJar`](#instrumentedJar) +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + +**Depends on**: [`jar`][gradle-jar-task], [`instrumentedJar`](#instrumentedJar) + +**Extends**: [`Jar`][gradle-jar-task] **Sources**: [`ComposedJarTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/ComposedJarTask.kt) @@ -258,8 +262,12 @@ Type ## `generateManifest` {#generateManifest} +Generates the MANIFEST.MF file with all relevant information about the project configuration. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) **Sources**: [`InitializeIntelliJPlatformPluginTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/InitializeIntelliJPlatformPluginTask.kt) @@ -327,8 +335,12 @@ Type ## `initializeIntelliJPlatformPlugin` {#initializeIntelliJPlatformPlugin} +Initializes the IntelliJ Platform Gradle Plugin + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module), [](tools_intellij_platform_gradle_plugin_plugins.md#base) + **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) **Sources**: [`InitializeIntelliJPlatformPluginTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/InitializeIntelliJPlatformPluginTask.kt) @@ -433,8 +445,14 @@ Type ## `instrumentCode` {#instrumentCode} +Executes the code instrumentation. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + +**Depends on**: [`jar`][gradle-jar-task] + **Extends**: [`DefaultTask`][gradle-default-task], [`JavaCompilerAware`](tools_intellij_platform_gradle_plugin_task_awares.md#JavaCompilerAware) **Sources**: [`InstrumentCodeTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/InstrumentCodeTask.kt) @@ -525,8 +543,12 @@ Type ## `instrumentedJar` {#instrumentedJar} +Creates a Jar file with instrumented classes. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: `jar`, [`instrumentCode`](#instrumentCode) **Extends**: [`Jar`][gradle-jar-task] @@ -540,8 +562,12 @@ Creates a copy of the current module's `jar` task output with instrumented class ## `jarSearchableOptions` {#jarSearchableOptions} +Creates a Jar file with searchable options to be distributed with the plugin. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`buildSearchableOptions`](#buildSearchableOptions), [`patchPluginXml`](#patchPluginXml), [`prepareSandbox`](#prepareSandbox) **Extends**: [`Jar`][gradle-jar-task], [`PluginAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginAware), [`SandboxAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxAware) @@ -550,7 +576,7 @@ Creates a copy of the current module's `jar` task output with instrumented class -Creates a JAR file with searchable options to be distributed with the plugin. +Creates a Jar file with searchable options to be distributed with the plugin. ### `destinationDirectory` @@ -597,15 +623,19 @@ Default value ## `patchPluginXml` {#patchPluginXml} +Patches plugin.xml file with provided values. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) **Sources**: [`PatchPluginXmlTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/PatchPluginXmlTask.kt) -Patches plugin.xml files with values provided with the [`intelliJPlatform.pluginConfiguration`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration) extension. +Patches plugin.xml file with values provided with the [`intelliJPlatform.pluginConfiguration`](tools_intellij_platform_gradle_plugin_extension.md#intellijPlatform-pluginConfiguration) extension. ### `inputFile` @@ -872,8 +902,12 @@ Default value ## `prepareSandbox` {#prepareSandbox} +Prepares a sandbox environment with the plugin and its dependencies installed. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: `jar`, [`instrumentedJar`](#instrumentedJar) **Extends**: [`Sync`][gradle-jar-task], [`SandboxProducerAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxProducerAware) @@ -980,8 +1014,12 @@ Type ## `prepareTest` {#prepareTest} +Prepares the test task. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: [`prepareTestSandbox`](#prepareTestSandbox) **Extends**: [`DefaultTask`][gradle-default-task], [`TestableAware`](tools_intellij_platform_gradle_plugin_task_awares.md#TestableAware) @@ -997,8 +1035,12 @@ Prepares an immutable [`test`](#test) task and provides all necessary dependenci ## `prepareTestSandbox` {#prepareTestSandbox} +Prepares the test task sandbox. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: `jar`, [`instrumentedJar`](#instrumentedJar) **Extends**: [`Sync`][gradle-jar-task], [`SandboxProducerAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxProducerAware) @@ -1014,8 +1056,12 @@ The [`prepareSandbox`](#prepareSandbox) task instance configured to work with th ## `printBundledPlugins` {#printBundledPlugins} +Prints the list of bundled plugins available within the currently targeted IntelliJ Platform. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module), [](tools_intellij_platform_gradle_plugin_plugins.md#base) + **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) **Sources**: [`PrintBundledPluginsTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/PrintBundledPluginsTask.kt) @@ -1029,8 +1075,12 @@ Prints the list of bundled plugins available within the currently targeted Intel ## `printProductsReleases` {#printProductsReleases} +Prints the list of binary product releases that match criteria. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module), [](tools_intellij_platform_gradle_plugin_plugins.md#base) + **Extends**: [`DefaultTask`][gradle-default-task], [`ProductReleasesValueSource.FilterParameters`](tools_intellij_platform_gradle_plugin_types.md#ProductReleasesValueSource-FilterParameters) **Sources**: [`PrintProductsReleasesTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/PrintProductsReleasesTask.kt) @@ -1065,8 +1115,12 @@ See also: ## `publishPlugin` {#publishPlugin} +Publishes the plugin to the remote plugins repository. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`buildPlugin`](#buildPlugin), [`signPlugin`](#signPlugin) **Extends**: [`DefaultTask`][gradle-default-task] @@ -1172,8 +1226,12 @@ Default value ## `runIde` {#runIde} +Runs the IDE instance using the currently selected IntelliJ Platform with the built plugin loaded. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`patchPluginXml`](#patchPluginXml), [`prepareSandbox`](#prepareSandbox) **Extends**: [`JavaExec`][gradle-javaexec-task], [`RunnableIdeAware`](tools_intellij_platform_gradle_plugin_task_awares.md#RunnableIdeAware), [`SplitModeAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SplitModeAware), [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) @@ -1193,8 +1251,14 @@ To register a customized task, use [`intelliJPlatformTestingExtension.runIde`](t ## `setupDependencies` {#setupDependencies} +Deprecated. A deprecated method for setting up IntelliJ Platform dependencies. + + + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module), [](tools_intellij_platform_gradle_plugin_plugins.md#base) + **Extends**: [`DefaultTask`][gradle-default-task] **Sources**: [`SetupDependenciesTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/SetupDependenciesTask.kt) @@ -1215,8 +1279,12 @@ This method is no longer needed as the dependency on IntelliJ Platform is declar ## `signPlugin` {#signPlugin} +Signs the ZIP archive with the provided key using Marketplace ZIP Signer library.2 + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`buildPlugin`](#buildPlugin) **Extends**: [`JavaExec`][gradle-javaexec-task], [`SigningAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SigningAware) @@ -1417,8 +1485,12 @@ Default value ## `test` {#test} +The base Gradle test task preconfigured to run IntelliJ Platform tests. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: [`prepareTest`](#prepareTest) **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware), [`PluginAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginAware) @@ -1433,11 +1505,15 @@ The task itself isn't mutated and a dedicated [`prepareTest`](#prepareTest) task -## `testIde`* +## `testIde` {#testIde} +Runs tests using a custom IntelliJ Platform with the developed plugin installed. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: [`prepareTest`](#prepareTest) **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware), [`PluginAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginAware) @@ -1448,9 +1524,9 @@ The task itself isn't mutated and a dedicated [`prepareTest`](#prepareTest) task > The `testIde` task is not registered by default. > -{style="tip"} +{style="warning"} -Runs plugin tests against the currently selected IntelliJ Platform with the built plugin loaded. +Runs tests using a custom IntelliJ Platform with the developed plugin installed. It directly extends the [Test][gradle-test-task] Gradle task, which allows for an extensive configuration (system properties, memory management, etc.). The [`TestIdeTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/TestIdeTask.kt) is a class used only for handling custom `testIde` tasks. @@ -1462,6 +1538,20 @@ To register a customized test task, use [`intelliJPlatformTestingExtension.testI ## `testIdePerformance` {#testIdePerformance} +Runs performance tests on the IntelliJ Platform with the developed plugin installed. + + + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + +**Depends on**: [`prepareSandbox`](#prepareSandbox) + +**Extends**: [`JavaExec`][gradle-javaexec-task], [`RunnableIdeAware`](tools_intellij_platform_gradle_plugin_task_awares.md#RunnableIdeAware), [`TestableAware`](tools_intellij_platform_gradle_plugin_task_awares.md#TestableAware), [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware) + +**Sources**: [`TestIdePerformanceTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/TestIdePerformanceTask.kt) + + + > Not implemented. > {style="warning"} @@ -1471,6 +1561,18 @@ To register a customized test task, use [`intelliJPlatformTestingExtension.testI ## `testIdeUi` {#testIdeUi} +Runs the IDE instance with the developed plugin and Starter framework for UI testing. + + + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + +**Extends**: [`Test`][gradle-test-task], [`TestableAware`](tools_intellij_platform_gradle_plugin_task_awares.md#TestableAware) + +**Sources**: [`TestIdeUiTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/TestIdeUiTask.kt) + + + Runs the IDE instance with the developed plugin and Starter framework for UI testing. @@ -1491,8 +1593,12 @@ Default value ## `verifyPluginProjectConfiguration` {#verifyPluginProjectConfiguration} +Validates the plugin project configuration. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform), [](tools_intellij_platform_gradle_plugin_plugins.md#module) + **Depends on**: [`patchPluginXml`](#patchPluginXml) **Extends**: [`DefaultTask`][gradle-default-task], [`IntelliJPlatformVersionAware`](tools_intellij_platform_gradle_plugin_task_awares.md#IntelliJPlatformVersionAware), [`PluginAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginAware) @@ -1706,8 +1812,12 @@ Default value ## `verifyPluginSignature` {#verifyPluginSignature} +Validates the signature of the plugin archive file using the Marketplace ZIP Signer library. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Extends**: [`JavaExec`][gradle-javaexec-task], [`SigningAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SigningAware) **Sources**: [`PrepareSandboxTask`](%gh-ijpgp-master%/src/main/kotlin/org/jetbrains/intellij/platform/gradle/tasks/VerifyPluginSignatureTask.kt) @@ -1768,8 +1878,12 @@ Default value ## `verifyPluginStructure` {#verifyPluginStructure} +Validates completeness and contents of plugin.xml descriptors as well as plugin archive structure. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`prepareSandbox`](#prepareSandbox) **Extends**: [`DefaultTask`][gradle-default-task], [`SandboxAware`](tools_intellij_platform_gradle_plugin_task_awares.md#SandboxAware) @@ -1840,8 +1954,12 @@ Default value ## `verifyPlugin` {#verifyPlugin} +Runs the IntelliJ Plugin Verifier CLI tool to check the binary compatibility with specified IDE builds. + +**Available in:** [](tools_intellij_platform_gradle_plugin_plugins.md#platform) + **Depends on**: [`buildPlugin`](#buildPlugin) **Extends**: [`JavaExec`][gradle-javaexec-task], [`RuntimeAware`](tools_intellij_platform_gradle_plugin_task_awares.md#RuntimeAware), [`PluginVerifierAware`](tools_intellij_platform_gradle_plugin_task_awares.md#PluginVerifierAware)