From 7ad8389e0dc90e2eeb48ffe819590947afbf750f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Wed, 26 Mar 2025 11:11:56 +0100 Subject: [PATCH] add Gradle 2.x intro page --- ijs.tree | 4 +- .../plugin/developing_plugins.md | 7 +- .../build_system/configuring_gradle.md | 77 +++++++++++++++++++ .../configuring_plugin_project.md | 9 ++- 4 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 topics/tutorials/build_system/configuring_gradle.md diff --git a/ijs.tree b/ijs.tree index 5cbc90f2a..e4d8ce383 100644 --- a/ijs.tree +++ b/ijs.tree @@ -36,7 +36,9 @@ accepts-web-file-names="github-template.html"/> - + + + diff --git a/topics/basics/getting_started/plugin/developing_plugins.md b/topics/basics/getting_started/plugin/developing_plugins.md index 84169ecf4..352ac9df0 100644 --- a/topics/basics/getting_started/plugin/developing_plugins.md +++ b/topics/basics/getting_started/plugin/developing_plugins.md @@ -1,4 +1,4 @@ - + # Developing a Plugin @@ -16,7 +16,7 @@ Before starting with the actual development, make sure to understand all require The recommended solution for building IntelliJ Platform plugins is using [Gradle](https://www.gradle.org) with a dedicated Gradle plugin: [](tools_intellij_platform_gradle_plugin.md) or -[](tools_gradle_intellij_plugin.md). +[](tools_gradle_intellij_plugin.md) (obsolete). @@ -47,7 +47,8 @@ A dedicated [SBT plugin](https://github.com/JetBrains/sbt-idea-plugin) is availa * [](creating_plugin_project.md) * [](plugin_github_template.md) -* [](configuring_plugin_project.md) +* [](configuring_gradle.md) + * [](configuring_plugin_project.md) _(Obsolete)_ * [](using_kotlin.md) * [](plugin_signing.md) * [](publishing_plugin.md) diff --git a/topics/tutorials/build_system/configuring_gradle.md b/topics/tutorials/build_system/configuring_gradle.md new file mode 100644 index 000000000..59c597684 --- /dev/null +++ b/topics/tutorials/build_system/configuring_gradle.md @@ -0,0 +1,77 @@ + + +# Configuring IntelliJ Platform Gradle Plugin (2.x) + +Essential configuration and tasks for IntelliJ Platform Gradle Plugin (2.x) plugin projects. +Configuring the essential IntelliJ Platform Gradle Plugin (2.x) attributes and tasks. + +This section presents a short overview of the most important Gradle plugin configuration elements to achieve commonly desired functionality. + +For more advanced options and topics, see: + +- [](tools_intellij_platform_gradle_plugin.md) reference +- [](tools_intellij_platform_gradle_plugin_faq.md) +- [](tools_intellij_platform_gradle_plugin_recipes.md) +- [](tools_intellij_platform_gradle_plugin_migration.md) + + + + +## Keep Up To Date + +IntelliJ Platform Gradle Plugin (2.x) and [Gradle](https://gradle.org/install/) build system are constantly developed, and every new release +brings important bug fixes, new features, and improvements that make the development more efficient. + +It is strongly recommended to keep updating both Gradle and IntelliJ Platform Gradle Plugin to the latest versions. +Newer IDE releases might not be supported fully in older releases of the IntelliJ Platform Gradle Plugin. + +> The current IntelliJ Platform Gradle Plugin (2.x) version is **%intellij-platform-gradle-plugin-version%** +> +{style="note"} + +## Setup + +See [](tools_intellij_platform_gradle_plugin.md#configuration) for the necessary declaration of repositories. + +## Target Platform and Dependencies + + + +If a matching version of the specified IntelliJ Platform is not present on the local machine, the Gradle plugin will download it. +IntelliJ IDEA then indexes the build and any associated source code and [JetBrains Java Runtime](tools_intellij_platform_gradle_plugin_jetbrains_runtime.md). + +To build a plugin for more than one target platform version, see [](build_number_ranges.md#multipleIDEVersions) for important notes. + +### IntelliJ Platform Configuration + +The target IDE platform is set in the `dependencies {}` block, +see [](tools_intellij_platform_gradle_plugin.md#setting-up-intellij-platform) for a minimal sample. + +[](tools_intellij_platform_gradle_plugin_dependencies_extension.md#target-platforms) lists all available extension functions for known target IDE platforms. + +### Plugin Dependencies + +IntelliJ Platform plugin projects may depend on either bundled or third-party plugins defined in the `dependencies {}` block, +see [](tools_intellij_platform_gradle_plugin_dependencies_extension.md#plugins) for details. + +The runtime dependency must be added in the [Plugin Configuration](plugin_configuration_file.md) (plugin.xml) file as described in +[Plugin Dependencies](plugin_dependencies.md#dependency-declaration-in-pluginxml). + +## Run IDE Task + +By default, the [`runIde`](tools_intellij_platform_gradle_plugin_tasks.md#runIde) task will use the same version of the IntelliJ Platform +for the IDE Development instance as was used for building the plugin. + +## Verifying Plugin + +The following tasks allow running integrity and compatibility tests: + +- [`verifyPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPlugin) - runs the [](verifying_plugin_compatibility.md#plugin-verifier) tool to check the binary compatibility with the specified IDE builds +- [`verifyPluginStructure`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginStructure) — validates completeness and contents of [plugin.xml descriptors](plugin_configuration_file.md) as well as the plugin's archive structure +- [`verifyPluginProjectConfiguration`](tools_intellij_platform_gradle_plugin_tasks.md#verifyPluginProjectConfiguration) — validates the plugin project configuration + +## Publishing Plugin + +Review the [](publishing_plugin.md) page before using the [`publishPlugin`](tools_intellij_platform_gradle_plugin_tasks.md#publishPlugin) task. + + diff --git a/topics/tutorials/build_system/configuring_plugin_project.md b/topics/tutorials/build_system/configuring_plugin_project.md index 2c83765dd..f2c5c5ea4 100644 --- a/topics/tutorials/build_system/configuring_plugin_project.md +++ b/topics/tutorials/build_system/configuring_plugin_project.md @@ -1,13 +1,14 @@ - + -# Configuring Gradle IntelliJ Plugin +# Configuring Gradle IntelliJ Plugin (1.x) + Configuring the essential Gradle IntelliJ Plugin attributes and tasks. -This section presents a guided tour of Gradle plugin attributes to achieve the commonly desired functionality. +This page presents a guided tour of Gradle plugin attributes to achieve the commonly desired functionality. For more advanced options, see the full [](tools_gradle_intellij_plugin.md) reference. - +