mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 18:27:49 +08:00
[IntelliJ Platform Gradle Plugin] overall content update
This commit is contained in:
parent
35ac685b10
commit
94a47f3a61
@ -65,15 +65,22 @@ pluginManagement {
|
||||
}
|
||||
```
|
||||
|
||||
[//]: # (> The current IntelliJ Platform Gradle Plugin Snapshot version is )
|
||||
> 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"/>
|
||||
|
@ -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")
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@ -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
|
||||
```
|
||||
|
@ -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).
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user