[IntelliJ Platform Gradle Plugin] overall content update

This commit is contained in:
Jakub Chrzanowski 2024-07-23 12:38:36 +02:00
parent 35ac685b10
commit 94a47f3a61
No known key found for this signature in database
GPG Key ID: C39095BFD769862E
4 changed files with 46 additions and 27 deletions

View File

@ -65,15 +65,22 @@ pluginManagement {
}
```
[//]: # (> The current IntelliJ Platform Gradle Plugin Snapshot version is ![GitHub Snapshot Release](https://img.shields.io/nexus/s/org.jetbrains.intellij.platform/intellij-platform-gradle-plugin?server=https://oss.sonatype.org&label=))
> The current IntelliJ Platform Gradle Plugin Snapshot version is: `2.0.0-SNAPSHOT`
>
> The snapshot release is published with the constant version, creating a possibility for Gradle to resort to the cached version of the plugin.
>
> To update all dependencies in the dependency cache, use the `--refresh-dependencies` command line option.
### Plugins
The IntelliJ Platform Gradle Plugin consists of multiple [plugins](tools_intellij_platform_gradle_plugin_plugins.md) which can be applied in bundles ([](tools_intellij_platform_gradle_plugin_plugins.md#platform) or [](tools_intellij_platform_gradle_plugin_plugins.md#module)) or separately.
The IntelliJ Platform Gradle Plugin consists of [plugins](tools_intellij_platform_gradle_plugin_plugins.md) which can be applied depending on the purpose.
By default, the [](tools_intellij_platform_gradle_plugin_plugins.md#platform) plugin (`org.jetbrains.intellij.platform`) should be applied to the main plugin project module.
Subplugins architecture allows applying a subset of features, e.g., to provide the IntelliJ Platform dependency to a project submodule without creating unnecessary tasks.
When working with the [](#multi-module-project-structure) it is required to use [](tools_intellij_platform_gradle_plugin_plugins.md#module) plugin (`org.jetbrains.intellij.platform.module`) instead to creating tasks and configurations specific to the main module only.
The [](tools_intellij_platform_gradle_plugin_plugins.md#settings) plugin (`org.jetbrains.intellij.platform.settings`) allows for adding plugin development related repositories right in the <path>settings.gradle.kts</path> file if project configuration involves [](#configuration.dependencyResolutionManagement).
### Attaching Sources
@ -105,9 +112,9 @@ No additional IDE settings are required.
</tabs>
The attaching sources is handed by DevKit plugin thus it's recommended to use always the latest available IDE release.
The attaching sources is handed by the Plugin DevKit plugin thus it's recommended to use always the latest available IDE release.
If the opened compiled class has no sources available locally, the DevKit plugin will detect the relevant source coordinates and provide an action to <control>Download IntelliJ Platform sources</control> or <control>Attach \$API_NAME\$ sources</control>.
If the opened compiled class has no sources available locally, the Plugin DevKit plugin will detect the relevant source coordinates and provide an action to <control>Download IntelliJ Platform sources</control> or <control>Attach \$API_NAME\$ sources</control>.
## Configuration
@ -285,4 +292,26 @@ dependencies {
<include from="tools_intellij_platform_gradle_plugin_repositories_extension.md" element-id="localPlatformArtifacts_required"/>
### Multi-Module Project Structure
When working on a complex plugin, it is often convenient to split the code base into multiple submodules.
To avoid pluting submodules with tasks or configurations specific to the root module only, i.e., responsible for signing, publishing, or running the plugin, a dedicated subplugin was introduced.
The root module of the IntelliJ-based plugin project is supposed to apply the main [](tools_intellij_platform_gradle_plugin_plugins.md#platform) plugin as follows:
```kotlin
plugins {
id("org.jetbrains.intellij.platform") version "%intellij-platform-gradle-plugin-version%"
}
```
Any other included submodule should utilize the [](tools_intellij_platform_gradle_plugin_plugins.md#module) instead:
```kotlin
plugins {
id("org.jetbrains.intellij.platform.module")
}
```
<include from="snippets.md" element-id="missingContent"/>

View File

@ -4,20 +4,6 @@
<link-summary>FAQ for using IntelliJ Platform Gradle Plugin</link-summary>
### How to modify JVM arguments of the `runIde` task?
[`runIde`](tools_intellij_platform_gradle_plugin_tasks.md#runIde) task is a [`JavaExec`](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html) task and can be modified according to the documentation.
To add some JVM arguments while launching the IDE, configure [`runIde`](tools_intellij_platform_gradle_plugin_tasks.md#runIde) task as follows:
```kotlin
tasks {
runIde {
jvmArgs("-DmyProperty=value")
}
}
```
### How to modify system properties of the `runIde` task?
Using the [very same task documentation](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.JavaExec.html), configure [`runIde`](tools_intellij_platform_gradle_plugin_tasks.md#runIde) task:
@ -25,7 +11,9 @@ Using the [very same task documentation](https://docs.gradle.org/current/dsl/org
```kotlin
tasks {
runIde {
systemProperty("name", "value")
jvmArgumentProviders += CommandLineArgumentProvider {
listOf("-Dname=value")
}
}
}
```

View File

@ -55,13 +55,13 @@ Build features are Gradle properties defined by the IntelliJ Platform Gradle Plu
Such properties have a simplified form:
```
org.jetbrains.intellij.platform.buildFeature.<buildFeatureName>=<true|false>
org.jetbrains.intellij.platform.<buildFeatureName>=<true|false>
```
E.g., to disable the [](#selfUpdateCheck) feature, add this line:
```
org.jetbrains.intellij.platform.buildFeature.selfUpdateCheck=false
org.jetbrains.intellij.platform.selfUpdateCheck=false
```
### `downloadSources`
@ -81,7 +81,7 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.downloadSources=false
org.jetbrains.intellij.platform.downloadSources=false
```
@ -97,7 +97,7 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.buildSearchableOptions=false
org.jetbrains.intellij.platform.buildSearchableOptions=false
```
### `paidPluginSearchableOptionsWarning`
@ -114,7 +114,7 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.paidPluginSearchableOptionsWarning=false
org.jetbrains.intellij.platform.paidPluginSearchableOptionsWarning=false
```
### `selfUpdateCheck`
@ -137,7 +137,7 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.selfUpdateCheck=false
org.jetbrains.intellij.platform.selfUpdateCheck=false
```
### `useCacheRedirector`
@ -155,7 +155,7 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.useCacheRedirector=false
org.jetbrains.intellij.platform.useCacheRedirector=false
```
### `useClosestVersionResolving`
@ -175,5 +175,5 @@ Default value
Example
:
```
org.jetbrains.intellij.platform.buildFeature.useClosestVersionResolving=false
org.jetbrains.intellij.platform.useClosestVersionResolving=false
```

View File

@ -1188,6 +1188,8 @@ As soon as [`privateKey`](#signPlugin-privateKey) (or [`privateKeyFile`](#signPl
(or [`certificateChainFile`](#signPlugin-certificateChainFile) properties are specified,
the task will be executed automatically right before the [`publishPlugin`](#publishPlugin) task.
> To start using the plugin signing feature, it is necessary to add a dependency on the Marketplace ZIP Signer CLI tool by adding the [`zipSigner()`](tools_intellij_platform_gradle_plugin_dependencies_extension.md#tools) entry to the dependencies section.
For more details, see [](plugin_signing.md).