Skip to content

Latest commit

 

History

History
executable file
·
1188 lines (821 loc) · 55.5 KB

CHANGELOG.md

File metadata and controls

executable file
·
1188 lines (821 loc) · 55.5 KB

Changelog

Added

  • Support for Android Studio DMG archives
  • Introduce VerifyPluginProjectConfigurationTask.hasModulePlugin to exclude modules using org.jetbrains.intellij.platform.module subplugin from plugin.xml checks.
  • Better error handling in dependency helpers when missing values
  • Introduce GenerateManifestTask for generating MANIFEST.MF file

Fixed

  • Avoid leaking internal properties from intellijPlatform extensions
  • Fixed custom tasks suffixing
  • Fixed: Task :test uses this output of task :prepareSandbox without declaring an explicit or implicit dependency #1609
  • ExtractorTransformer: Exclude only Applications symlink
  • SandboxAware: inherit sandbox directory from producer

2.0.0-beta3 - 2024-05-18

Added

  • jetbrainsRuntime() dependency helper for resolving a suitable JBR version for IntelliJ Platform fetched from IntelliJ Maven Repository
  • jetbrainsRuntimeExplicit(explicitVersion) dependency helper for specifying an explicit JBR version if necessary
  • PrepareSandboxTask: introduce sandboxDirectoriesExistence property to ensure all sandbox directories exist
  • localPlugin() dependency helper for adding local plugins as project dependencies and extending customizable tasks
  • Emit warning when using the bundledLibrary dependency helper.
  • Use IntelliJ Platform distribution from download.jetbrains.com by default. To switch back to IntelliJ Maven Repository artifacts, use org.jetbrains.intellij.platform.buildFeature.useBinaryReleases=false
  • Introduced Custom* tasks. if you want to extend the runIde or testSomething tasks, use the Custom*Task classes. See: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-custom-tasks.html
  • Better handling of missing dependencies/misconfiguration
  • Bring back the SetupDependenciesTask to avoid failing build when migrating from 1.x
  • Better ClosestVersionResolver error messages
  • When running IDE in Split Mode, it’s possible to specify splitModeTarget (BACKEND, FRONTEND, BACKEND_AND_FRONTEND)

Changed

  • Update PlatformJavaVersions and PlatformKotlinVersions
  • Introduce a separated Sandbox for the Frontend part when running IDE in Split Mode
  • Rename SandboxAware.sandboxContainerDirectory to SandboxAware.sandboxDirectory to avoid confusion with intellijPlatform.sandboxContainer
  • Use custom task name as a suffix for dynamically created configuration and tasks instead of UUID.randomUUID()

Fixed

  • Fixed transitive dependencies of bundled plugin dependencies when IntelliJ Platform doesn't contain ProductInfo.layout model yet.
  • Produce customized (suffixed) configuration only for CustomIntelliJPlatformVersionAware tasks
  • Fixed including transitive modules/bundled plugins dependencies of declared plugin dependencies
  • Fixed JetBrains Runtime (JBR) resolving
  • Move TestFrameworkType from org.jetbrains.intellij.platform.gradle.extensions to org.jetbrains.intellij.platform.gradle

Removed

  • Dropped testIde task as test is now properly configured

2.0.0-beta2 - 2024-05-14

Added

  • Use IntelliJ Platform distribution from download.jetbrains.com by default. To switch back to IntelliJ Maven Repository artifacts, use org.jetbrains.intellij.platform.buildFeature.useBinaryReleases=false
  • Introduced Custom* tasks. if you want to extend the runIde or testSomething tasks, use the Custom*Task classes. See: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-custom-tasks.html
  • Better handling of missing dependencies/misconfiguration
  • Bring back the SetupDependenciesTask to avoid failing build when migrating from 1.x
  • Better ClosestVersionResolver error messages
  • When running IDE in Split Mode, it’s possible to specify splitModeTarget (BACKEND, FRONTEND, BACKEND_AND_FRONTEND)

Fixed

  • Fixed including transitive modules/bundled plugins dependencies of declared plugin dependencies
  • Fixed JetBrains Runtime (JBR) resolving
  • Move TestFrameworkType from org.jetbrains.intellij.platform.gradle.extensions to org.jetbrains.intellij.platform.gradle

Removed

  • Dropped testIde task as test is now properly configured

2.0.0-beta1 - 2024-04-11

The 2.0.0 release is completely rewritten. Please see documentation page for more details.

1.17.2 - 2024-02-20

Added

  • Set the idea.module.downloadSources flag with intellij.downloadSources value

1.17.1 - 2024-02-05

Fixed

  • Fix for running classpathIndexCleanup task in the proper order
  • Resolve JetBrains Runtime (JBR) 21 to JCEF variant

1.17.0 - 2024-01-18

