Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible with IntelliJ IDEA 2022.1 #989

Open
FWDekker opened this issue Dec 10, 2021 · 25 comments
Open

Incompatible with IntelliJ IDEA 2022.1 #989

FWDekker opened this issue Dec 10, 2021 · 25 comments

Comments

@FWDekker
Copy link

FWDekker commented Dec 10, 2021

Launching IntelliJ IDEA 2021.3 with the latest Spek version results in the following error when launching the IDE:

Plugin 'Spek Framework' (version '2.0.17-IJ2021.2') is not compatible with the current version of the IDE, because it requires build 212.* or older but the current build is IU-213.5744.223

As a result, none of the plugin's features are available. The plugin should be updated to support the latest IDE version.

Additionally, because this is not the first time that the plugin is incompatible with the latest version (cf. #829, #834, #889, #939, #954, #980), I think it might be worthwhile to stop restricting the until version supported by the plugin, so that the plugin is considered compatible with all future versions by default. I admit I'm not intimately familiar with Spek's architecture, but it's not clear to me why a different release is created for each IDE version.

@robstoll
Copy link
Contributor

I am considering moving away from spek due to this problem because it basically pops up with every update. Any plans to address this problem?

@sepatel
Copy link

sepatel commented Feb 7, 2022

I think being unable to fix the inability to actually run spek tests for months at a time is a big reason that we are also starting to migrate everything away from Spek. As nice as it is, the inability to keep it maintained is causing major impact on our product development and this being a continual problem that isn't getting resolved in a few days or a week is terrible.

There should be some way to know and/or validate this stuff before major releases as the IntelliJ release schedule is pretty well known in advance with public access to the upcoming releases as well. But even failing that, it shouldn't be taking several months before being able to work again every few releases.

@raniejade
Copy link
Member

Just merged #991, 2021.3 plugin is available in the dev channel for now: https://plugins.jetbrains.com/plugin/10915-spek-framework/versions/dev/157940. Appreciate it if you can test it out, I'll trigger a full release after that.

@sepatel
Copy link

sepatel commented Feb 13, 2022

Just merged #991, 2021.3 plugin is available in the dev channel for now: https://plugins.jetbrains.com/plugin/10915-spek-framework/versions/dev/157940. Appreciate it if you can test it out, I'll trigger a full release after that.

I just tested it and didn't find any issues with any of the tests for the main project we have.

@raniejade
Copy link
Member

Thanks @sepatel, I'll trigger a release tonight.

@jurriaan
Copy link

Thanks @raniejade.

Just tested I do unfortunately get this error using the dev channel plugin:

Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics
	at org.spekframework.ide.ConsoleKt.main(console.kt)
Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 1 more

Using JDK 17 and Kotlin 1.6.10

openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12)
OpenJDK 64-Bit Server VM (build 17.0.1+12, mixed mode)

Kotlin version 1.6.10-release-923 (JRE 17.0.1+12)

@raniejade
Copy link
Member

@jurriaan That usually happens when you have multiple kotlin versions in your classpath. Can you look at your dependencies?

@jurriaan
Copy link

