Skip to content

Commit 6a4f501

Browse files
authored
Kotlin 2.2.0 support (#41)
1 parent cfc23f9 commit 6a4f501

File tree

8 files changed

+31
-17
lines changed

8 files changed

+31
-17
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
.cxx
1212
local.properties
1313
.kotlin
14+
build

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ allprojects {
4646
}
4747

4848
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class) {
49-
kotlinOptions {
50-
jvmTarget = JvmTarget.JVM_11.target
49+
compilerOptions {
50+
jvmTarget.set(JvmTarget.JVM_11)
5151
}
5252
}
5353

gradle/libs.versions.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[versions]
2-
kotlin = '2.1.20'
3-
compose-ui = '1.7.8'
4-
google-ksp = '2.1.20-1.0.32' # https://mvnrepository.com/artifact/com.google.devtools.ksp/com.google.devtools.ksp.gradle.plugin?repo=central
2+
kotlin = '2.2.0'
3+
compose-ui = '1.8.3'
4+
google-ksp = '2.2.0-2.0.2' # https://mvnrepository.com/artifact/com.google.devtools.ksp/com.google.devtools.ksp.gradle.plugin?repo=central
55
activity = '1.10.1'
6-
agp = '8.9.1'
6+
agp = '8.9.3'
77
espresso = '3.6.1'
88
mockk = '1.13.12'
99
mockito = '4.8.1'
@@ -38,7 +38,7 @@ autoservice-annotations = { module = 'com.google.auto.service:auto-service-annot
3838
google-ksp = { module = 'com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin', version.ref = 'google-ksp' }
3939

4040
# compile-testing = { module = 'com.github.tschuchortdev:kotlin-compile-testing', version = '1.5.0' }
41-
compile-testing = { module = 'dev.zacsweers.kctfork:core', version = '0.7.0' }
41+
compile-testing = { module = 'dev.zacsweers.kctfork:core', version = '0.7.1' }
4242

4343
junit = { module = 'androidx.test.ext:junit', version = '1.1.3' }
4444

mockposable/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ allprojects {
4646
}
4747

4848
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class) {
49-
kotlinOptions {
50-
jvmTarget = JvmTarget.JVM_11.target
49+
compilerOptions {
50+
jvmTarget.set(JvmTarget.JVM_11)
5151
}
5252
}
5353

mockposable/gradle.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,4 @@ android.useAndroidX=true
1919
kotlin.code.style=official
2020
android.nonTransitiveRClass=true
2121

22-
kotlin.js.compiler=ir
2322
kotlin.mpp.stability.nowarn=true

mockposable/mockposable-compiler/src/main/java/com/jeppeman/mockposable/compiler/IrUtils.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
@file:OptIn(DeprecatedForRemovalCompilerApi::class)
2+
13
package com.jeppeman.mockposable.compiler
24

5+
import org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi
36
import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
47
import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder
58
import org.jetbrains.kotlin.ir.IrElement

mockposable/mockposable-compiler/src/main/java/com/jeppeman/mockposable/compiler/MockKIrGenerationExtension.kt

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
@file:OptIn(DeprecatedForRemovalCompilerApi::class)
2+
13
package com.jeppeman.mockposable.compiler
24

5+
import org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi
36
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
47
import org.jetbrains.kotlin.backend.common.IrValidatorConfig
58
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
@@ -19,6 +22,7 @@ import org.jetbrains.kotlin.ir.expressions.IrFunctionExpression
1922
import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol
2023
import org.jetbrains.kotlin.ir.types.classFqName
2124
import org.jetbrains.kotlin.ir.types.classOrNull
25+
import org.jetbrains.kotlin.ir.util.dump
2226
import org.jetbrains.kotlin.ir.util.dumpKotlinLike
2327
import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable
2428
import org.jetbrains.kotlin.ir.util.getSimpleFunction
@@ -45,14 +49,18 @@ class MockKIrGenerationExtension(
4549
EveryComposableElementTransformer(logger, pluginContext),
4650
VerifyComposableElementTransformer(logger, pluginContext)
4751
)
52+
val beforeTransform = moduleFragment.dump()
4853
transformers.forEach { transformer -> moduleFragment.transform(transformer, null) }
49-
validateIr(messageCollector, IrVerificationMode.ERROR) {
50-
performBasicIrValidation(
51-
moduleFragment,
52-
pluginContext.irBuiltIns,
53-
"MockK transformation",
54-
IrValidatorConfig(),
55-
)
54+
val afterTransform = moduleFragment.dump()
55+
if (beforeTransform != afterTransform) {
56+
validateIr(messageCollector, IrVerificationMode.ERROR) {
57+
performBasicIrValidation(
58+
moduleFragment,
59+
pluginContext.irBuiltIns,
60+
"MockK transformation",
61+
IrValidatorConfig(),
62+
)
63+
}
5664
}
5765
}
5866
}

mockposable/mockposable-compiler/src/main/java/com/jeppeman/mockposable/compiler/MockitoIrGenerationExtension.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
@file:OptIn(DeprecatedForRemovalCompilerApi::class)
2+
13
package com.jeppeman.mockposable.compiler
24

5+
import org.jetbrains.kotlin.DeprecatedForRemovalCompilerApi
36
import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext
47
import org.jetbrains.kotlin.backend.common.IrValidatorConfig
58
import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension

0 commit comments

Comments
 (0)