Releases: JetBrains/intellij-platform-gradle-plugin
Releases · JetBrains/intellij-platform-gradle-plugin
2.10.4
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
2.10.2
Fixed
- Cast
IntelliJPlatformType.fromCodetoIntelliJPlatformTypeagain to correctly apply the IJ Ultimate/IJ Unified distribution constraints for transparency reasons.
2.10.1
Fixed
- Fix the incorrect configuration name in the
requestedIntelliJPlatforms.setmethod call for local IntelliJ Platform dependency. - Refactor dependency helper methods to improve validation and replace direct providers mapping with a cached
providerfor better lazy configuration resolution handling.
2.10.0
Added
- Add
composeUI()dependency helper to add Compose UI framework dependencies. - Introduce
testFrameworksupport inintellijPlatformTestingextension and add corresponding test cases. #2022 - Add
ModuleDependency.excludeKotlinStdlib()andModuleDependency.excludeCoroutines()extension function to exclude all Kotlin stdlib and Kotlinx Coroutines transitive dependencies #2029 - Improve deprecated IntelliJ Platform artifacts based on their version and introduce error logging for them.
- Add
PyCharmplatform type with corresponding artifact coordinates. #2036 - Add
pycharmdependency helpers to support the unified PyCharm platform type. #2036 - Integration with Problems API
Changed
- Update minimal supported Gradle version to
8.13 - Revert deprecation of
intellijIdeaCommunityandintellijIdeaUltimatedependency helpers.
Fixed
- Refactor IntelliJ Platform type resolution and validation to exclude unavailable distribution constrains #2027
- Refactor
ideandidesmethods to rely on the cacheable IntelliJ Platform dependency creation. - Refactor
IntelliJPlatformDependenciesHelperto replaceDependencyHandlerwithDependencyFactoryfor dependency creation. #2024 - Handle unspecified project version in
PluginConfigurationto prevent setting it to the "unspecified" value.
2.9.0
Added
- Add
IntellijIdeaplatform type with corresponding artifact coordinates. #2021 - Add
intellijIdeadependency 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.IntellijIdeaCommunityandIntelliJPlatformType.IntellijIdeaUltimatewith replacement suggestions toIntelliJPlatformType.IntellijIdea. #2021 - Deprecate
intellijIdeaCommunityandintellijIdeaUltimatedependency helpers with replacement suggestions tointellijIdea. #2021 - Support version-specific IntelliJ Platform type resolution and introduce
UNIFIED_INTELLIJ_IDEA_VERSIONandUNIFIED_INTELLIJ_IDEA_BUILD_NUMBERconstants to help distinguish between IntelliJ IDEA and IntelliJ IDEA Ultimate when parsingIUcode.
Fixed
- Update the artifact URL pattern to include
classifierin.tar.gznaming for correct source resolution
2.8.0
Added
- Add license information into a published POM file
- Introduce
intellijPlatform.cachingextension - Allow for customizing the cached IntelliJ Platform directory name with
intellijPlatform.caching.ides.name - Introduce
intellijPlatform.caching.ides.enabledto control IntelliJ Platform caching globally
Changed
- Deprecate
intellijPlatform.cachein favor ofintellijPlatform.caching.path - Deprecate
useCustomCachein favor ofuseCachewhen defining a dependency on the IntelliJ Platform
Fixed
- Reorder configuration creation to avoid
ConcurrentModificationExceptionwhen using the custom cache. - Correctly resolve
~inGradlePropertiesto the users home directory. - Remove
extendsFromusages in custom IntelliJ Platform test configurations to avoid propagation of dependencies on bundled modules and plugins coming from the base IntelliJ Platform. - Refactor
IntelliJPlatformDependenciesExtensionto replace lambda-based configuration withActionfor improved interoperability and Groovy support #2017. - Refactor
LocalIvyArtifactPathComponentMetadataRuleto validate module type and version againstproductInfowhen resolving Ivy artifacts. #2015
2.7.2
Fixed
- Validate artifact file existence in
LocalIvyArtifactPathComponentMetadataRuleand skip non-existent paths to prevent resolution errors.
2.7.1
Added
- Add RubyMine
com.jetbrains.intellij.rubymine:rubymineMaven 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.jaron bootclasspath when running therunIdetask 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.uploadByStringIdwithIdeServicesPluginRepositoryService.uploadByStringIdAndFamily
Added
- Add missing
org.jetbrains.kotlin.platform.type=jvmfor custom test runtime classpath configuration - Add support for JetBrains Client and resolving the IntelliJ Platform in frontend mode
- Add
VerifyPluginProjectConfigurationMutedMessagesGradle property to mute specific messages reported by theverifyPluginProjectConfigurationtask #1958 - Create the
.toolbox-ignoremarker file next to theproduct-info.jsonfile to avoid the Toolbox App from indexing it TBX-14798 - Introduce
IntelliJPlatformCacheResolverfor improved IDE dependency resolution and caching #1601 - Introduce
useCustomCachedependency configuration property to utilize theIntelliJPlatformCacheResolvercustom caching mechanism. ModuleAwareto 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/modulesdirectory of the plugin jar.- Search for a bundled plugin using module alias if not resolved by ID
- Stop including the
intellijPlatformPluginModuleconfiguration in theintellijPlatformClasspathas it's already bundled within the composed jar. - Refactor
PrepareJarSearchableOptionsTaskto handle plugin modules and improve file filtering logic. - Refactor
PluginVerification.Idesto introduce configurablecreatedependency creation helpers; deprecate legacyideandidesmethods in favor of a lambda-based approach.
Fixed
- Test framework dependency is not provided to a custom
testIdetask #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
CollectorTransformerto exclude tests-related jars usingfilterNotasminusdoesn't remove duplicates - Refactor
JarSearchableOptionsTaskto improve thesearchableOptionoutgoing artifact registration #1968 - Do not add default dependencies related to the code instrumentation if disabled #1983
- Introduce
CoroutinesJavaAgentValueSourcefor dynamic coroutines debug agent creation #1977