diff --git a/.github/workflows/run-idea-tests.yaml b/.github/workflows/run-idea-tests.yaml index 44e21faa..2211b30a 100644 --- a/.github/workflows/run-idea-tests.yaml +++ b/.github/workflows/run-idea-tests.yaml @@ -37,8 +37,8 @@ jobs: strategy: fail-fast: false matrix: - ide: [ IC, IU, AI ] - build: [ 251 ] + ide: [ IU, AI ] + build: [ 252 ] name: ${{ format('{0}-{1}', matrix.ide, matrix.build) }} runs-on: ubuntu-latest steps: diff --git a/build.gradle.kts b/build.gradle.kts index 5a32c9bf..e000355e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ buildscript { allprojects { group = "com.rickclephas.kmp" - version = "1.0.0-ALPHA-47" + version = "1.0.0-ALPHA-47-idea-2025.3-EAP-20558.43" } apiValidation { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index df0d7034..62d6dc04 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] kotlin = "2.2.20" -kotlin-idea = "2.2.0-ij251-78" +kotlin-idea = "2.3.0-dev-7984" kotlinx-coroutines = "1.10.1" kotlinx-binary-compatibility-validator = "0.16.3" ksp = "2.2.20-2.0.2" @@ -37,7 +37,7 @@ kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serializa [plugins] gradle-plugin-publish = { id = "com.gradle.plugin-publish", version = "1.2.0" } -intellij-platform = { id = "org.jetbrains.intellij.platform", version = "2.6.0" } +intellij-platform = { id = "org.jetbrains.intellij.platform", version = "2.9.0" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } kotlinx-binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "kotlinx-binary-compatibility-validator" } diff --git a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt index 9aa249c1..ce0c2d2c 100644 --- a/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt +++ b/kmp-nativecoroutines-compiler/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/compiler/KmpNativeCoroutinesCompilerPluginRegistrar.kt @@ -15,6 +15,7 @@ import org.jetbrains.kotlin.fir.extensions.FirExtensionRegistrarAdapter @OptIn(ExperimentalCompilerApi::class) public class KmpNativeCoroutinesCompilerPluginRegistrar: CompilerPluginRegistrar() { + override val pluginId: String = "com.rickclephas.kmp.nativecoroutines" override val supportsK2: Boolean = true override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) { diff --git a/kmp-nativecoroutines-idea-plugin/api/kmp-nativecoroutines-idea-plugin.api b/kmp-nativecoroutines-idea-plugin/api/kmp-nativecoroutines-idea-plugin.api index 70ec35de..347a6232 100644 --- a/kmp-nativecoroutines-idea-plugin/api/kmp-nativecoroutines-idea-plugin.api +++ b/kmp-nativecoroutines-idea-plugin/api/kmp-nativecoroutines-idea-plugin.api @@ -1,6 +1,7 @@ public final class com/rickclephas/kmp/nativecoroutines/idea/compiler/extensions/KmpNativeCoroutinesCompilerPluginProvider : org/jetbrains/kotlin/idea/fir/extensions/KotlinBundledFirCompilerPluginProvider { public fun ()V public fun provideBundledPluginJar (Lcom/intellij/openapi/project/Project;Ljava/nio/file/Path;)Ljava/nio/file/Path; + public fun provideBundledPluginJar (Ljava/nio/file/Path;)Ljava/nio/file/Path; } public final class com/rickclephas/kmp/nativecoroutines/idea/compiler/extensions/KmpNativeCoroutinesStorageComponentContainerContributor : org/jetbrains/kotlin/extensions/StorageComponentContainerContributor { diff --git a/kmp-nativecoroutines-idea-plugin/build.gradle.kts b/kmp-nativecoroutines-idea-plugin/build.gradle.kts index ad603207..d3ad62fb 100644 --- a/kmp-nativecoroutines-idea-plugin/build.gradle.kts +++ b/kmp-nativecoroutines-idea-plugin/build.gradle.kts @@ -25,7 +25,7 @@ kotlin { dependencies { intellijPlatform { - intellijIdeaCommunity("2025.1") + intellijIdea("253.20558.43") bundledPlugins("org.jetbrains.kotlin", "com.intellij.gradle") @@ -52,8 +52,8 @@ intellijPlatform { """.trimIndent() ideaVersion { - sinceBuild = "251" - untilBuild = "251.*" + sinceBuild = "253" + untilBuild = "253.*" } vendor { @@ -90,8 +90,7 @@ intellijPlatform { recommended() select { types = listOf( - IntelliJPlatformType.IntellijIdeaCommunity, - IntelliJPlatformType.IntellijIdeaUltimate, + IntelliJPlatformType.IntellijIdea, IntelliJPlatformType.AndroidStudio, ) } @@ -100,17 +99,12 @@ intellijPlatform { } } -val runIntelliJCommunity by intellijPlatformTesting.runIde.registering { - type = IntelliJPlatformType.IntellijIdeaCommunity -} - -val runIntelliJUltimate by intellijPlatformTesting.runIde.registering { - type = IntelliJPlatformType.IntellijIdeaUltimate +val runIntelliJ by intellijPlatformTesting.runIde.registering { + type = IntelliJPlatformType.IntellijIdea } val runAndroidStudio by intellijPlatformTesting.runIde.registering { type = IntelliJPlatformType.AndroidStudio - version = "2024.3.2.11" } tasks.withType(RunIdeTask::class) { diff --git a/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k1/RemoveAnnotationFixFactory.kt b/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k1/RemoveAnnotationFixFactory.kt index 6bcfa9bb..5af8e542 100644 --- a/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k1/RemoveAnnotationFixFactory.kt +++ b/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k1/RemoveAnnotationFixFactory.kt @@ -26,6 +26,6 @@ internal class RemoveAnnotationFixFactory( val diagnosticFactory = diagnosticFactories.firstOrNull { it == diagnostic.factory } ?: return null val annotationEntry = diagnosticFactory.cast(diagnostic).psiElement as? KtAnnotationEntry ?: return null val annotationName = annotationEntry.shortName?.identifierOrNullIfSpecial ?: return null - return RemoveAnnotationFix("Remove @$annotationName annotation", annotationEntry) + return RemoveAnnotationFix("Remove @$annotationName annotation", annotationEntry).asIntention() } } diff --git a/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k2/RemoveAnnotationFixFactory.kt b/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k2/RemoveAnnotationFixFactory.kt index 2e007053..b984fab2 100644 --- a/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k2/RemoveAnnotationFixFactory.kt +++ b/kmp-nativecoroutines-idea-plugin/src/main/kotlin/com/rickclephas/kmp/nativecoroutines/idea/quickfixes/k2/RemoveAnnotationFixFactory.kt @@ -24,6 +24,6 @@ internal class RemoveAnnotationFixFactory( if (diagnosticFactories.none { it.name == diagnostic.factoryName }) return@IntentionBased emptyList() val annotationEntry = diagnostic.psi as? KtAnnotationEntry ?: return@IntentionBased emptyList() val annotationName = annotationEntry.shortName?.identifierOrNullIfSpecial ?: return@IntentionBased emptyList() - listOf(RemoveAnnotationFix("Remove @$annotationName annotation", annotationEntry)) + listOf(RemoveAnnotationFix("Remove @$annotationName annotation", annotationEntry).asIntention()) } }