Skip to content

Commit 242dcbb

Browse files
authored
fix(compiler): Fix compatibility with Kotlin 2.3.0 (#1046)
* fix(compiler): Fix compatibility with Kotlin 2.3.0 * Changelog
1 parent 97d91a3 commit 242dcbb

4 files changed

Lines changed: 15 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
## Unreleased
44

5+
### Fixes
6+
7+
- Fix compatibility with Kotlin 2.3.0 ([#1046](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1046))
8+
59
### Dependencies
610

711
- Bump CLI from v3.0.0 to v3.0.1 ([#1043](https://github.com/getsentry/sentry-android-gradle-plugin/pull/1043))
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
package io.sentry
2+
3+
public const val PLUGIN_ID = "io.sentry.kotlin.compiler"

sentry-kotlin-compiler-plugin/src/main/kotlin/io/sentry/SentryKotlinCompilerPlugin.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
1111
import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
1212
import org.jetbrains.kotlin.config.CompilerConfiguration
1313
import org.jetbrains.kotlin.config.KotlinCompilerVersion
14+
import org.jetbrains.kotlin.config.messageCollector
1415

1516
@OptIn(ExperimentalCompilerApi::class)
1617
@AutoService(CompilerPluginRegistrar::class)
@@ -19,10 +20,9 @@ class SentryKotlinCompilerPlugin : CompilerPluginRegistrar() {
1920
override val supportsK2: Boolean
2021
get() = true
2122

22-
override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) {
23-
val messageCollector =
24-
configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollector.NONE)
23+
val pluginId: String = PLUGIN_ID
2524

25+
override fun ExtensionStorage.registerExtensions(configuration: CompilerConfiguration) {
2626
val versionString = KotlinCompilerVersion.getVersion()
2727
val version =
2828
if (versionString != null) {
@@ -33,13 +33,17 @@ class SentryKotlinCompilerPlugin : CompilerPluginRegistrar() {
3333

3434
val extension: IrGenerationExtension =
3535
if (version >= SimpleSemVer(2, 2, 0)) {
36+
val messageCollector = configuration.messageCollector
3637
JetpackComposeTracingIrExtension22(messageCollector)
3738
} else if (version >= SimpleSemVer(2, 1, 20)) {
39+
val messageCollector = configuration.messageCollector
3840
// 2.1.20 removed some optional parameters, causing API incompatibility
3941
// e.g. java.lang.NoSuchMethodError
4042
// see https://github.com/JetBrains/kotlin/commit/dd508452c414a0ee8082aa6f76d664271cb38f2f
4143
JetpackComposeTracingIrExtension21(messageCollector)
4244
} else {
45+
val messageCollector =
46+
configuration.get(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY, MessageCollector.NONE)
4347
JetpackComposeTracingIrExtension19(messageCollector)
4448
}
4549

sentry-kotlin-compiler-plugin/src/main/kotlin/io/sentry/SentryKotlinCompilerPluginCommandLineProcessor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.compiler.plugin.ExperimentalCompilerApi
99
@AutoService(CommandLineProcessor::class)
1010
class SentryKotlinCompilerPluginCommandLineProcessor : CommandLineProcessor {
1111

12-
override val pluginId: String = "io.sentry.kotlin.compiler"
12+
override val pluginId: String = PLUGIN_ID
1313

1414
override val pluginOptions: Collection<CliOption> = emptyList()
1515
}

0 commit comments

Comments
 (0)