Skip to content

Releases: JetBrains/intellij-platform-gradle-plugin

2.9.0

05 Sep 19:29
79f8625
Compare
Choose a tag to compare

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 and IntelliJPlatformType.IntellijIdeaUltimate with replacement suggestions to IntelliJPlatformType.IntellijIdea. #2021
  • Deprecate intellijIdeaCommunity and intellijIdeaUltimate dependency helpers with replacement suggestions to intellijIdea. #2021
  • Support version-specific IntelliJ Platform type resolution and introduce UNIFIED_INTELLIJ_IDEA_VERSION and UNIFIED_INTELLIJ_IDEA_BUILD_NUMBER constants to help distinguish between IntelliJ IDEA and IntelliJ IDEA Ultimate when parsing IU code.

Fixed

  • Update the artifact URL pattern to include classifier in .tar.gz naming for correct source resolution

2.8.0

02 Sep 20:40
6c4cef1
Compare
Choose a tag to compare

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 of intellijPlatform.caching.path
  • Deprecate useCustomCache in favor of useCache when defining a dependency on the IntelliJ Platform

Fixed

  • Reorder configuration creation to avoid ConcurrentModificationException when using the custom cache.
  • Correctly resolve ~ in GradleProperties 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 with Action for improved interoperability and Groovy support #2017.
  • Refactor LocalIvyArtifactPathComponentMetadataRule to validate module type and version against productInfo when resolving Ivy artifacts. #2015

2.7.2

14 Aug 12:26
75c16fe
Compare
Choose a tag to compare

Fixed

  • Validate artifact file existence in LocalIvyArtifactPathComponentMetadataRule and skip non-existent paths to prevent resolution errors.

2.7.1

09 Aug 08:24
0f6b53e
Compare
Choose a tag to compare

Added

  • Add RubyMine com.jetbrains.intellij.rubymine:rubymine Maven coordinates to the IntelliJPlatformType

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 the runIde 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

25 Jul 22:01
c77ee75
Compare
Choose a tag to compare

Breaking Changes

  • pluginModule(Dependency) dependency helper no longer bundles module into the main plugin jar, use pluginComposedModule(Dependency) instead.
  • Replace IdeServicesPluginRepositoryService.uploadByStringId with IdeServicesPluginRepositoryService.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 the verifyPluginProjectConfiguration task #1958
  • Create the .toolbox-ignore marker file next to the product-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 the IntelliJPlatformCacheResolver custom caching mechanism.
  • ModuleAware to handle information if the current project represents an IntelliJ Platform plugin module
  • pluginComposedModule(Dependency) helper for bundling (composing) the module dependency into the main plugin jar
  • Make Any.toIntelliJPlatformType() publicly available and introduce Provider<*>.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 the lib/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 the intellijPlatformClasspath 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 configurable create dependency creation helpers; deprecate legacy ide and ides 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 using filterNot as minus doesn't remove duplicates
  • Refactor JarSearchableOptionsTask to improve the searchableOption 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

14 May 15:49
920b3c2
Compare
Choose a tag to compare

Added

  • Add compatiblePlugin(id)/compatiblePlugins(ids) dependency helper for resolving plugins from JetBrains Marketplace in the latest compatible versions.
  • Add TestFrameworkType.Plugin.CSS and TestFrameworkType.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 and collected attributes for custom test classpath configurations
  • Set the repository name and fix the action application in createCustomPluginRepository
  • 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

28 Mar 14:17
5abf672
Compare
Choose a tag to compare

Added

  • Introduce configurations for IntelliJ Platform test plugins, dependencies, and bundled modules along with testPlugin, testBundledPlugin, and testBundledModule 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

20 Mar 06:33
2ce8d0f
Compare
Choose a tag to compare

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 and intellij.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

26 Feb 06:04
80b7eb8
Compare
Choose a tag to compare

Added

  • Warn that using Rider as a target IntelliJ Platform with useInstaller = true is currently not supported, please set useInstaller = false instead. #1852
  • Add ide(type: Provider<*>, version: Provider<String>, useInstaller: Provider<Boolean>) overload to the pluginVerification.ides block.
  • Warn that since the IntelliJ Platform version 2025.1 (build 251), the required Kotlin version is 2.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

  • Fixed the broken path resolution in the bundledLibrary helper and the TestFrameworkType.Bundled test framework
  • Fixed configuring dependencies on plugins with required content modules. #1883
  • Fixed dependencies between submodules. #1854

2.2.1

13 Dec 19:48
Compare
Choose a tag to compare

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 the directory 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