Added

  • Publish the plugin update and mark it as hidden to prevent public release after approval, using the publishPlugin.hidden property.
  • PatchPluginXmlTask: Wrap the content passed to <change-notes> and <description> elements with <![CDATA[ ... ]]> #1498

Changed

  • New project name: IntelliJ Platform Gradle Plugin
  • New project ID: org.jetbrains.intellij.platform
  • New Maven coordinates: org.jetbrains.intellij.platform:intellij-platform-gradle-plugin
  • Move classes under the new package: org.jetbrains.intellij.platform.gradle
  • Update minimal supported Gradle version to 8.2

Fixed

  • Do not discover idea.platform.prefix by scanning shell scripts for 223+ #1525
  • MemoizedProvider incompatible with Gradle 8.6 RC1 #1517
  • Tasks :classpathIndexCleanup and :compileTestKotlin don't have a declared dependency causing build to fail #1515
  • ListProductsReleases empty for 2023.3 #1505

1.16.1 - 2023-12-01

Added

  • Make RustRover (RR type) available for resolving as SDK.

Fixed

  • Attach IntelliJ SDK sources before LSP API sources #1490
  • Fixed RunPluginVerifierTask.FailureLevel.NOT_DYNAMIC presence check #1485

1.16.0 - 2023-10-06

Added

  • Configure all tasks that extend task classes instead of just those created by the plugin
  • Make JbrResolver prefer Gradle javaToolchains by JetBrains vendor, if already available.
  • Support for Kotlin Coroutines debugging
  • Detect and warn if project adds an explicit dependency on Kotlin Coroutines library
  • RunPluginVerifierTask: new runPluginVerifier.verificationReportsFormats property to control verifier output formats
  • RunPluginVerifierTask: new runPluginVerifier.ignoredProblems property to include a file with list of problems to be ignored in a report
  • RunPluginVerifierTask: new runPluginVerifier.freeArgs property to let pass to the IntelliJ Plugin Verifier custom arguments

Fixed

  • NoClassDefFoundError: org/gradle/api/publish/ivy/internal/publication/DefaultIvyPublicationIdentity in Gradle 8.4 #1469
  • Misleading message about Kotlin API version #1463

Changed

  • Disabled caching for BuildPluginTask
  • Deprecate SetupDependenciesTask

Removed

  • Removed intellij, intellijPlugin, intellijPlugins, intellijExtra helper methods from DependenciesUtils

1.15.0 - 2023-07-07

Added

  • Attach LSP API sources to the IDEA dependency, if available
  • Added ListProductsReleasesTask.androidStudioProductReleasesUpdateFiles property
  • Added DownloadAndroidStudioProductReleasesXmlTask task
  • Introduced DownloadAndroidStudioProductReleasesXmlTask.releasesUrl and DownloadIdeaProductReleasesXmlTask.releasesUrl properties #1418

Changed

  • Renamed ListProductsReleasesTask.productsReleasesUpdateFiles property to ListProductsReleasesTask.ideaProductReleasesUpdateFiles

Removed

  • Removed ListProductsReleasesTask.updatePaths property

1.14.2 - 2023-06-26

Added

  • Create a date-based lock file to limit daily update checks for the Gradle IntelliJ Plugin.

Fixed

  • Handle the Could not HEAD 'https://www.jetbrains.com/updates/updates.xml' gracefully when running downloadIdeaProductReleasesXml with no Internet connection
  • Improved checking if Provider holds non-empty value
  • Fixed calculationg of JVM arguments for running tests #1360
  • Introduce CommandLineArgumentProviders for better management of JVM arguments and avoiding passing absolute paths to support Gradle Build Cache #1376
  • Replace deprecated JavaPluginConvention usages with JavaPluginExtension for Gradle 8.2 and 9.x compatibility #1413
  • Fix for Cannot load this JVM TI agent twice, check your java command line for duplicate jdwp options.

Removed

  • Removed redundant SetupInstrumentCodeTask task

1.14.1 - 2023-06-07

Fixed

  • Illegal char <:> at index 25: -Djna.boot.library.path=... exception on Windows when calculating the IDE home path

1.14.0 - 2023-06-02

Added

Fixed

  • Resolving Android Studio JNA libraries on macOS #1353
  • Fixed "Must not use executable property on Test together with javaLauncher property" for Gradle 7.x #1358
  • Task :listProductsReleases creates empty file due to MalformedByteSequenceException #1389
  • Make RunIdeBase.pluginsDir a @Classpath input, fixes cacheability of buildSearchableOptions #1370
  • Fixed JarSearchableOptionsTask cacheability #1375

Changed

  • Set minimum supported Gradle version from 7.3 to 7.6

1.13.3 - 2023-03-28

Added

  • Run tests using JBR #473
  • Introduce verifyPluginSignature task for verification signed plugin archive produced by signPlugin task
  • Provide KDoc documentation for all tasks and extensions #1345

