From 29d80148e0b94341426d1130809e5229c81a3d86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9bron?= Date: Mon, 10 Jul 2023 16:59:11 +0200 Subject: [PATCH] remove Kotlin 1.8.20 OOM workaround from code samples --- code_samples/action_basics/gradle.properties | 3 --- .../gradle.properties | 3 --- .../gradle.properties | 3 --- code_samples/editor_basics/gradle.properties | 3 --- code_samples/facet_basics/gradle.properties | 3 --- code_samples/framework_basics/gradle.properties | 3 --- code_samples/kotlin_demo/gradle.properties | 3 --- code_samples/live_templates/gradle.properties | 3 --- .../max_opened_projects/gradle.properties | 3 --- code_samples/module/gradle.properties | 3 --- .../pycharm_basics/gradle.properties | 3 --- code_samples/project_model/gradle.properties | 3 --- code_samples/project_view_pane/gradle.properties | 3 --- code_samples/project_wizard/gradle.properties | 3 --- code_samples/psi_demo/gradle.properties | 3 --- code_samples/run_configuration/gradle.properties | 3 --- code_samples/settings/gradle.properties | 3 --- .../simple_language_plugin/gradle.properties | 3 --- code_samples/tool_window/gradle.properties | 3 --- .../tree_structure_provider/gradle.properties | 3 --- .../tools_gradle_intellij_plugin_faq.md | 10 +--------- topics/tutorials/using_kotlin.md | 15 +++++++++++++++ 22 files changed, 16 insertions(+), 69 deletions(-) diff --git a/code_samples/action_basics/gradle.properties b/code_samples/action_basics/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/action_basics/gradle.properties +++ b/code_samples/action_basics/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/comparing_string_references_inspection/gradle.properties b/code_samples/comparing_string_references_inspection/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/comparing_string_references_inspection/gradle.properties +++ b/code_samples/comparing_string_references_inspection/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/conditional_operator_intention/gradle.properties b/code_samples/conditional_operator_intention/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/conditional_operator_intention/gradle.properties +++ b/code_samples/conditional_operator_intention/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/editor_basics/gradle.properties b/code_samples/editor_basics/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/editor_basics/gradle.properties +++ b/code_samples/editor_basics/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/facet_basics/gradle.properties b/code_samples/facet_basics/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/facet_basics/gradle.properties +++ b/code_samples/facet_basics/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/framework_basics/gradle.properties b/code_samples/framework_basics/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/framework_basics/gradle.properties +++ b/code_samples/framework_basics/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/kotlin_demo/gradle.properties b/code_samples/kotlin_demo/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/kotlin_demo/gradle.properties +++ b/code_samples/kotlin_demo/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/live_templates/gradle.properties b/code_samples/live_templates/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/live_templates/gradle.properties +++ b/code_samples/live_templates/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/max_opened_projects/gradle.properties b/code_samples/max_opened_projects/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/max_opened_projects/gradle.properties +++ b/code_samples/max_opened_projects/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/module/gradle.properties b/code_samples/module/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/module/gradle.properties +++ b/code_samples/module/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/product_specific/pycharm_basics/gradle.properties b/code_samples/product_specific/pycharm_basics/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/product_specific/pycharm_basics/gradle.properties +++ b/code_samples/product_specific/pycharm_basics/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/project_model/gradle.properties b/code_samples/project_model/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/project_model/gradle.properties +++ b/code_samples/project_model/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/project_view_pane/gradle.properties b/code_samples/project_view_pane/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/project_view_pane/gradle.properties +++ b/code_samples/project_view_pane/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/project_wizard/gradle.properties b/code_samples/project_wizard/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/project_wizard/gradle.properties +++ b/code_samples/project_wizard/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/psi_demo/gradle.properties b/code_samples/psi_demo/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/psi_demo/gradle.properties +++ b/code_samples/psi_demo/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/run_configuration/gradle.properties b/code_samples/run_configuration/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/run_configuration/gradle.properties +++ b/code_samples/run_configuration/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/settings/gradle.properties b/code_samples/settings/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/settings/gradle.properties +++ b/code_samples/settings/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/simple_language_plugin/gradle.properties b/code_samples/simple_language_plugin/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/simple_language_plugin/gradle.properties +++ b/code_samples/simple_language_plugin/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/tool_window/gradle.properties b/code_samples/tool_window/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/tool_window/gradle.properties +++ b/code_samples/tool_window/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/code_samples/tree_structure_provider/gradle.properties b/code_samples/tree_structure_provider/gradle.properties index 761df0ff0..00c662096 100644 --- a/code_samples/tree_structure_provider/gradle.properties +++ b/code_samples/tree_structure_provider/gradle.properties @@ -3,9 +3,6 @@ # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib kotlin.stdlib.default.dependency = false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot = false - # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html org.gradle.configuration-cache = true diff --git a/topics/appendix/tools/gradle_intellij_plugin/tools_gradle_intellij_plugin_faq.md b/topics/appendix/tools/gradle_intellij_plugin/tools_gradle_intellij_plugin_faq.md index 4109f3ac4..5455c5dbb 100644 --- a/topics/appendix/tools/gradle_intellij_plugin/tools_gradle_intellij_plugin_faq.md +++ b/topics/appendix/tools/gradle_intellij_plugin/tools_gradle_intellij_plugin_faq.md @@ -290,14 +290,6 @@ It is also possible to refer to the sandbox directory of another Gradle project ### Kotlin compiler throws `Out of memory. Java heap space` error -Since Kotlin `1.8.20`, the Kotlin compiler has a [new incremental compilation approach](https://kotlinlang.org/docs/gradle-compilation-and-caches.html#a-new-approach-to-incremental-compilation) enabled by default that fails when reading IntelliJ SDK JAR files. - -As a workaround, you can disable it by adding the following line to the gradle.properties file: - -``` -kotlin.incremental.useClasspathSnapshot=false -``` - -See the [](using_kotlin.md#incremental-compilation) section for more details. +Please upgrade to Kotlin 1.9.0. See the [](using_kotlin.md#incremental-compilation) section if using Kotlin 1.8.20. diff --git a/topics/tutorials/using_kotlin.md b/topics/tutorials/using_kotlin.md index 7974b094a..6dc82ccf6 100644 --- a/topics/tutorials/using_kotlin.md +++ b/topics/tutorials/using_kotlin.md @@ -123,6 +123,18 @@ See [Dependency on the standard library](https://kotlinlang.org/docs/gradle.html The Kotlin Gradle plugin supports [incremental compilation](https://kotlinlang.org/docs/gradle-compilation-and-caches.html#incremental-compilation), which allows tracking changes in the source files so the compiler handles only updated code. + + + + +Remove additional `kotlin.incremental.useClasspathSnapshot=false` property in gradle.properties if present. + + + + + +> Please consider using Kotlin 1.9.0 where this issue has been resolved. + The Kotlin `1.8.20` release has a [new incremental compilation approach](https://kotlinlang.org/docs/gradle-compilation-and-caches.html#a-new-approach-to-incremental-compilation) enabled by default. Unfortunately, it is not compatible with the IntelliJ Platform — when reading large JAR files (like app.jar or 3rd-party-rt.jar), leading to the `Out of Memory` exception: @@ -141,6 +153,9 @@ kotlin.incremental.useClasspathSnapshot=false You can find the current state of the issue in [KT-57757](https://youtrack.jetbrains.com/issue/KT-57757/Reduce-classpath-snapshotter-memory-consumption). + + + ### Other Bundled Kotlin Libraries Please see [Third-Party Software and Licenses](https://www.jetbrains.com/legal/third-party-software/).