Releases: JetBrains/intellij-platform-gradle-plugin
Releases · JetBrains/intellij-platform-gradle-plugin
2.16.0
Added
- Cache a serialized IDE layout index and reuse it for bundled plugin/module dependency resolution, test runtime classpath collection, and
printBundledPlugins/printBundledModules.
Fixed
- Avoid resolving the JetBrains Runtime for
buildSearchableOptionswhen searchable options are skipped, while keeping JBR resolution for tests and IDE run tasks. - Refactor Kotlin JVM toolchain configuration into a dedicated utility and add an isolation test for Kotlin Gradle API links.
- Dependency verification fails because of a "corrupted" asc because of ivy misconfiguration #2140
- Include
$legacy_jps_modulenamespace in module descriptor handling and update related tests
2.15.0
Added
- Apply Gradle Changelog Plugin conventions automatically when
org.jetbrains.changelogis present, including default changelog extension values,changeNotes, andpublishPluginwiring. - Supported upcoming changes in module-descriptors.jar format in 262.* IDEs.
- Skip
buildSearchableOptionswhen the main plugin descriptor and included module descriptors do not declare Configurable extension points. - Add
org.jetbrains.intellij.platform.forceBuildSearchableOptionsGradle property to forcebuildSearchableOptionsto run even when automatic detection would skip it. - Added support for testing Jupyter and Notebooks by introducing new test frameworks:
TestFrameworkType.Plugin.JupyterandTestFrameworkType.Plugin.Notebook - Add
pluginComposedModuledependency support and extend regression test for multi-module projects
Changed
- Expand default
failureLevellist inPluginVerificationto include internal and override-only API usages. - Reduce
CollectorTransformerand module descriptor processing overhead by replacing genericmodule-descriptors.jarXML deserialization with a lightweight shared parser. - Introduce
ProductReleasesService, add caching for release resolution, and refactor release filtering logic. - Cache Android Studio download-link and JetBrains Client build-number value source lookups across repeated resolution in the same build.
- Add shared
plugin.xmlparsing cache and reuse it across plugin verification, searchable options, and IDE run argument preparation. - Avoid wiring
initializeIntellijPlatformPlugininto module project tasks and trim unused task preconfiguration from the self-update path. - Avoid rewriting unchanged sandbox and generated XML/manifest files when their content stays the same.
- Refactor
GenerateManifestTaskto replaceProductInfowith explicit platform properties (platformType,platformVersion,platformBuild)
Fixed
- Fixed incorrectly calculated module descriptor coordinates used for excluding transitive dependencies. #2127
- Refactor
ComposedJarTaskmodule naming logic and remove redundant test method fromIntelliJPlatformTestingExtensionTest. #2124 - Replace hardcoded
"com.intellij"with centralizedIDEA_COREconstant in dependency resolution and filtering logic. #2137 - Refactor IntelliJ Gradle plugin to improve Java and Kotlin toolchain configuration handling, ensuring proper defaults and streamlined overrides. #2120
2.14.0
Breaking Changes
- Default
intellijPlatform.pluginConfiguration.ideaVersion.sinceBuildto the target IntelliJ Platformmajorbuild instead ofmajor.minor; explicitly setting it to themajorvalue is now redundant and can be removed. - Apply
intellijPlatform.pluginVerification.ides.recommended()by default when no IntelliJ Plugin Verifier IDEs are configured explicitly. - Default
intellijPlatform.signing.certificateChain,intellijPlatform.signing.privateKey,intellijPlatform.signing.password, andintellijPlatform.publishing.tokento the Plugin Template environment variables:CERTIFICATE_CHAIN,PRIVATE_KEY,PRIVATE_KEY_PASSWORD, andPUBLISH_TOKEN.
Added
- Add
org.jetbrains.intellij.platform.verifyPluginDefaultRecommendedIdesGradle property to control automatic default IDE selection for theverifyPlugintask. - Add
intellijPlatform.pluginVerification.ides.current()helper to refer to the currently targeted IntelliJ Platform. - Add
intellijPlatform.pluginVerification.ides.latest()helper to resolve the latest IDE release for each selected type. - Add default value for
targetRootOutputDirofGenerateParserTask. - Add properties
targetRootOutputDirandpackageName(with defaults) forGenerateLexerTask. These properties replacetargetOutputDirand automatically use a proper subdirectory matching the package. - Default the Java toolchain language version to the Java version required by the targeted IntelliJ Platform, so common Kotlin JVM projects no longer need to repeat
kotlin { jvmToolchain(...) }.
Changed
- Automatically inherit the root project's targeted IntelliJ Platform in
org.jetbrains.intellij.platform.modulesubprojects when they do not declare their own platform dependency explicitly. - Automatically package project dependencies on
org.jetbrains.intellij.platform.modulesubprojects tolib/modules; explicitpluginModule(implementation(project(...)))is no longer required in the common case. - Deprecate property
targetOutputDirofGenerateLexerTask. - Deprecate properties
pathToParserandpathToPsiRootofGenerateParserTask. - Purge stale files
GenerateLexerTaskandGenerateParserTaskby default (as soon as you stop using the deprecated properties). - Deprecate
targetFile(String)andtargetFile(Provider)ofGenerateLexerTask. - Deprecate
parserFile()andpsiDir()ofGenerateParserTask. - Update minimal IntelliJ platform version to 2023.3 and build number to 233
Fixed
- Fix
NoClassDefFoundError: org.jetbrains.kotlin.gradle.tasks.KotlinCompilewhenorg.jetbrains.kotlin.plugin.composeis applied together with module plugin. - Update module descriptor parsing to support additional dependency attributes, adjust tests accordingly, and configure XML decoding to ignore unknown child elements.
2.13.1
Fixed
- Hotfix for Grammar-Kit support on Windows
2.13.0
Added
- Mark the
intellijPlatformDistributionoutgoing artifact asbuiltBywithjarSearchableOptionsTaskProviderandprepareSandboxTaskProvider - Set
rider.tests.plugin.home.pathsystem property to root project directory - Add
cleanSandboxtask to remove sandbox data generated for the current project
Fixed
- Include
project.namein sandbox path configuration. - Refactor code to optimize resource handling, improve regex reusability, and enhance readability across multiple modules.
- Replace
createJFlexwithcreateGrammarKitinaddGrammarKitDependencydependency helper - Update
recommendedhelper to useaddIntelliJPluginVerifierIdesto always resolve IDE installers.
2.12.0
Added
- Add
org.jetbrains.intellij.platform.grammarkitplugin withgenerateLexer/generateParsertasks. - Add
intellijPlatform.grammarKit(...)/intellijPlatform.jflex(...)dependency helpers for Grammar Kit and JFlex tooling. - Add
printBundledModulestask to print bundled modules available within the currently targeted IntelliJ Platform. - Expand
TestFrameworkTypewith CLion test framework.
Changed
- Move sandbox directory from
build/idea-sandboxto.intellijPlatform/sandbox; it's path is accessible for reading and adjusting withintellijPlatform.sandboxContainer - Update minimal supported Gradle version to
9.0.0 - Update
PlatformKotlinVersionswith Kotlin2.3.10for version261
Fixed
- Refactor the Android Studio dependency resolution to handle the new archive name convention. #2087
- Avoid full Ivy module deserialization in
LocalIvyArtifactPathComponentMetadataRuleand parse only publication artifacts to prevent recursive lookup failures on bundled plugin descriptors. - Accept
namespaceandvisibilityattributes when parsingmodule-descriptor.xmlfiles inModuleDescriptorsValueSource. - Fixed credentials handling for custom plugin repositories.
- Request
io.smallrye.common:smallrye-common-cpuundertow's transitive dependency in at least2.10.0version as it causes configuration cache issue by calling/usr/sbin/sysctl -n hw.cachelinesizewhen defining custom plugin repositories. - Android Studio dependency resolution: improve version handling, prioritize local dependencies, and enhance test coverage
Removed
- Remove
org.jetbrains.intellij.platform.migrationplugin and migration-only compatibility helpers:IntelliJExtension,DownloadRobotServerPluginTask,RunIdeForUiTestsTask - Remove deprecated dependency helper overloads that accepted
useInstaller/productMode; usecreate(..., configure)with a configuration lambda instead. - Remove deprecated compatibility aliases and helpers:
pluginVerification.ides.ide(...)/ides(...),intellijPlatform.cachePath,verifyPlugin/VerifyPlugin,useCustomCache,instrumentationTools(), and discontinued product helpersaqua(...)/writerside(...).
2.11.0
Added
- Add
--compose-hot-reloadargument forRunIdeTasktask that enables Compose Hot Reload agent. - Add new provider-based API
createmethods for Plugin Verifier used IDEs configuration, a fallback.orRecommended()helper, and update integration tests. #2077
Fixed
- Fix the execution of
JavaExecbased tasks when the class path gets shortened. - Include
IUandPYreleases when resolving Plugin Verifier compatible IDEs while requestingICorPCfor versions2025.3(253) and later. - Fix
ProductReleasesValueSourceto correctly handle and preserve 4-component version numbers (e.g.,2025.3.1.1) when resolving IDE releases.
2.10.5
Added
- Add
org.jetbrains.intellij.deps.kotlinxas akotlinx.coroutinesshadowed dependency group eligible for exclusion. - Expand
TestFrameworkTypewith additional frameworks including Debugger, ExternalSystem, PolySymbols, Qodana, UAST, VCS, and WebSymbols. - Introduce
org.jetbrains.intellij.platform.intellijPlatformIdesCacheEnabledGradle property to control IntelliJ Platform IDEs caching globally viaintellijPlatform.caching.ides.enabledconvention.
Changed
- Replace exception with a warning for unknown input paths in
CollectorTransformer.
Fixed
- Fix
Path.deepResolveto correctly resolvesingleOrNullentries. - Fix JetBrains Runtime architecture detection for Linux ARM64 systems #2054
2.10.4
Added
- Add
bundledPlugin(id: String)helper to IntelliJPlatformPluginsExtension
Fixed
- Use
withRandomSuffixforintellijPlatformConfigurationNamein local dependency configurations defined for Plugin Verifier
2.10.3
Added
- Add
--list-idesCLI option toverifyPlugintask to list IDEs that will be used for verification without performing actual verification.
Fixed
- Security update