Skip to content

Commit a4d7773

Browse files
committed
test: Remove JvmBlockingWithType annotation, cleanup related configurations, and introduce test-runner module with generic return type support.
1 parent 03ca25e commit a4d7773

File tree

17 files changed

+255
-122
lines changed

17 files changed

+255
-122
lines changed

compiler/suspend-transform-plugin/src/test/love/forte/plugin/suspendtrans/services/SuspendTransformerEnvironmentConfigurator.kt

Lines changed: 3 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
package love.forte.plugin.suspendtrans.services
22

33
import love.forte.plugin.suspendtrans.SuspendTransformComponentRegistrar
4-
import love.forte.plugin.suspendtrans.configuration.*
4+
import love.forte.plugin.suspendtrans.configuration.InternalSuspendTransformConfigurationApi
5+
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfiguration
56
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jsPromiseTransformer
6-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmApi4JAnnotationClassInfo
7-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmAsyncMarkAnnotationClassInfo
87
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmAsyncTransformer
9-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmBlockingMarkAnnotationClassInfo
10-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmBlockingTransformFunction
118
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmBlockingTransformer
12-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmNameAnnotationClassInfo
13-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmSyntheticClassInfo
14-
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.kotlinOptInClassInfo
9+
import love.forte.plugin.suspendtrans.configuration.TargetPlatform
1510
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoot
1611
import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
1712
import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar
@@ -40,40 +35,6 @@ class SuspendTransformerEnvironmentConfigurator(testServices: TestServices) : En
4035
TargetPlatform.JVM to listOf(
4136
jvmBlockingTransformer,
4237
jvmAsyncTransformer,
43-
// Typed Mark Annotation
44-
Transformer(
45-
markAnnotation = MarkAnnotation(
46-
classInfo = ClassInfo(
47-
packageName = "love.forte.plugin.suspendtrans.annotation",
48-
className = "JvmBlockingWithType"
49-
),
50-
defaultSuffix = "Blocking",
51-
markNameProperty = MarkNameProperty(
52-
propertyName = "markName",
53-
annotation = jvmNameAnnotationClassInfo,
54-
annotationMarkNamePropertyName = "name"
55-
),
56-
hasReturnTypeOverrideGeneric = true,
57-
),
58-
transformFunctionInfo = jvmBlockingTransformFunction,
59-
transformReturnType = null,
60-
transformReturnTypeGeneric = false,
61-
originFunctionIncludeAnnotations = listOf(IncludeAnnotation(jvmSyntheticClassInfo)),
62-
syntheticFunctionIncludeAnnotations = listOf(
63-
IncludeAnnotation(
64-
classInfo = jvmApi4JAnnotationClassInfo,
65-
includeProperty = true
66-
)
67-
),
68-
copyAnnotationsToSyntheticFunction = true,
69-
copyAnnotationExcludes = listOf(
70-
jvmSyntheticClassInfo,
71-
jvmBlockingMarkAnnotationClassInfo,
72-
jvmAsyncMarkAnnotationClassInfo,
73-
kotlinOptInClassInfo,
74-
jvmNameAnnotationClassInfo,
75-
),
76-
)
7738
)
7839
)
7940
)
@@ -101,11 +62,6 @@ class SuspendTransformerEnvironmentConfigurator(testServices: TestServices) : En
10162
it
10263
)
10364
}
104-
getRuntimeJarFile("love.forte.plugin.suspendtrans.annotation.JvmBlockingWithType")?.let {
105-
configuration.addJvmClasspathRoot(
106-
it
107-
)
108-
}
10965

11066
// register coroutines
11167
getRuntimeJarFile("kotlinx.coroutines.CoroutineScope")?.let {

compiler/suspend-transform-plugin/src/testData/codegen/typedAnno.fir.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

compiler/suspend-transform-plugin/src/testData/codegen/typedAnno.kt

Lines changed: 0 additions & 18 deletions
This file was deleted.

plugins/suspend-transform-plugin-gradle/src/main/kotlin/love/forte/plugin/suspendtrans/gradle/SuspendTransformGradlePlugin.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,7 @@ private fun DeprecatedMarkAnnotation.toMarkAnnotation(): MarkAnnotation {
222222
defaultSuffix = this.defaultSuffix,
223223
defaultAsProperty = this.defaultAsProperty,
224224
markNameProperty = null,
225+
hasReturnTypeOverrideGeneric = false
225226
)
226227
}
227228

