Releases: JetBrains/intellij-platform-gradle-plugin
Releases · JetBrains/intellij-platform-gradle-plugin
2.9.0
Added
- Add
IntellijIdea
platform type with corresponding artifact coordinates. #2021 - Add
intellijIdea
dependency helpers to support the unified IntelliJ IDEA platform type. #2021
Changed
- Update
String.parseIdeNotation()
to throw an exception for invalid IntelliJ Platform notation instead of returning a default value - Deprecate
IntelliJPlatformType.IntellijIdeaCommunity
andIntelliJPlatformType.IntellijIdeaUltimate
with replacement suggestions toIntelliJPlatformType.IntellijIdea
. #2021 - Deprecate
intellijIdeaCommunity
andintellijIdeaUltimate
dependency helpers with replacement suggestions tointellijIdea
. #2021 - Support version-specific IntelliJ Platform type resolution and introduce
UNIFIED_INTELLIJ_IDEA_VERSION
andUNIFIED_INTELLIJ_IDEA_BUILD_NUMBER
constants to help distinguish between IntelliJ IDEA and IntelliJ IDEA Ultimate when parsingIU
code.
Fixed
- Update the artifact URL pattern to include
classifier
in.tar.gz
naming for correct source resolution
2.8.0
Added
- Add license information into a published POM file
- Introduce
intellijPlatform.caching
extension - Allow for customizing the cached IntelliJ Platform directory name with
intellijPlatform.caching.ides.name
- Introduce
intellijPlatform.caching.ides.enabled
to control IntelliJ Platform caching globally
Changed
- Deprecate
intellijPlatform.cache
in favor ofintellijPlatform.caching.path
- Deprecate
useCustomCache
in favor ofuseCache
when defining a dependency on the IntelliJ Platform
Fixed
- Reorder configuration creation to avoid
ConcurrentModificationException
when using the custom cache. - Correctly resolve
~
inGradleProperties
to the users home directory. - Remove
extendsFrom
usages in custom IntelliJ Platform test configurations to avoid propagation of dependencies on bundled modules and plugins coming from the base IntelliJ Platform. - Refactor
IntelliJPlatformDependenciesExtension
to replace lambda-based configuration withAction
for improved interoperability and Groovy support #2017. - Refactor
LocalIvyArtifactPathComponentMetadataRule
to validate module type and version againstproductInfo
when resolving Ivy artifacts. #2015
2.7.2
Fixed
- Validate artifact file existence in
LocalIvyArtifactPathComponentMetadataRule
and skip non-existent paths to prevent resolution errors.
2.7.1
Added
- Add RubyMine
com.jetbrains.intellij.rubymine:rubymine
Maven coordinates to theIntelliJPlatformType
Changed
- Update minimal supported Gradle version to
8.6
Fixed
- Add a check for target file existence before creating and writing to
JarOutputStream
. #1988 - Fix the incorrect rsync exclusion pattern in
DmgExtractorValueSource
- Fix macOS missing
nio-fs.jar
on bootclasspath when running therunIde
task against the local IDE. #1994 - Pass sandbox properties path with invariant separators.
- Added missing retrofit annotations to
IdeServicesPluginRepositoryService.uploadByStringIdAndFamily
- Fixed: SignPluginTask keystore options are now honored; the task runs with keystore-only configuration (no PEM key/cert required). #2001
2.7.0
Breaking Changes
pluginModule(Dependency)
dependency helper no longer bundles module into the main plugin jar, usepluginComposedModule(Dependency)
instead.- Replace
IdeServicesPluginRepositoryService.uploadByStringId
withIdeServicesPluginRepositoryService.uploadByStringIdAndFamily
Added
- Add missing
org.jetbrains.kotlin.platform.type=jvm
for custom test runtime classpath configuration - Add support for JetBrains Client and resolving the IntelliJ Platform in frontend mode
- Add
VerifyPluginProjectConfigurationMutedMessages
Gradle property to mute specific messages reported by theverifyPluginProjectConfiguration
task #1958 - Create the
.toolbox-ignore
marker file next to theproduct-info.json
file to avoid the Toolbox App from indexing it TBX-14798 - Introduce
IntelliJPlatformCacheResolver
for improved IDE dependency resolution and caching #1601 - Introduce
useCustomCache
dependency configuration property to utilize theIntelliJPlatformCacheResolver
custom caching mechanism. ModuleAware
to handle information if the current project represents an IntelliJ Platform plugin modulepluginComposedModule(Dependency)
helper for bundling (composing) the module dependency into the main plugin jar- Make
Any.toIntelliJPlatformType()
publicly available and introduceProvider<*>.toIntelliJPlatformType()
Changed
- Introduce a new set of dependency helpers to configure the IntelliJ Platform dependency with a lambda function instead of regular parameters, marking other helpers deprecated.
pluginModule(Dependency)
helper now moves the module dependency into thelib/modules
directory of the plugin jar.- Search for a bundled plugin using module alias if not resolved by ID
- Stop including the
intellijPlatformPluginModule
configuration in theintellijPlatformClasspath
as it's already bundled within the composed jar. - Refactor
PrepareJarSearchableOptionsTask
to handle plugin modules and improve file filtering logic. - Refactor
PluginVerification.Ides
to introduce configurablecreate
dependency creation helpers; deprecate legacyide
andides
methods in favor of a lambda-based approach.
Fixed
- Test framework dependency is not provided to a custom
testIde
task #1945 - Respect the custom IntelliJ Platform configuration name when creating a custom task using the local IntelliJ Platform path
- Properly share the requested IntelliJ Platform between internal Gradle plugin components
- Refactor
CollectorTransformer
to exclude tests-related jars usingfilterNot
asminus
doesn't remove duplicates - Refactor
JarSearchableOptionsTask
to improve thesearchableOption
outgoing artifact registration #1968 - Do not add default dependencies related to the code instrumentation if disabled #1983
- Introduce
CoroutinesJavaAgentValueSource
for dynamic coroutines debug agent creation #1977
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.CSS
andTestFrameworkType.Plugin.XML
to support test development requiring XML or CSS language. - Warn when Plugin Verifier is about to run verification against more than five IDEs.
- Make the
printBundledPlugins
task 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
IntelliJPlatformDependenciesHelper
aware 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
untilBuild
value - Drop JPS dependencies shadowing
Fixed
- Add test-related sandbox configurations and runtime fixes
- Set the required
extracted
andcollected
attributes for custom test classpath configurations - Set the repository name and fix the
action
application increateCustomPluginRepository
- Refactor build service registration to use
registerClassLoaderScopedBuildService
to 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
, andtestBundledModule
dependency helpers - Support different
kotlinx.coroutines
JavaAgent 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
ProductInfoPathResolver
resolution.
2.4.0
Added
- Register the
TestIdeUiTask
for Starter purposes. - Introduce a custom test classpath configuration for custom
TestableAware
-like tasks - Add
AddDefaultIntelliJPlatformDependencies
property to control if default dependencies (com.intellij
andintellij.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
intellijPlatformTestRuntimeClasspath
configuration - Automatically load the
com.intellij.clion
into the CLion classpath - Introduce the
ExtractorService
as a reusable tool for custom IntelliJ Platform extraction flow cases
Changed
- Stop shadowing Gradle plugin dependencies, manually repack only JPS Module
- Load the
com.intellij
module by default when creating the IntelliJ Platform dependency - Load the
com.intellij
module with its optional dependencies for tests classpath as a cleaner fix for IJPL-180516 - Store
localPlatformArtifacts
Ivy 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
JavaRuntimePathResolver
resolution. - 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 = true
is currently not supported, please setuseInstaller = false
instead. #1852 - Add
ide(type: Provider<*>, version: Provider<String>, useInstaller: Provider<Boolean>)
overload to thepluginVerification.ides
block. - Warn that since the IntelliJ Platform version
2025.1
(build251
), the required Kotlin version is2.0.0
or higher. - Load the
com.intellij
bundled 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
CollectorTransformer
due to the missing attributes applied to thedirectory
archive. - 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