Releases: JetBrains/intellij-platform-gradle-plugin
2.6.0
Added
- Add
compatiblePlugin(id)/compatiblePlugins(ids)dependency helper for resolving plugins from JetBrains Marketplace in the latest compatible versions. - Add
TestFrameworkType.Plugin.CSSandTestFrameworkType.Plugin.XMLto support test development requiring XML or CSS language. - Warn when Plugin Verifier is about to run verification against more than five IDEs.
- Make the
printBundledPluginstask print bundled plugin names next to IDs. #1674
Changed
- Deprecate Aqua (QA) as a target IntelliJ Platform
- Print the requested IntelliJ Platform when throwing an exception about an unresolved dependency.
- Make
IntelliJPlatformDependenciesHelperaware of the custom IntelliJ Platform when used within custom tasks. - Move the Coroutines JavaAgent lock file into the module's build directory
- Skip creating the Coroutines JavaAgent for modules
- Remove the default
untilBuildvalue - Drop JPS dependencies shadowing
Fixed
- Add test-related sandbox configurations and runtime fixes
- Set the required
extractedandcollectedattributes for custom test classpath configurations - Set the repository name and fix the
actionapplication increateCustomPluginRepository - Refactor build service registration to use
registerClassLoaderScopedBuildServiceto avoid issues caused by different classpaths in the project. #1919 - Use the proper IntelliJ Platform when setting up the custom test runtime
2.5.0
Added
- Introduce configurations for IntelliJ Platform test plugins, dependencies, and bundled modules along with
testPlugin,testBundledPlugin, andtestBundledModuledependency helpers - Support different
kotlinx.coroutinesJavaAgent FQNs by checking for the class presence in the IntelliJ Platform classpath
Fixed
- Do not fail when JBR dependency cannot be resolved, and proceed with JRE resolution using other available predictions
- Performance improvement: memoize the
ProductInfoPathResolverresolution.
2.4.0
Added
- Register the
TestIdeUiTaskfor Starter purposes. - Introduce a custom test classpath configuration for custom
TestableAware-like tasks - Add
AddDefaultIntelliJPlatformDependenciesproperty to control if default dependencies (com.intellijandintellij.rider) are added automatically with IntelliJ Platform - Use the exact IntelliJ Platform version to resolve platform dependencies when targeting IntelliJ Platform from the nightly channel.
- Introduce the
intellijPlatformTestRuntimeClasspathconfiguration - Automatically load the
com.intellij.clioninto the CLion classpath - Introduce the
ExtractorServiceas a reusable tool for custom IntelliJ Platform extraction flow cases
Changed
- Stop shadowing Gradle plugin dependencies, manually repack only JPS Module
- Load the
com.intellijmodule by default when creating the IntelliJ Platform dependency - Load the
com.intellijmodule with its optional dependencies for tests classpath as a cleaner fix for IJPL-180516 - Store
localPlatformArtifactsIvy XML files within the version-based subdirectory - Deprecate Writerside (WRS) as a target IntelliJ Platform
- Use Plugin Verifier libraries to resolve the bundled plugin classpath
Fixed
- Performance improvement: memoize the
JavaRuntimePathResolverresolution. - Performance improvement: do not resolve JetBrains IDEs/Android Studio release URLs in the configuration phase.
- Performance improvement: cache the IntelliJ Platform instances parsed with the Plugin Verifier libraries
- Tests classpath: do not blindly include all plugin's
lib/**/*.jar - Tests classpath: do not load all bundled plugins and modules into the classpath
- Classpath: correctly resolve all necessary modules for bundled plugins and modules
- Avoid creating tasks eagerly and use
configureEach(configuration)instead. #1901
2.3.0
Added
- Warn that using Rider as a target IntelliJ Platform with
useInstaller = trueis currently not supported, please setuseInstaller = falseinstead. #1852 - Add
ide(type: Provider<*>, version: Provider<String>, useInstaller: Provider<Boolean>)overload to thepluginVerification.idesblock. - Warn that since the IntelliJ Platform version
2025.1(build251), the required Kotlin version is2.0.0or higher. - Load the
com.intellijbundled module by default for all IntelliJ Platform types - Warn when the "until-build" property is specified for IntelliJ Platform version 243 or higher, as it is ignored
Fixed
2.2.1
Added
- Introduce LSP API Test Framework entry as
TestFrameworkType.Plugin.LSP
Changed
- Better resolve the plugin dependency path with nested directories in the plugin archive.
Fixed
- Local IntelliJ Platform wasn't handled with the
CollectorTransformerdue to the missing attributes applied to thedirectoryarchive. - Plugin Verifier: suppress plugin problems for bundled or third-party plugins
- Plugin Verifier: when creating an IDE, silently skip missing layout entries
- Custom plugin repository adjustments
2.2.0
Added
- Resolve common dependencies (instrumentation tools, Plugin Verifier, ZIP Signer) automatically without the need for adding helpers.
- Introduce
intellijPlatformClasspathconfiguration to allow retrieving the processed IntelliJ Platform and plugins dependencies. - Warn if trying to refer to a bundled plugin via
intellijPlatform.pluginsinstead of requiredintellijPlatform.bundledPlugin. - Set
ide.native.launcher=falseforRunnableIdeAwaretasks to prevent from showing theThe IDE seems to be launched with a script launcherwarning notification. - Add bundledPlugins with transitive dependencies to the tests runtime classpath.
- Set
intellij.testFramework.rethrow.logged.errors=trueto make logged errors fails test immediately. #1828
Changed
- Move
localPlatformArtifacts()to the top of thedefaultRepositories()list. - Make IntelliJ Platform dependencies available to
testImplementationby default to avoid mutating tests classpath - For running testing, use test sandbox instead of compiled classes from
build/classesdirectory - Updated the
publishPlugin()task to use IDE Services’ newPOST /api/pluginsAPI when configured to publish to the IDE Services plugin repository, replacing the deprecatedPOST /api/ij-plugins/uploadendpoint - Rewrite bundled plugins/modules resolution by using IntelliJ Structure library.
- Update minimal supported Gradle version to
8.5
Fixed
- Make the
testRuntimeClasspathconfiguration request instrumented and composed jars of imported modules when running tests - Adjust local artifact definition in Ivy XML files to satisfy Gradle dependency locking. #1778
- Add the missing
org.jetbrains.kotlin.platform.type=jvmattribute to theintellijPlatformRuntimeClasspathconfiguration manually as it is not inherited from theruntimeClasspath. Could not generate a decorated class for type PluginArtifactRepository.when creating a custom plugin repository.- Generation of duplicate files in
.intellijPlatform/localPlatformArtifactswith different version numbers. - Gradle's
api&compileOnlyApiconfigurations created by its java-library plugin don't work, and transitive implementation scope dependencies get exposed, when this plugin is used. #1799 - Incorrect transitive dependencies calculation for bundled modules. #1791
- Fixed IOOB exception while running tests from Gradle.
- Building the searchable options:
Unable to create shared archive file $IDE_CACHE_DIR/pycharm243.18137.19.jsa: (No such file or directory). - Compatibility with Gradle dependency verification. Previously it was failing with
Failed to create MD5 hash for file. - Rework how the IDEs from Plugin Verification are resolved. #1784
- Exclude
kotlin-stdlibandkotlinx-coroutinestransitive dependencies in various variants from IntelliJ Platform dependencies. #1817 - Can't find
performanceTesting.jarwhen building against Android Studio 242+. #1738 - Custom
runIdetask do not find the right runtime, ifuseInstallerisfalse. #1827 - PluginVerifier doesn't honor gradle offline mode. #1820
- Make
intellij.riderbundled module automatically available for Rider. #1774 - Bump vulnerable
com.squareup.okio:okio:1.17.2to1.17.6. #1795
2.1.0
Added
- Added
PrepareSandboxTask.pluginNamefor easier accessing of the plugin directory name - Allow for using non-installer IDEs for plugin verification #1715
- Added
bundledModule()dependency extension helpers - Detect and warn about the
kotlinx-coroutineslibrary in transitive dependencies - Introduce caching when creating dependencies
Changed
- Add IntelliJ Platform v2 product modules to the test classpath
- Invalidate local dependency artifacts XML files running
Fixed
- Fixed caching for
IntelliJPlatformArgumentProvider.coroutinesJavaAgentFile. intellijPlatform.pluginConfiguration.descriptionappends content instead of replacing it #1744- The
disabledPlugins.txtfile is not updated when disabling bundled plugins #1745 - Plugin sandbox created by
IntelliJPlatformTestingExtensionis not correct forlocalPlugin(org.gradle.api.artifacts.ProjectDependency)#1743 - Better resolving the JVM variant of the
io.github.pdvrieze.xmlutildependency #1741 - Remove the inclusion of all IntelliJ Platform v2 bundled modules to the classpath #1761
- Duplicate bundled template error in tests #1755
- Fixed IDE problem when submodule jars appear as External Libraries
- Fixed
java.util.ConcurrentModificationExceptionon Gradle sync caused by thepluginVerificationconfiguration #1714 - Fixed Configuration Cache issues related to the
intellijPlatform.buildSearchableOptionsflag
2.0.1
Changed
- Don't register the
testIdeUitask by default - Add
DisableCachingByDefaulttoPrepareSandboxTask#1721 - Make the
prepareSandboxtask always run whenever any of the sandbox directories is missing #1730
Fixed
- Fixed "No IDE resolved for verification with the IntelliJ Plugin Verifier" when
untilBuildis an empty string #1717 - Dependency resolution fails if a repository with
exclusiveContentrules is added twice – usecontentinclusive rule instead #1728 - Apply
composedJarlibrary elements attribute totestRuntimeClasspathconfiguration - When adding new IDEs for Plugin Verifier, do not mutate existing
intellijPluginVerifierIdes_Xconfigurations if present - Respect the
sandboxDirectoryproperty when configuring custom tasks withintellijPlatformTestingextension #1723
2.0.0
IntelliJ Platform Gradle Plugin 2.0 is out!
Read the full blog post.
Version 2.0 of the IntelliJ Platform Gradle Plugin is now available! Previously called the Gradle IntelliJ Plugin, this updated plugin for the Gradle build system simplifies the configuration of environments for building, testing, verifying, and publishing plugins for IntelliJ-based IDEs. Redesigned and rewritten, it addresses community-reported issues and feature requests from previous versions.
To start using version 2.0 of the IntelliJ Platform Gradle Plugin, visit the documentation pages at IntelliJ Platform SDK | Tooling | IntelliJ Platform Gradle Plugin 2.x, where you will find a proper introduction to all of the new features and changes, a migration guide, and examples of various configurations you may be interested in.
For projects created with the IntelliJ Platform Plugin Template, we advise taking a look at the 2.0.0 pull request applied on top of the obsolete Gradle IntelliJ Plugin 1.x configuration: https://github.com/JetBrains/intellij-platform-plugin-template/pull/458/files
If you have any issues or requests, please submit them to our GitHub Issues page or the JetBrains Platform Slack.
To submit questions or suggestions related to the documentation, please use the feedback form at the bottom of the article.
2.0.0-rc2
The IntelliJ Platform Gradle Plugin 2.0.0-rc2 is a plugin for the Gradle build system to help configure environments for building, testing, verifying, and publishing plugins for IntelliJ-based IDEs. It is a successor of Gradle IntelliJ Plugin 1.x.
To read more about the upcoming 2.0.0 release, please visit the documentation and the Migration Guide from Gradle IntelliJ Plugin.
If you have any issues or requests, please submit them to the GitHub Issues.
To submit questions or suggestions in relation to the documentation, use the feedback form at the bottom of the article.
Added
- Groovy support
- Make
plugin(id, version, group)dependency helper acceptgroupin the format of: empty (use Marketplace groupId),@channel, or user-defined groupId - Introduce
PrepareJarSearchableOptionsTaskfor performance purposes - Possibility for specifying
configurationNamewhen usingtestFramework,platformDependency, andtestPlatformDependencydependency helpers
Fixed
- Sandbox producer of a custom task shouldn't inherit
sandboxDirectoryfrom the base sandbox producer. - Use lenient configuration when resolving JetBrains Runtime (JBR) dependencies
- Add
exclusiveContentto thejetbrainsRuntime()repository definition to resolve only JBR artifacts - Avoid recalculating the
IvyModulefor bundled plugin/module if already written to Ivy XML file