All kotlin dependencies of this project are currently on 1.6.10 (except for https://mvnrepository.com/artifact/org.jetbrains.kotlinx/kotlinx-coroutines-bom, but that's probably unrelated, 1.6.0 is the latest version).

@raniejade
Copy link
Member

Can you try listing down the dependencies via gradle? (https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html) - there is most likely a conflict with the kotlin versions.

@jurriaan
Copy link

jurriaan commented Feb 14, 2022

@raniejade That's indeed how I checked it:

$ ./gradlew dependencies|grep kotlin|grep -v 1.6.10| grep -v coroutines
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (n)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
kotlinCompilerClasspath
kotlinCompilerPluginClasspath
kotlinCompilerPluginClasspathMain - Kotlin compiler plugins for compilation 'main' (target  (jvm))
kotlinCompilerPluginClasspathTest - Kotlin compiler plugins for compilation 'test' (target  (jvm))
kotlinKlibCommonizerClasspath
kotlinNativeCompilerPluginClasspath
kotlinScriptDef - Script filename extensions discovery classpath configuration
kotlinScriptDefExtensions
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1

All kotlin related dependencies:

$ ./gradlew dependencies|grep kotlin
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0
|    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
          +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
          \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (n)
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor (n)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (n)
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
     \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
kotlinCompilerClasspath
\--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.6.10
     +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
     |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
     +--- org.jetbrains.kotlin:kotlin-script-runtime:1.6.10
     +--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
     |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
     +--- org.jetbrains.kotlin:kotlin-daemon-embeddable:1.6.10
kotlinCompilerPluginClasspath
kotlinCompilerPluginClasspathMain - Kotlin compiler plugins for compilation 'main' (target  (jvm))
+--- org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-scripting-common:1.6.10
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-scripting-jvm:1.6.10
|    |    |    +--- org.jetbrains.kotlin:kotlin-script-runtime:1.6.10
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    \--- org.jetbrains.kotlin:kotlin-scripting-common:1.6.10 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlin:kotlin-allopen:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-native-utils:1.6.10
|    |    |    \--- org.jetbrains.kotlin:kotlin-util-io:1.6.10
|    |    \--- org.jetbrains.kotlin:kotlin-project-model:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.6.10
\--- org.jetbrains.kotlin:kotlin-noarg:1.6.10
     +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10 (*)
     \--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.6.10
kotlinCompilerPluginClasspathTest - Kotlin compiler plugins for compilation 'test' (target  (jvm))
+--- org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-scripting-common:1.6.10
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-scripting-jvm:1.6.10
|    |    |    +--- org.jetbrains.kotlin:kotlin-script-runtime:1.6.10
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    \--- org.jetbrains.kotlin:kotlin-scripting-common:1.6.10 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlin:kotlin-allopen:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-native-utils:1.6.10
|    |    |    \--- org.jetbrains.kotlin:kotlin-util-io:1.6.10
|    |    \--- org.jetbrains.kotlin:kotlin-project-model:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.6.10
\--- org.jetbrains.kotlin:kotlin-noarg:1.6.10
     +--- org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.6.10 (*)
     \--- org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.6.10
kotlinKlibCommonizerClasspath
\--- org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.6.10
     +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
     |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
     \--- org.jetbrains.kotlin:kotlin-compiler-embeddable:1.6.10
          +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
          +--- org.jetbrains.kotlin:kotlin-script-runtime:1.6.10
          +--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
          |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
          +--- org.jetbrains.kotlin:kotlin-daemon-embeddable:1.6.10
kotlinNativeCompilerPluginClasspath
kotlinScriptDef - Script filename extensions discovery classpath configuration
kotlinScriptDefExtensions
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0
|    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0
|    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0
|    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-test-junit5:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-test:1.6.10
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.6.0
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlin:kotlin-test-junit5:1.6.10 (n)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0 (n)
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|              \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-test-junit5:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-test:1.6.10
|    |    +--- org.jetbrains.kotlin:kotlin-test-common:1.6.10
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
|    |    \--- org.jetbrains.kotlin:kotlin-test-annotations-common:1.6.10
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
+--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |    |    |         +--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0 (c)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.6.0 (c)
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0 (c)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-jdk8 -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0
|    |    \--- org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0
|    |         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10
|    |         |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10
|    |         |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-reactor -> 1.6.0
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-reactive:1.6.0
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    |    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         |         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
|         |         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.5.31 -> 1.6.10
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.31 -> 1.6.10 (*)
+--- com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.5.30 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-reflect:1.3.72 -> 1.6.10 (*)
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|    |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.3.72 -> 1.6.10 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib:1.3.72 -> 1.6.10 (*)
|         +--- org.jetbrains.kotlin:kotlin-reflect:1.3.72 -> 1.6.10 (*)
+--- org.jetbrains.kotlin:kotlin-test-junit5:1.6.10
|    +--- org.jetbrains.kotlin:kotlin-test:1.6.10
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10 (*)
+--- org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0
|    \--- org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.6.0
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0 (*)
|         +--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.0 -> 1.6.10
|         +--- org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.0 (*)
|         \--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.6.10 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.6.10
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlin:kotlin-reflect:1.4.32 -> 1.6.10 (*)
|    +--- org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3 -> 1.6.0 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.4.32 -> 1.6.10
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.4.32 -> 1.6.10 (*)
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10 (n)
+--- org.jetbrains.kotlin:kotlin-reflect:1.6.10
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.6.10
|         \--- org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10

@raniejade
Copy link
Member

Thanks @jurriaan! Are you able to share your project so I can attempt to replicate it?

@jurriaan
Copy link

@raniejade Sorry for the late response, I've tried a lot of things (clearing caches, rebuilding the project etc.) which didn't work. But after removing my .idea and .gradle folders it works again 🎉

Tested successfully on IntelliJ IDEA 2021.3.2 (Community Edition)

@lnhrdt
Copy link

lnhrdt commented Mar 10, 2022

@raniejade any chance you're ready to trigger a full release now?

@raniejade
Copy link
Member

Apologies, triggering it now.

@raniejade
Copy link
Member

It should be out by now, again apologies for the delay.

@lnhrdt
Copy link

lnhrdt commented Mar 12, 2022

Thank you @raniejade! The new 2.0.18 version of the plugin is working for us in IntellijJ 2021.3.2.

We appreciate you maintaining this for us!

Do you have any opinion on @FWDekker's suggestion:

I think it might be worthwhile to stop restricting the until version supported by the plugin, so that the plugin is considered compatible with all future versions by default.

Would you consider this approach? Or is it a better practice to keep this manual process for supporting new versions of IntelliJ after they come out?

@raniejade
Copy link
Member

We have tried unbounding the until version of the IJ specific built of the plugin way back and it caused issues with Android Studio (it was trying to use the plugin built for IJ - note that we have two different builds for IJ and AS because of this: https://github.com/spekframework/spek/blob/2.x/spek-ide-plugin-android-studio/src/main/kotlin/org/spekframework/intellij/SpekAndroidConfigurationType.kt#L7 - AS devs loves to hardcode stuff and make things harder to extend, filed a ticket about it but it was totally ignored). The real problem here is how the IJ platform itself handle versioning, you can't just tag a plugin that will only work for specific products (i.e AS, pycharm, etc ...) - you have to be careful on how to version your plugin if you are going to support multiple products (IJ, AS, etc ...)

So the versioning scheme that we ended up with is similar to Jetbrain's own Kotlin plugin.

@nlwillia
Copy link

FWIW, the same problem now exists for IDEA 2022.1.

Plugin 'Spek Framework' (version '2.0.18-IJ2021.3') is not compatible with the current version of the IDE, because it requires build 213.* or older but the current build is IU-221.5080.210

@FWDekker
Copy link
Author

@raniejade I see, I was unaware of those API issues in AS. While I have no experience with this, I imagine it might be possible to create two versions of the plugin, one that is unbounded in version and supports all IDEs except AS, and a bounded version specifically for AS. I think this should be possible by making the former use <incompatible-with>com.intellij.modules.androidstudio</incompatible-with> and the latter <depends>com.intellij.modules.androidstudio</depends>. At this point the real issue becomes how you declare these so that you build two separate plugins, other than doing this manually for each release :-/

@FWDekker FWDekker changed the title Incompatible with IntelliJ IDEA 2021.3 Incompatible with IntelliJ IDEA 2022.1 Apr 19, 2022
@raniejade
Copy link
Member

@FWDekker interesting, I'm not familiar with: <incompatible-with>com.intellij.modules.androidstudio</incompatible-with> but let me try it out, thanks! We are already building the plugins separately (and they have their own plugin.xml file), so it should be possible.

@martypitt
Copy link

Hey folks.

Just wondering if there's any ETA with a 2022.1 compatible release?

@raniejade
Copy link
Member

Hey @martypitt, not anytime soon sorry - I'm currently moving. I can start taking a look maybe two weeks from now.

@martypitt
Copy link

No worries. Thanks for the update.

@raniejade
Copy link
Member

I just merged a new PR (#994) which should include the incompatible-with changes. Additionally, it bumps the until-build to 223.*. It should be published in the dev channel of the plugin - would be great if you can test it. I'll do an actual release after that.

@jurriaan
Copy link

@raniejade Thanks! It works great with 2022.1 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants