From daabd5d7913f2aa91e7a06bbeda9363aeb392803 Mon Sep 17 00:00:00 2001 From: Michael Rittmeister Date: Sun, 30 Jun 2024 15:16:46 +0200 Subject: [PATCH] Bugfixes - Fix default arguments missing in annotation argument parser - Fix exception in ksp processor - Fix failing test - Enable automatic release --- buildSrc/src/main/kotlin/kord-publishing.gradle.kts | 5 +---- .../main/kotlin/generator/DataClassRepresentation.kt | 10 ++++------ ksp/src/main/kotlin/annotations/AnnotationArguments.kt | 2 +- ksp/src/test/kotlin/MockAnnotation.kt | 1 + 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/buildSrc/src/main/kotlin/kord-publishing.gradle.kts b/buildSrc/src/main/kotlin/kord-publishing.gradle.kts index 60fee7b..1b5b540 100644 --- a/buildSrc/src/main/kotlin/kord-publishing.gradle.kts +++ b/buildSrc/src/main/kotlin/kord-publishing.gradle.kts @@ -3,9 +3,6 @@ import com.vanniktech.maven.publish.KotlinJvm import com.vanniktech.maven.publish.KotlinMultiplatform import org.intellij.lang.annotations.Language import org.jetbrains.dokka.gradle.AbstractDokkaLeafTask -import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget -import org.jetbrains.kotlin.gradle.targets.jvm.KotlinJvmTarget plugins { org.jetbrains.dokka @@ -50,7 +47,7 @@ tasks { } mavenPublishing { - publishToMavenCentral() + publishToMavenCentral(automaticRelease = true) if (!System.getenv("ORG_GRADLE_PROJECT_signingInMemoryKey").isNullOrBlank()) { signAllPublications() } diff --git a/ksp/processor/src/main/kotlin/generator/DataClassRepresentation.kt b/ksp/processor/src/main/kotlin/generator/DataClassRepresentation.kt index 3d87b5e..515acc4 100644 --- a/ksp/processor/src/main/kotlin/generator/DataClassRepresentation.kt +++ b/ksp/processor/src/main/kotlin/generator/DataClassRepresentation.kt @@ -38,12 +38,10 @@ private fun KSTypeReference.dataClassType(rootType: KSClassDeclaration): TypeNam else -> { val declaration = resolvedType.declaration - if (resolvedType.isMappedAnnotation(rootType) - || (resolvedType.declaration as? KSClassDeclaration)?.classKind == ClassKind.ENUM_CLASS - ) { - ClassName("", declaration.simpleName.asString()) - } else { - KSAnnotation::class.asClassName() + when { + resolvedType.isMappedAnnotation(rootType) -> ClassName("", declaration.simpleName.asString()) + (resolvedType.declaration as? KSClassDeclaration)?.classKind == ClassKind.ENUM_CLASS -> (declaration as KSClassDeclaration).toClassName() + else -> KSAnnotation::class.asClassName() } } } diff --git a/ksp/src/main/kotlin/annotations/AnnotationArguments.kt b/ksp/src/main/kotlin/annotations/AnnotationArguments.kt index ea59785..628012e 100644 --- a/ksp/src/main/kotlin/annotations/AnnotationArguments.kt +++ b/ksp/src/main/kotlin/annotations/AnnotationArguments.kt @@ -224,6 +224,6 @@ public class AnnotationArguments private constructor( * @see AnnotationArguments */ public fun KSAnnotation.arguments(): AnnotationArguments = - AnnotationArguments(arguments.associateBy { it.name!!.asString() }) + AnnotationArguments(defaultArguments.associateBy { it.name!!.asString() } + arguments.associateBy { it.name!!.asString() }) } } diff --git a/ksp/src/test/kotlin/MockAnnotation.kt b/ksp/src/test/kotlin/MockAnnotation.kt index fa8cceb..66ae5d5 100644 --- a/ksp/src/test/kotlin/MockAnnotation.kt +++ b/ksp/src/test/kotlin/MockAnnotation.kt @@ -28,4 +28,5 @@ private fun mockValueArgumentInternal(name: String, value: Any?, origin: Origin fun mockAnnotation() = mockk { every { arguments } returns _arguments + every { defaultArguments } returns _arguments }