runtime/suspend-transform-annotation/src/commonMain/kotlin/love/forte/plugin/suspendtrans/annotation/JvmBlockingWithType.kt

Lines changed: 0 additions & 13 deletions
This file was deleted.

runtime/suspend-transform-annotation/src/jvmMain/kotlin/love.forte.plugin.suspendtrans/annotation/TypedJvmBlocking.jvm.kt

Lines changed: 0 additions & 12 deletions
This file was deleted.

settings.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ include(":plugins:suspend-transform-plugin-gradle")
3737

3838
//Samples
3939
include(":tests:test-jvm")
40-
//include(":tests:test-js")
40+
include(":tests:test-js")
41+
include(":tests:test-runner")
4142
//include(":tests:test-kmp")
4243
// include(":tests:test-android")

tests/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
plugins {
2-
id("love.forte.plugin.suspend-transform") version "2.2.0-0.13.1" apply false
2+
id("love.forte.plugin.suspend-transform") version "2.2.0-0.14.0" apply false
33
}

tests/test-js/build.gradle.kts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@file:OptIn(ExperimentalReturnTypeOverrideGenericApi::class)
2+
3+
import love.forte.plugin.suspendtrans.annotation.ExperimentalReturnTypeOverrideGenericApi
14
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.kotlinJsExportIgnoreClassInfo
25
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
36

@@ -41,6 +44,7 @@ kotlin {
4144
implementation(libs.kotlinx.coroutines.core)
4245
implementation(project(":runtime:suspend-transform-annotation"))
4346
implementation(project(":runtime:suspend-transform-runtime"))
47+
implementation(project(":tests:test-runner"))
4448
}
4549
jsTest.dependencies {
4650
implementation(kotlin("test"))
@@ -64,5 +68,22 @@ suspendTransformPlugin {
6468
from(kotlinJsExportIgnoreClassInfo)
6569
}
6670
}
71+
addJsPromise {
72+
markAnnotation {
73+
classInfo {
74+
packageName = "love.forte.suspendtrans.test.runner"
75+
className = "JsResultPromise"
76+
}
77+
hasReturnTypeOverrideGeneric = true
78+
}
79+
80+
transformFunctionInfo {
81+
packageName = "love.forte.suspendtrans.test.runner"
82+
functionName = "jsResultToAsync"
83+
}
84+
85+
86+
}
87+
// love.forte.suspendtrans.test.runner
6788
}
6889
}

tests/test-jvm/build.gradle.kts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@file:OptIn(ExperimentalReturnTypeOverrideGenericApi::class)
2+
3+
import love.forte.plugin.suspendtrans.annotation.ExperimentalReturnTypeOverrideGenericApi
14
import org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11
25

36
plugins {
@@ -30,6 +33,7 @@ dependencies {
3033
api(project(":runtime:suspend-transform-annotation"))
3134
api(project(":runtime:suspend-transform-runtime"))
3235
api(libs.kotlinx.coroutines.core)
36+
api(project(":tests:test-runner"))
3337
}
3438

3539
// @Suppress("DEPRECATION")
@@ -45,6 +49,43 @@ suspendTransformPlugin {
4549
includeRuntime = false
4650
transformers {
4751
useDefault()
52+
53+
addJvmBlocking {
54+
markAnnotation {
55+
classInfo {
56+
packageName = "love.forte.suspendtrans.test.runner"
57+
className = "JvmResultBlock"
58+
}
59+
hasReturnTypeOverrideGeneric = true
60+
}
61+
transformFunctionInfo {
62+
packageName = "love.forte.suspendtrans.test.runner"
63+
functionName = "jvmResultToBlock"
64+
}
65+
// T itself
66+
// transformReturnType {
67+
// }
68+
transformReturnTypeGeneric = false
69+
}
70+
//
71+
// addJvmAsync {
72+
// markAnnotation {
73+
// classInfo {
74+
// packageName = "love.forte.suspendtrans.test.runner"
75+
// className = "JvmResultAsync"
76+
// }
77+
// hasReturnTypeOverrideGeneric = true
78+
// }
79+
// transformFunctionInfo {
80+
// packageName = "love.forte.suspendtrans.test.runner"
81+
// functionName = "jvmResultToAsync"
82+
// }
83+
// // CompletableFuture<T>
84+
// // transformReturnType {
85+
// // }
86+
// transformReturnTypeGeneric = true
87+
// }
88+
4889
}
4990
}
5091

0 commit comments

Comments
 (0)