Fixed

  • Add instrumented classes (sources + tests) to the tests classpath before tests execution #1332
  • Fixed NSDictionary helper methods to return null instead of "null" — causing "Resource not found: /idea/nullApplicationInfo.xml" #1348

1.13.2 - 2023-03-10

Fixed

  • Add instrumented classes (sources + tests) to the tests classpath #1332

1.13.1 - 2023-03-02

Added

  • Provide idea.log.path system property for RunIde-based tasks and tests

Fixed

  • Unsupported JVM architecture was selected for running Gradle tasks: x86_64 #1317
  • Instrumentation ignores intellij.instrumentCode = false #1310
  • NoClassDefFoundError: org/jetbrains/kotlin/konan/file/FileKt when running signPlugin task on Gradle lower than 8.0 #1319
  • taskdef class com.intellij.ant.InstrumentIdeaExtensions cannot be found when running instrumentation on Android Studio #1288
  • JVM arguments mangled since 1.10 resulting in ClassNotFoundException for PathClassLoader #1311
  • Add missing compiled classes to the instrumentation task classpath
  • Mark RunPluginVerifierTask.FailureLevel.ALL and RunPluginVerifierTask.FailureLevel.NONE with @JvmField annotation #1323

1.13.0 - 2023-02-10

Added

  • Support for Gradle 8.0
  • Introduced the initializeIntelliJPlugin task for executing plugin initialization actions, like checkPluginVersion
  • instrumentJar task to produce independent jar file with instrumented classes
  • instrumentedJar configuration for multi-modules projects
  • Publish plugin marker to the Maven Snapshot Repository

Fixed

  • Don't enforce the Kotlin version of the project by using compileOnly instead of api when declaring the org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0 dependency #1276
  • Instrumentation: fixed configuration cache support, dropped the postInstrumentCode and postInstrumentTestCode tasks #1283

Breaking Changes

  • It is required to use the instrumentedJar configuration when referring submodules in multi-modules project, like dependencies { implementation(project(":submodule", "instrumentedJar")) }
  • Rename IntelliJInstrumentCodeTask to InstrumentCodeTask

1.12.0 - 2023-01-13

Added

  • Extract ZIP Signer CLI tool downloading as downloadZipSigner task
  • Allow for passing signPlugin.privateKey and signPlugin.certificateChain as base64-encoded value

Changed

  • Download IDEs used by the Plugin Verifier in the task execution phase.

Fixed

  • Added missing incremental task annotation properties and cacheability annotations #1258
  • Make listBundledPlugins not printing output as printBundledPlugins does that
  • Fixed taskdef class com.intellij.ant.InstrumentIdeaExtensions cannot be found #1259
  • Don't warn about unexpected instrumentation task name #1214

1.11.0 - 2022-12-17

Added

  • printProductsReleases task to print the result of the listProductsReleases task
  • printBundledPlugins task to print the result of the listBundledPlugins task
  • runIde.jbrArch and runPluginVerifier.jbrArch properties for the explicit JBR architecture specification

Changed

  • custom(String) helper of intellij.pluginRepositories configuration requires now passing a direct URL to the updatePlugins.xml file #1252
  • listProductsReleases task doesn't print output anymore
  • listBundledPlugins task doesn't print output anymore
  • Set minimum supported Gradle version to 7.3

Fixed

  • Replace Contents/Contents part within JVM arguments to a single Contents – happens with macOS distribution
  • --offline prevents from using JBR even if it is already downloaded #1251

1.10.2 - 2022-12-16

Changed

  • Revert back the minimum supported Gradle version to 6.8

1.10.1 - 2022-12-08

Changed

  • Set minimum supported Gradle version from 6.8 to 7.1

Fixed

  • Fixed "Error: Could not find or load main class" when using older SDK versions
  • Fix launch information could not be found for macOS. #1230
  • Fixed "Cannot change dependencies of dependency configuration ... after it has been included in dependency resolution" #1209

1.10.0 - 2022-11-17

Added

  • Set IDEA_PLUGIN_SANDBOX_MODE to true for runIde-based tasks
  • The listBundledPlugins task for listing IDs of plugins bundled within the currently targeted IDE
  • Make sure 1.10.0 is higher than 1.10.0-SNAPSHOT in version check #1155

