Skip to content

Commit ce6db38

Browse files
committed
Hidden the test modules and improve something
1 parent 207a3aa commit ce6db38

File tree

2 files changed

+45
-63
lines changed

2 files changed

+45
-63
lines changed

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

+41-59
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
package love.forte.plugin.suspendtrans.gradle
23

34
import love.forte.plugin.suspendtrans.configuration.*
@@ -6,7 +7,6 @@ import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfiguratio
67
import love.forte.plugin.suspendtrans.configuration.SuspendTransformConfigurations.jvmBlockingTransformer
78
import org.gradle.api.Action
89
import org.gradle.api.DomainObjectSet
9-
import org.gradle.api.Named
1010
import org.gradle.api.model.ObjectFactory
1111
import org.gradle.api.provider.ListProperty
1212
import org.gradle.api.provider.Property
@@ -26,51 +26,43 @@ annotation class SuspendTransformPluginExtensionSpecDslMarker
2626
@SuspendTransformPluginExtensionSpecDslMarker
2727
interface SuspendTransformPluginExtensionSpec
2828

29-
interface NamedTransformerSpecListContainer : Named {
30-
val platform: Provider<TargetPlatform>
31-
val transformers: ListProperty<TransformerSpec>
29+
@SuspendTransformPluginExtensionSpecDslMarker
30+
interface SuspendTransformPluginExtensionClassInfoSpec : SuspendTransformPluginExtensionSpec {
31+
fun classInfo(action: Action<in ClassInfoSpec>)
32+
fun classInfo(action: ClassInfoSpec.() -> Unit)
3233
}
3334

34-
internal interface NamedTransformerSpecListContainerInternal : NamedTransformerSpecListContainer {
35-
override val platform: Property<TargetPlatform>
36-
}
35+
// TODO
36+
// interface SuspendTransformPluginExtensionSpecFactory {
37+
// fun createClassInfo(): ClassInfoSpec
38+
// fun createMarkAnnotation(): MarkAnnotationSpec
39+
// fun createFunctionInfo(): FunctionInfoSpec
40+
// fun createIncludeAnnotation(): IncludeAnnotationSpec
41+
// fun createCopyAnnotationExclude(): CopyAnnotationExcludeSpec
42+
// fun createRuntimeDependency(): RuntimeDependencySpec
43+
// fun createAnnotationDependency(): AnnotationDependencySpec
44+
// fun createTransformFunctionInfo(): TransformFunctionInfoSpec
45+
// fun createTransformReturnType(): TransformReturnTypeSpec
46+
// fun createTransformer(): TransformerSpec
47+
// }
48+
//
49+
// interface SuspendTransformPluginExtensionSpecFactoryAware {
50+
// val factory: SuspendTransformPluginExtensionSpecFactory
51+
// }
3752

3853
/**
3954
* @since 0.12.0
4055
*/
56+
@Suppress("unused")
4157
abstract class TransformersContainer
4258
@Inject constructor(
4359
private val objects: ObjectFactory
4460
) : SuspendTransformPluginExtensionSpec {
45-
internal val _containers: MutableMap<TargetPlatform, ListProperty<TransformerSpec>> =
61+
internal val containers: MutableMap<TargetPlatform, ListProperty<TransformerSpec>> =
4662
mutableMapOf()
4763

48-
// private val _containers: NamedDomainObjectContainer<NamedTransformerSpecListContainerInternal> =
49-
// objects.domainObjectContainer(NamedTransformerSpecListContainerInternal::class.java) { name ->
50-
// val targetPlatform = try {
51-
// TargetPlatform.valueOf(name)
52-
// } catch (e: IllegalArgumentException) {
53-
// throw IllegalArgumentException(
54-
// "The name '$name' is not a valid TargetPlatform name. " +
55-
// "Valid names: ${TargetPlatform.entries.joinToString { it.name }}",
56-
// e
57-
// )
58-
// }
59-
//
60-
// objects.newInstance(
61-
// NamedTransformerSpecListContainerInternal::class.java,
62-
// name
63-
// ).apply {
64-
// platform.set(targetPlatform)
65-
// }
66-
// }
67-
68-
// @ExperimentalTransformersContainerApi
69-
// val containers: NamedDomainObjectContainer<out NamedTransformerSpecListContainer>
70-
// get() = _containers
71-
7264
private fun getTransformersInternal(platform: TargetPlatform): ListProperty<TransformerSpec> {
73-
return _containers.computeIfAbsent(platform) { objects.listProperty(TransformerSpec::class.java) }
65+
return containers.computeIfAbsent(platform) { objects.listProperty(TransformerSpec::class.java) }
7466
}
7567

7668
/**
@@ -217,6 +209,7 @@ abstract class TransformersContainer
217209
/**
218210
* @since 0.12.0
219211
*/
212+
@Suppress("unused")
220213
abstract class SuspendTransformPluginExtension
221214
@Inject constructor(objects: ObjectFactory) : SuspendTransformPluginExtensionSpec {
222215
/**
@@ -279,25 +272,6 @@ abstract class SuspendTransformPluginExtension
279272
}
280273
}
281274

282-
@OptIn(InternalSuspendTransformConfigurationApi::class)
283-
internal fun SuspendTransformPluginExtension.toConfiguration(): SuspendTransformConfiguration {
284-
return SuspendTransformConfiguration(
285-
// 此处 Map 可能为 空,但是 List 不会有空的。
286-
// 后续在使用的时候只需要判断一下 transformers 本身是不是空即可。
287-
transformers = buildMap {
288-
transformers._containers.forEach { targetPlatform, transformerListProperty ->
289-
val list = transformerListProperty
290-
.map { valueList -> valueList.map { it.toTransformer() } }
291-
.getOrElse(emptyList())
292-
293-
if (list.isNotEmpty()) {
294-
put(targetPlatform, list)
295-
}
296-
}
297-
},
298-
)
299-
}
300-
301275
internal data class TransformerEntry(
302276
val targetPlatform: TargetPlatform,
303277
val transformers: List<Transformer>
@@ -306,7 +280,7 @@ internal data class TransformerEntry(
306280
@OptIn(InternalSuspendTransformConfigurationApi::class)
307281
internal fun SuspendTransformPluginExtension.toConfigurationProvider(objects: ObjectFactory): Provider<SuspendTransformConfiguration> {
308282
val combines = objects.listProperty(TransformerEntry::class.java)
309-
for ((targetPlatform, transformerListProperty) in transformers._containers) {
283+
for ((targetPlatform, transformerListProperty) in transformers.containers) {
310284
combines.addAll(
311285
transformerListProperty.map { list ->
312286
if (list.isEmpty()) {
@@ -399,6 +373,7 @@ internal fun SuspendTransformPluginExtension.defaults(
399373
/**
400374
* @since 0.12.0
401375
*/
376+
@Suppress("unused")
402377
abstract class TransformerSpec
403378
@Inject constructor(private val objects: ObjectFactory) : SuspendTransformPluginExtensionSpec {
404379
/**
@@ -438,6 +413,7 @@ abstract class TransformerSpec
438413
* @Api4J fun fooXxx(): CompletableFuture<Foo> = transform(block = { foo() }, scope = this)
439414
* }
440415
*/
416+
@Suppress("KDocUnresolvedReference")
441417
abstract val transformFunctionInfo: Property<FunctionInfoSpec>
442418

443419
fun transformFunctionInfo(action: Action<in FunctionInfoSpec>) {
@@ -634,18 +610,21 @@ abstract class TransformerSpec
634610
/**
635611
* @since 0.12.0
636612
*/
613+
@Suppress("unused")
637614
abstract class MarkAnnotationSpec
638-
@Inject constructor(private val objects: ObjectFactory) : SuspendTransformPluginExtensionSpec {
615+
@Inject constructor(private val objects: ObjectFactory) :
616+
SuspendTransformPluginExtensionSpec,
617+
SuspendTransformPluginExtensionClassInfoSpec {
639618
/**
640619
* The mark annotation's class info.
641620
*/
642621
abstract val classInfo: Property<ClassInfoSpec>
643622

644-
fun classInfo(action: Action<in ClassInfoSpec>) {
623+
override fun classInfo(action: Action<in ClassInfoSpec>) {
645624
classInfo.set(classInfo.getOrElse(objects.newInstance<ClassInfoSpec>()).also(action::execute))
646625
}
647626

648-
fun classInfo(action: ClassInfoSpec.() -> Unit) {
627+
override fun classInfo(action: ClassInfoSpec.() -> Unit) {
649628
classInfo.set(classInfo.getOrElse(objects.newInstance<ClassInfoSpec>()).also(action))
650629
}
651630

@@ -743,15 +722,18 @@ interface FunctionInfoSpec : SuspendTransformPluginExtensionSpec {
743722
/**
744723
* @since 0.12.0
745724
*/
725+
@Suppress("unused")
746726
abstract class IncludeAnnotationSpec
747-
@Inject constructor(private val objects: ObjectFactory) : SuspendTransformPluginExtensionSpec {
727+
@Inject constructor(private val objects: ObjectFactory) :
728+
SuspendTransformPluginExtensionSpec,
729+
SuspendTransformPluginExtensionClassInfoSpec {
748730
abstract val classInfo: Property<ClassInfoSpec>
749731

750-
fun classInfo(action: Action<in ClassInfoSpec>) {
732+
override fun classInfo(action: Action<in ClassInfoSpec>) {
751733
classInfo.set(classInfo.getOrElse(objects.newInstance<ClassInfoSpec>()).also(action::execute))
752734
}
753735

754-
fun classInfo(action: ClassInfoSpec.() -> Unit) {
736+
override fun classInfo(action: ClassInfoSpec.() -> Unit) {
755737
classInfo.set(classInfo.getOrElse(objects.newInstance<ClassInfoSpec>()).also(action))
756738
}
757739

settings.gradle.kts

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ pluginManagement {
1111
}
1212
}
1313

14-
@Suppress("UnstableApiUsage")
1514
dependencyResolutionManagement {
15+
@Suppress("UnstableApiUsage")
1616
repositories {
1717
google()
1818
mavenCentral()
@@ -35,7 +35,7 @@ include(":plugins:suspend-transform-plugin-gradle")
3535
// include(":local-helper")
3636

3737
//Samples
38-
include(":tests:test-jvm")
39-
include(":tests:test-js")
40-
include(":tests:test-kmp")
38+
// include(":tests:test-jvm")
39+
// include(":tests:test-js")
40+
// include(":tests:test-kmp")
4141
// include(":tests:test-android")

0 commit comments

Comments
 (0)