Fixed

  • Invalidate instrumented classes bound to forms if GUI changed IDEA-298989
  • Revert pushing project resource directories to the end of classpath in the test task context. (#1101)
  • Avoid unnecessary task configuration during Gradle configuration phase #1110 by @3flex
  • Replace internal Gradle ConventionTask with DefaultTask #1115 by @aSemy
  • Plugin Verifier cache directory now follows XDG cache standards #1119 by @aSemy
  • Migrate most of the Gradle API in IntelliJPlugin.kt to use the Gradle Kotlin DSL extensions #1117 by @aSemy
  • Support runIde.jbrVersion in 17.0.4.1-b653.1 format #1172
  • Plugin dependencies not resolved in multi-module project #1196
  • Finalize instrumentation with classpathIndexCleanup run to remove classpath.index file which breaks incremental build
  • Misleading message about Kotlin language version #1156
  • Fix launch information could not be found for macOS.#1230

Changed

  • Set minimum supported Gradle version from 6.7.1 to 6.8
  • Use information from product-info.json for running 223+

1.9.0 - 2022-09-02

Added

  • Configure classpath for run-based tasks using package-info.json provided with IntelliJ SDK 2022.3+
  • The verifyPluginConfiguration task for validating the plugin project configuration.
  • Make Android Studio (AI type) available for resolving as SDK.

Changed

  • Change IntelliJPluginConstants.ANDROID_STUDIO_PRODUCTS_RELEASES_URL to https://jb.gg/android-studio-releases-list.xml

1.8.1 - 2022-08-24

Added

  • Configure classpath for run-based tasks using Info.plist provided with IntelliJ SDK 2022.3+

Changed

  • OpenedPackages: add java.desktop/java.awt.font for all OSes

1.8.0 - 2022-08-04

Added

  • Add sourceSets output directories to the classpath of the test task.
  • Synchronize OpenedPackages list with the latest version available.
  • Make PhpStorm (PS type) available for resolving as SDK.

Changed

  • Rearrange classpath to put idea and ideaPlugins dependencies in the right order.
  • Rename plugin configurations to move injected dependencies to the end of the classpath. #1060

Removed

  • Remove the DEPENDENCY_FIRST resolution strategy set by default along with its BuildFeature.USE_DEPENDENCY_FIRST_RESOLUTION_STRATEGY flag.
  • Remove setting of the java.system.class.loader property from tests configuration.

Fixed

  • Exclude non-jar files from the classpath #1009
  • Jacoco reports false 0% test coverage #1065
  • Unable to load JUnit4 runner to calculate Ignored test cases #1033

1.7.0 - 2022-07-08

Added

  • Automatically detect bundled sources in plugin dependency #786
  • Automatically detect plugin dependency sources provided in the IDE distribution #207
  • Throw an error when intellij.version is missing #1010
  • Set ResolutionStrategy.SortOrder.DEPENDENCY_FIRST for compileClasspath and testCompileClasspath configurations #656
  • Added useDependencyFirstResolutionStrategy feature flag. See Feature Flags.
  • Ensure classpath.index is not bundled in the JAR file
  • Warn about no settings provided by the plugin when running buildSearchableOptions and suggest disabling the task. #1024
  • Warn about paid plugin running buildSearchableOptions and suggest disabling the task. #1025
  • IDE dependencies are added to the compileOnly classpath for test fixtures if the java-test-fixtures plugin is applied #1028
  • classpathIndexCleanup task is added to remove classpath.index files created by PathClassLoader #1039
  • Improve Plugin Verifier error messages #1040
  • Added FailureLevel.SCHEDULED_FOR_REMOVAL_API_USAGES to the Plugin Verifier task
  • Support for JetBrains Runtime 2022.2 directories layout #1016

Changed

  • Set minimum supported Gradle version from 6.7 to 6.7.1
  • Resolve dependencies using repositories in the following order: project custom repositories (if any), plugin custom repositories, common repositories (like Maven Central)
  • Add executable flag for Rider.Backend native launchers in IdeaDependencyManager#resetExecutablePermissions RIDER-59978
  • Remove Gradle dependencies constraints as transitive dependencies don't point to vulnerabilities anymore #999

Fixed

  • Fixed broken instrumentation when custom sources directory is set #1004
  • Fixed java.nio.file.FileAlreadyExistsException when instrumenting code #998
  • Fixed Execution optimizations have been disabled for task ':jar' to ensure correctness #1000
  • Fixed JaCoCo Can't add different class with same name exception when using code instrumentation #1020
  • Fixed failing instrumentation due to the Class not found exception #1029
  • Fixed 'compilerClassPathFromMaven' doesn't have a configured value when resolving java-compiler-ant-tasks #1003
  • Fixed NoClassDefFoundError caused by the stale classpath.index created by the PathClassLoader #1032
  • Fixed issue with not updated GUI form during the incremental build #1044]

1.6.0 - 2022-05-23

Added

  • Added BuildFeature feature flags. See Feature Flags.
  • Added --jbr-illegal-access and -XX:+IgnoreUnrecognizedVMOptions flags for tasks based on RunIdeBase to support 2022.2 which runs on Java 17
  • For JBR 17, dcevm is bundled by default. As a consequence, separated dcevm and nomod variants are no longer available.
  • instrumentCode task – incremental instrumentation #459
  • Add intellijRepository to the beginning of the repositories list when resolving dependencies #615
  • Set -Djdk.module.illegalAccess.silent=true flag by default to mute WARNING: An illegal reflective access operation has occurred
  • Add java.system.class.loader=com.intellij.util.lang.PathClassLoader system property for tests run on 221+
  • Integration Tests: Cover instrumentCode task

Changed

  • Set minimal supported Gradle version from 6.6 to 6.7
  • Throw an exception instead of warning when both intellij.localPath and intellij.version are specified
  • Publish sources and javadocs within the release #810

Fixed

  • Fix for getHeaderField("Location") must not be null #960
  • instrumentCode task – changes in Kotlin code no longer rebuild the plugin #959
  • Could not resolve JBR for 222-EAP-SNAPSHOT #997
  • Kotlin-generated classes aren't packed into the plugin distribution #978
  • Fixed version parsing for listProductsReleases task which resulted in incorrect IDE releases versions #995
  • Release plugin.xml file after reading it IDEA-291836

1.5.3 - 2022-04-15

  • Updated dependencies marked as vulnerable
  • Fixed code instrumentation disabling via tasks.instrumentCode.enabled
  • instrumentCode task – limit the scope of the task to sourceSets.main.java #459
  • Introduce Gradle IntelliJ Plugin version check against the latest available

1.5.2 - 2022-03-31

  • Add util_rt.jar to the classpath of run-like tasks for 2022.1+ compatibility

1.5.1 - 2022-03-28

  • Make IDEA products releases cached hourly #848
  • Fixed ListProductReleasesTask to return only significant versions for Android Studio #928

1.5.0 - 2022-03-28

  • Include Android Studio builds in the ListProductsReleasesTask results
  • Fix compiler resolution for EAP versions #906
  • Initial Toolbox Enterprise integration #913
  • Make IDEA products releases cached daily #848
  • Fixed ListProductsReleasesTask to allow for empty untilBuild #909
  • Resolved closest lower java-compiler-ant-tasks version if provided isn't available #910
  • Fixed XML parsing with JAXB - drop intermediate JDOM Document

1.4.0 - 2022-02-11

  • Fixed JBR resolving for MacOSX M1
  • Fixed compiler resolution for long build numbers #883
  • Build number fallback when product-info.json is missing #880
  • Consider sinceBuild and untilBuild properties of ListProductsReleasesTask in task caching #891
  • Introduce jbrVariant property next to the jbrVersion property in runIde, runPluginVerifier, buildSearchableOptions, and runIdeForUiTest tasks #852
  • Change log level of JbrResolver.resolveRuntime logs from warn to debug #849
  • Update runtime classpath for 221+
  • Fixed resolving Java Runtime for MacOSX #895
  • ProductInfo: parse custom properties in product-info.json #897
  • Make IntelliJInstrumentCodeTask incremental

1.3.1 - 2021-11-17

  • Fixed execution bit filter when extracting Rider RIDER-72922
  • Revert org.jetbrains.intellij:blockmap dependency to the latest 1.0.5 version
  • Avoid querying intellij.version when intellij.localPath is set
  • Fixed BuildSearchableOptionsTask for 2022.1+ version of IDE RIDER-73264
  • ListProductsReleasesTask: rely on the patchPluginXml.sinceBuild/patchPluginXml.untilBuild properties instead of intellij.version
  • ListProductsReleasesTask: allow using IDE version along with build numbers

1.3.0 - 2021-11-15

  • IntelliJ Plugin Verifier allows for running against Android Studio (i.e. AI-2021.2.1.4)
  • Make intellij.version property mandatory
  • Move intellij.ideaDependency to the SetupDependenciesTask.idea
  • Postpone the initial dependencies downloading to the setupDependencies task which is run in the afterSync phase or by individual tasks
  • Provide build information within the META-INF/MANIFEST.MF file
  • Resolve EAP version of the Java compiler for LATEST-EAP-SNAPSHOT
  • Allow for using dcevm, fd, and nomod variants of JBR #818
  • ListProductsReleasesTask.updatesPath changed to ListProductsReleasesTask.updatePaths
  • ListProductsReleasesTask.includeEAP changed to ListProductsReleasesTask.releaseChannels

1.2.1 - 2021-10-26

  • Respect ideaDependencyCachePath property #794
  • Fix for providing dependencies after project evaluation #801
  • Resolve EAP version of the Java compiler for local EAP IDE instances #811
  • Allow for passing an empty array for runPluginVerifier.ideVersions property #809

1.2.0 - 2021-09-30

  • Fixed running tests on 2021.3 platform version
  • Avoid downloading IDE dependency in configuration phase
  • Deprecate IntelliJPluginExtension.getIdeaDependency(project: Project)
  • Increase the default runPluginVerifier.failureLevel to COMPATIBILITY_PROBLEMS
  • Introduce listProductsReleases task for listing the IDE releases matching given criteria
  • Fixed resolving compiler classpath for the instrumentCode task when using LATEST-EAP-SNAPSHOT #752
  • Fixed resolving idea.platform.prefix #772
  • Fix for custom buildDir not used in some instrumentCode and buildSearchableOptions tasks #793

1.1.6 - 2021-09-05

  • Fixed returned list of paths to IDEs downloaded for Plugin Verifier #779

1.1.5 - 2021-09-03

  • Use target Kotlin API Version 1.3 #750
  • Migrate SignPluginTask to use the Marketplace ZIP Signer CLI
  • Fixed resolving of built-in JetBrains Runtime (JBR) #756

1.1.4 - 2021-07-21

  • Configuration cache enhancements
  • Fix prepareTestingSandbox not running when test task is executed #745 by @abrooksv
  • Move signPlugin file name creation to lazy #742 by @brian-mcnamara
  • Better platform prefix resolving

1.1.3 - 2021-07-14

  • Fixed dependency on JavaScript plugin #674
  • Fixed releaseType resolving for Rider versions in -EAP#-SNAPSHOT format.
  • runPluginVerifier: verify required Java 11 environment for Plugin Verifier 1.260+
  • pluginVerifier – remove support for old versions < 1.255 hosted on Bintray
  • Fixed tests configuration – 'Config Directory' does not exist exception

1.1.2 - 2021-07-01

  • Use Gradle ArchiveOperations in extractArchive utils method #681
  • Set minimal supported Gradle version to 6.6
  • Use JDOM for altering updates.xml in PrepareSandboxTask to keep existing content
  • Fixed incorrect output path of JarSearchableOptionsTask causing also duplicate entry exception #678
  • Fixed incorrect plugin download URL for custom repositories #688
  • Make DownloadRobotServerPluginTask pointing to the latest Robot Server Plugin available
  • Support Maven closure in PluginsRepositories block
  • BuildSearchableOptionsTask fails on macOS when resolving javaHome ##696
  • PrepareSandboxTask doesn't depend on JavaPlugin dependencies ##451
  • Remove IntelliJPluginExtension.pluginsRepositories(block: Closure<Any>) due to ConfigureUtil deprecation and a lack of typed parameters
  • Remove usage of deprecated methods and classes introduced in Gradle 7.1 ##700

1.0.0 - 2021-05-27

  • Breaking changes guide: https://lp.jetbrains.com/gradle-intellij-plugin
  • Plugin Signing integration
  • Lazy Configuration support
  • Configuration Cache support
  • Task Configuration Avoidance support
  • better CI (GitHub Actions, Qodana, Dependabot)
  • Rewritten in Kotlin
  • property names cleanup (*Repo to *Repository, *Directory to *Dir – for the sake of consistency with Gradle)
  • Stepping away from Bintray and JCenter

0.7.3 - 2021-04-26

  • migrate from bintray #594
  • exclude kotlin-reflect and kotlin-text from the runtime if kotlin is used in plugin #585
  • respect overridden build directory #602
  • store cache of plugins from different custom repositories in different directories #579
  • rename dependency jars with the same name #497

0.7.2 - 2021-02-23

  • fix classpath for IDE without ant inside distribution
  • fix resolving the OS architecture

0.7.1 - 2021-02-22

  • fix classpath for IDE 2020.2 #601

0.7.0 - 2021-02-21

  • support GoLand as an SDK
  • fix javac2 dependency for project with implicit IntelliJ version #592
  • fix using query parameters in custom repository urls #589
  • support downloading JBR for aarch64 #600
  • added ant dependencies to testing classpath
  • fix JBR resolving after removing JavaFX from JBR in IDEA 2021.1 #599

0.6.5 - 2020-11-25

  • fixed not found classes from plugin dependencies in tests #570

0.6.4 - 2020-11-19

  • runPluginVerifier: integrate Plugin Verifier offline mode with Gradle offline start parameter
  • runPluginVerifier: introduce verifierPath property
  • support for Rider for Unreal Engine as an SDK

0.6.3 - 2020-11-09

  • fixed loading dependencies of builtin plugin #542
  • fixed loading file templates from plugins #554
  • yet another fix for class-loading in tests for IntelliJ Platform 203 and higher #561

0.6.2 - 2020-11-05

  • runPluginVerifier: make ideVersions property mandatory
  • runPluginVerifier: better handling of the exception produced by DownloadAction #553
  • runPluginVerifier: provide URL for verifying the available IDE versions #553
  • runPluginVerifier: fix java.nio.file.FileAlreadyExistsException as ERROR in logs #552
  • add prepareTestingSandbox as an input to tests

0.6.1 - 2020-10-29

  • runPluginVerifier: allow specifying ideVersions as comma-separated String
  • runPluginVerifier: specifying EAP build number leads to IllegalArgumentException
  • runPluginVerifier: fix for ArrayIndexOutOfBoundsException when destructuring ideVersion.split

0.6.0 - 2020-10-29

  • Introduced runPluginVerifier task that runs the IntelliJ Plugin Verifier tool to check the binary compatibility with specified IntelliJ IDE builds.

0.5.1 - 2020-10-27

  • fix class-loading in tests for IntelliJ Platform >= 203

0.5.0 - 2020-10-05

  • do not download dependencies during configuration phase #123
  • support multiple plugin repositories
  • support enterprise plugin repositories #15

0.4.26 - 2020-09-18

  • fix plugin-repository-rest-client dependency

0.4.25 - 2020-09-17

  • fix plugin-repository-rest-client dependency

0.4.24 - 2020-09-17

  • fix plugin-repository-rest-client dependency

0.4.23 - 2020-09-17

  • fix compatibility issue with Kotlin 1.4 serialization #532

0.4.22 - 2020-09-03

  • add option to disable auto-reload of dynamic plugins
  • documentation improvements

0.4.21 - 2020-05-12

  • fix adding searchable options to the distribution for Gradle > 5.1 #487

0.4.20 - 2020-05-06

  • fixed caching builtin plugins data
  • add annotations-19.0.0 to compile classpath by default
  • fix setting plugin name for Gradle 5.1-5.3 #481

0.4.19 - 2020-05-02

  • Use builtin JBR from alternativeIdePath IDE #358
  • Enable dependencies for builtin plugins automatically #474
  • Allow referring builtin plugins by their ids rather than directory name IDEA-233841
  • Require 4.9 Gradle version, dropped deprecated stuff
  • Do not add junit.jar into classpath, it may clash with junit-4.jar on certain JDKs

0.4.18 - 2020-04-01

  • Introduced runIdeForUiTests task #466
  • Fix unpacking JBR with JCEF on Mac #468
  • Publish plugin security update #472

0.4.17 - 2020-03-23

  • Fix platform prefix for DataGrip #458
  • Enable plugin auto-reloading by default
  • Upgrade plugins repository client
  • Use new methods for Gradle 5.1 and higher #464
  • Support JBR with JCEF #465

0.4.16 - 2020-01-27

  • Fix downloading JBR if temp directory and gradle chace are on the different partitions #457
  • Build searchable options task is marked as cacheable

0.4.15 - 2019-12-07

  • Fix uploading on Java 11 #448
  • Fix instrumentation when localPath is set #443

0.4.14 - 2019-11-25

  • Support for Gradle 6.0
  • Deprecated runIde.ideaDirectory. runIde.ideDirectory should be used instead

0.4.13 - 2019-11-13

  • Removed intellij.useProductionClassLoaderInTests option as we found another way to fix loading plugins in tests in 2019.3

0.4.12 - 2019-11-08

  • More structured logging
  • Introduced intellij.useProductionClassLoaderInTests option to control how plugin is going to be loaded in tests

0.4.11 - 2019-10-30

  • Fix setting archive name for Gradle 5.1 and higher #436
  • Fix forms compilation for Rider and Python snapshot builds. Works for Rider-2019.3-SNAPSHOT and higher #403

0.4.10 - 2019-08-08

  • Upgrade download plugin #418
  • Simplify custom runIde task configuration #401

0.4.9 - 2019-06-05

  • Graceful handling of 404 errors when publishing a new plugin #389
  • Support PyCharm as an SDK
  • Fail if the plugin depends on Java plugin but doesn't declare it as dependency

0.4.8 - 2019-04-16

  • Gradle 5.4 compatibility
  • Support for new JBR distributions layout
  • Made buildSearchableOption task incremental

0.4.7 - 2019-03-25

  • add one more executable file in Rider SDK

0.4.6 - 2019-03-25

  • support Gradle 5.3 #379
  • fixed downloading JBR 8 for IDEA 2018.3 and earlier

0.4.5 - 2019-03-13

  • support JBR 11 from the new JetBrains Runtime Repository
  • support running using JBR 11 IDEA-208692

0.4.4 - 2019-02-28

  • support the new bintray repository for JetBrains Runtime artifacts
  • fixed downloading of old JBR builds #367
  • fix instrumentation for local IDE instances #369

0.4.3 - 2019-02-19

  • fixed downloading instrumentation dependencies for release versions
  • fixed downloading renamed JetBrains Runtime artifacts
  • fixed removing config/ and system/ on running runIde task #359
  • fixed plugin's sources attaching
  • drop Gradle 2 support
  • support for CLion as a building dependency #342
  • support token-based authentication while publishing plugins #317
  • add notification about patching particular tag values and attributes in plugin.xml #284
  • fix attaching sources to bundled plugins #337
  • fix verification message in case of default value of description-tag
  • fixed resolving plugins from a custom channel #320
  • fixed building with Java 9
  • fixed resolving plugins from a custom channel
  • fixed uploading plugins #321
  • fixed caching strategy for IDEA dependency #318
  • fixed dependency on local plugin files
  • cache-redirector is used for downloading plugin dependencies #301
  • fixed missing tools.jar on Mac #312
  • runIde task uses tools.jar from a JBRE java #307
  • Allow to override all system properties in RunIde task #304
  • Move to the new url to JBRE and Gradle distributions #301
  • Fixed an encoding while writing plugin.xml #295
  • Gradle 4.8 compatibility #283
  • fixed compiling JGoodies forms for IDEA version >= 182.* #290
  • fix running for IDEA version < 2017.3 #273
  • added plugin verification task: verifyPlugin
  • default values of runIde task are propagated to all RunIdeaTask-like tasks
  • enhanced plugins resolution: better error messages for unresolved dependencies and fixes #247
  • check build number to decide whether the unzipped distribution can be reused (fixes #234)
  • download JetBrains Java runtime and use it while running IDE (fixes #192)
  • do not include plugin's jars recursively (fixes #231)
  • allow adding custom Javac2.jar to instrumentCode task
  • recognize new kotlin stdlib files as part of IDEA dependency
  • Setup project plugin dependency for an already evaluated project (fixes #238)
  • update default repository url
  • support for running GoLand
  • fix compatibility with Gradle 4.0 new versions of Kotlin and Scala plugins (fixes #221 and #222)
  • automatically set system properties for debugging Resharper
  • restore scripts execution permissions in Rider distribution
  • support RD prefix for Rider
  • avoid possible NPEs (fixes #208)
  • Gradle 4.0 compatibility fixes
  • upgrade plugin-repository-rest-client
  • upgrade plugin-repository-rest-client
  • upgrade plugin-services libraries to fix 'Invalid plugin type' exception while downloading plugins dependencies (fixes #201)
  • prefer compile configuration for any plugins IDEA dependencies in tests (fixes #202)
  • prefer compile configuration for bundled plugins IDEA dependencies in tests
  • prefer compile configuration for IDEA dependencies in tests
  • prefer compileOnly configuration for plugins dependencies in tests
  • avoid exception due to adding duplicated configurations
  • prefer compileOnly configuration for IDEA dependencies
  • set buildDir as a default cache for IDE dependencies in case of Rider-plugin
  • fix Kotlin instrumentation
  • fixed attaching sources for IDEA Ultimate and bundled plugins
  • fixed compilation for multi-module layout
  • added runIde task. runIdea is deprecated now (fixes #169)
  • fixed kotlin forms instrumentation (fixes #171)
  • fixed filtering out all resources of dependent plugins (fixes #172)
  • fixed intellij.systemProperties extension (fixes #173)
  • added Rider support (fixes #167)
  • fix unresolved builtin plugins on case-insensitive file systems
  • result artifact format is changed: now it's always a ZIP archive even if plugin has no extra dependencies. Note that this may change classloading ( see #170)
  • added an ability to use local IDE installation for compiling
  • result zip archive is added to archives configuration, built-in assemble task now builds the plugin distribution
  • added JPS-type for intellij dependency (fixes #106)
  • patchXml action is reimplemented, now it's possible to freely customize input files, destination directory, since/until builds, plugin description and version
  • publishTask is reimplemented, now it's possible to set several channels to upload (fixes #117)
    • it's possible to reuse reimplemented tasks in client's code
    • it's allowed to run tasks without plugin.xml
    • tasks are configured before project evaluation, project.afterEvaluate is not require anymore
  • fix incremental compiling after instrumenting code (fixes #116)
  • added intellij.ideaDependencyCachePath option (fixes #127)
  • project() reference can be used as a plugin-dependency (fixes #17)
  • fix attaching sources of builtin plugins (fixes #153)
  • Do not override plugins directory content (temporary fix of #17)
  • Added default configuration to ivy-repositories (fixes #114)
  • External plugin directories are placed in compile classpath so IDEA code insight is better for them now (fixes #105)
  • Fix incremental compilation on changing intellij.version (fixes #67)
  • Support external plugin dependencies
  • Fix Kotlin forms instrumentation (#73)
  • Allow making single-build plugin distributions (fixes #64)
  • Exclude kotlin dependencies if needed (fixes #57)
  • Disable automatic updates check in debug IDEA (fixes #46)
  • Support local IDE installation as a target application of runIdea task
  • Attach community sources to ultimate IntelliJ artifact (fixes #37)
  • New extension for passing system properties to runIdea task (fixes #18)
  • Support compilation in IDEA 13.1 (fixes #28)
  • Fixed broken runIdea task
  • cleanTest task clean system-test and config-test directories (fixes #13)
  • Do not override plugins which were installed in debug IDEA (fixes #24)
  • RunIdeaTask is extensible (fixes #23)
  • Fix xml parsing exception (fixes #25)
  • Disabled custom class loader in tests (fixes #21)
  • Do not patch version tag if project.version property is not specified (fixes #11)
  • IntelliJ-specific jars are attached as compile dependency (fixes #5)
  • Support for attaching IntelliJ sources in IDEA