diff --git a/build.gradle.kts b/build.gradle.kts index 051239c..8699fe7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,12 +3,6 @@ plugins { alias(libs.plugins.kotlinx.binaryCompatibilityValidator) } -buildscript { - dependencies { - classpath(libs.shadow) - } -} - apiValidation { allprojects.filterNot { it.path == ":api" }.mapTo(ignoredProjects) { it.name } } \ No newline at end of file diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index 9db262a..be6af3c 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -1,20 +1,8 @@ plugins { id("published-library") kotlin("kapt") - id("com.github.johnrengelman.shadow") } -tasks.compileKotlin { - compilerOptions { - freeCompilerArgs.addAll( - "-opt-in=com.squareup.kotlinpoet.metadata.KotlinPoetMetadataPreview", - ) - } -} - -val shade by configurations.named("compileShaded") - -@Suppress("UnstableApiUsage") dependencies { implementation(projects.api) implementation(libs.auto.service.api) @@ -23,21 +11,10 @@ dependencies { kapt(libs.incap.compiler) implementation(libs.auto.common) implementation(libs.kotlinpoet.core) - shade(libs.kotlinpoet.metadata) { - exclude("org.jetbrains.kotlin") - exclude("com.squareup", "kotlinpoet") - exclude("com.google.guava") - exclude("com.google.auto", "auto-common") - } + implementation(libs.kotlinpoet.metadata) implementation(libs.kotlinpoet.ksp) - shade(libs.kotlinx.metadata) { - exclude("org.jetbrains.kotlin", "kotlin-stdlib") - } + implementation(libs.kotlin.metadata) implementation(libs.oldestSupportedMoshi) implementation(libs.ksp.api) implementation(libs.asm) -} - -tasks.shadowJar { - relocate("com.squareup.kotlinpoet.metadata", "se.ansman.kotshi.compiler.kotlinpoet.metadata") } \ No newline at end of file diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AdaptersProcessingStep.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AdaptersProcessingStep.kt index 93a4ab0..b66f780 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AdaptersProcessingStep.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AdaptersProcessingStep.kt @@ -4,9 +4,9 @@ package se.ansman.kotshi.kapt import com.google.auto.common.MoreElements import com.google.common.collect.SetMultimap -import kotlinx.metadata.Modality -import kotlinx.metadata.isData -import kotlinx.metadata.modality +import kotlin.metadata.Modality +import kotlin.metadata.isData +import kotlin.metadata.modality import se.ansman.kotshi.Errors import se.ansman.kotshi.JsonDefaultValue import se.ansman.kotshi.JsonSerializable diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AnnotationModelValueVisitor.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AnnotationModelValueVisitor.kt index 734edbd..fb28be6 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AnnotationModelValueVisitor.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/AnnotationModelValueVisitor.kt @@ -26,13 +26,13 @@ import com.squareup.kotlinpoet.U_SHORT_ARRAY import com.squareup.kotlinpoet.WildcardTypeName import com.squareup.kotlinpoet.asTypeName import com.squareup.kotlinpoet.tags.TypeAliasTag -import kotlinx.metadata.KmClassifier -import kotlinx.metadata.KmFlexibleTypeUpperBound -import kotlinx.metadata.KmType -import kotlinx.metadata.KmTypeProjection -import kotlinx.metadata.KmVariance -import kotlinx.metadata.isNullable -import kotlinx.metadata.isSecondary +import kotlin.metadata.KmClassifier +import kotlin.metadata.KmFlexibleTypeUpperBound +import kotlin.metadata.KmType +import kotlin.metadata.KmTypeProjection +import kotlin.metadata.KmVariance +import kotlin.metadata.isNullable +import kotlin.metadata.isSecondary import se.ansman.kotshi.model.AnnotationModel import javax.lang.model.element.AnnotationMirror import javax.lang.model.element.AnnotationValue diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/FactoryProcessingStep.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/FactoryProcessingStep.kt index b8c6e8f..9614141 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/FactoryProcessingStep.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/FactoryProcessingStep.kt @@ -8,13 +8,13 @@ import com.google.common.collect.SetMultimap import com.squareup.kotlinpoet.DelicateKotlinPoetApi import com.squareup.kotlinpoet.asTypeName import com.squareup.kotlinpoet.asTypeVariableName -import kotlinx.metadata.ClassKind -import kotlinx.metadata.Modality -import kotlinx.metadata.Visibility -import kotlinx.metadata.isInner -import kotlinx.metadata.kind -import kotlinx.metadata.modality -import kotlinx.metadata.visibility +import kotlin.metadata.ClassKind +import kotlin.metadata.Modality +import kotlin.metadata.Visibility +import kotlin.metadata.isInner +import kotlin.metadata.kind +import kotlin.metadata.modality +import kotlin.metadata.visibility import se.ansman.kotshi.Errors import se.ansman.kotshi.ExperimentalKotshiApi import se.ansman.kotshi.KotshiJsonAdapterFactory diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/KmClasses.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/KmClasses.kt index b045a4a..c75e11f 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/KmClasses.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/KmClasses.kt @@ -1,8 +1,8 @@ package se.ansman.kotshi.kapt -import kotlinx.metadata.KmClass -import kotlinx.metadata.kind +import kotlin.metadata.KmClass +import kotlin.metadata.kind -val KmClass.isClass get() = kind == kotlinx.metadata.ClassKind.CLASS -val KmClass.isObject get() = kind == kotlinx.metadata.ClassKind.OBJECT -val KmClass.isEnum get() = kind == kotlinx.metadata.ClassKind.ENUM_CLASS \ No newline at end of file +val KmClass.isClass get() = kind == kotlin.metadata.ClassKind.CLASS +val KmClass.isObject get() = kind == kotlin.metadata.ClassKind.OBJECT +val KmClass.isEnum get() = kind == kotlin.metadata.ClassKind.ENUM_CLASS \ No newline at end of file diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/MetadataAccessor.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/MetadataAccessor.kt index 4d63048..0d3e113 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/MetadataAccessor.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/MetadataAccessor.kt @@ -7,12 +7,12 @@ import com.squareup.kotlinpoet.asClassName import com.squareup.kotlinpoet.metadata.specs.ClassInspector import com.squareup.kotlinpoet.metadata.specs.toTypeSpec import com.squareup.kotlinpoet.tag -import kotlinx.metadata.KmClass -import kotlinx.metadata.isLocalClassName -import kotlinx.metadata.jvm.KotlinClassMetadata import se.ansman.kotshi.Errors.javaClassNotSupported import javax.lang.model.element.Element import javax.lang.model.element.TypeElement +import kotlin.metadata.KmClass +import kotlin.metadata.isLocalClassName +import kotlin.metadata.jvm.KotlinClassMetadata class MetadataAccessor(private val classInspector: ClassInspector) { private val metadataPerType = mutableMapOf() diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/AdapterGenerator.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/AdapterGenerator.kt index 61cf319..9712f49 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/AdapterGenerator.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/AdapterGenerator.kt @@ -7,10 +7,10 @@ import com.squareup.kotlinpoet.TypeName import com.squareup.kotlinpoet.TypeSpec import com.squareup.kotlinpoet.TypeVariableName import com.squareup.kotlinpoet.tag -import kotlinx.metadata.KmClass -import kotlinx.metadata.Visibility -import kotlinx.metadata.isInner -import kotlinx.metadata.visibility +import kotlin.metadata.KmClass +import kotlin.metadata.Visibility +import kotlin.metadata.isInner +import kotlin.metadata.visibility import se.ansman.kotshi.Errors import se.ansman.kotshi.Polymorphic import se.ansman.kotshi.PolymorphicLabel diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/DataClassAdapterGenerator.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/DataClassAdapterGenerator.kt index 6ddd6d3..a7cc4be 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/DataClassAdapterGenerator.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/DataClassAdapterGenerator.kt @@ -3,10 +3,10 @@ package se.ansman.kotshi.kapt.generators import com.squareup.kotlinpoet.KModifier import com.squareup.kotlinpoet.ParameterSpec import com.squareup.kotlinpoet.tag -import kotlinx.metadata.KmClass -import kotlinx.metadata.KmConstructor -import kotlinx.metadata.isData -import kotlinx.metadata.jvm.signature +import kotlin.metadata.KmClass +import kotlin.metadata.KmConstructor +import kotlin.metadata.isData +import kotlin.metadata.jvm.signature import se.ansman.kotshi.Errors import se.ansman.kotshi.Errors.privateDataClassProperty import se.ansman.kotshi.JsonSerializable diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/EnumAdapterGenerator.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/EnumAdapterGenerator.kt index f07e5ce..9ab96bd 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/EnumAdapterGenerator.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/EnumAdapterGenerator.kt @@ -1,7 +1,7 @@ package se.ansman.kotshi.kapt.generators import com.squareup.kotlinpoet.TypeSpec -import kotlinx.metadata.KmClass +import kotlin.metadata.KmClass import se.ansman.kotshi.Errors import se.ansman.kotshi.Types.Kotshi.jsonDefaultValue import se.ansman.kotshi.kapt.KaptProcessingError diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/ObjectAdapterGenerator.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/ObjectAdapterGenerator.kt index 053a632..294c8f0 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/ObjectAdapterGenerator.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/ObjectAdapterGenerator.kt @@ -1,7 +1,7 @@ package se.ansman.kotshi.kapt.generators -import kotlinx.metadata.KmClass -import kotlinx.metadata.isData +import kotlin.metadata.KmClass +import kotlin.metadata.isData import se.ansman.kotshi.Errors import se.ansman.kotshi.kapt.MetadataAccessor import se.ansman.kotshi.kapt.isObject diff --git a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/SealedClassAdapterGenerator.kt b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/SealedClassAdapterGenerator.kt index 5aaa9ac..11ff8ae 100644 --- a/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/SealedClassAdapterGenerator.kt +++ b/compiler/src/main/kotlin/se/ansman/kotshi/kapt/generators/SealedClassAdapterGenerator.kt @@ -4,9 +4,9 @@ import com.squareup.kotlinpoet.ClassName import com.squareup.kotlinpoet.KModifier import com.squareup.kotlinpoet.STAR import com.squareup.kotlinpoet.tag -import kotlinx.metadata.KmClass -import kotlinx.metadata.Modality -import kotlinx.metadata.modality +import kotlin.metadata.KmClass +import kotlin.metadata.Modality +import kotlin.metadata.modality import se.ansman.kotshi.Errors import se.ansman.kotshi.Errors.defaultSealedValueIsGeneric import se.ansman.kotshi.Errors.multipleJsonDefaultValueInSealedClass diff --git a/gradle-plugin/build.gradle.kts b/gradle-plugin/build.gradle.kts index 8f0b186..afffeb6 100644 --- a/gradle-plugin/build.gradle.kts +++ b/gradle-plugin/build.gradle.kts @@ -8,7 +8,6 @@ dependencies { implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) api(libs.kotlin.gradlePlugin) api(libs.dokka.gradlePlugin) - api(libs.shadow) implementation(gradleKotlinDsl()) } diff --git a/gradle-plugin/src/main/kotlin/published-library.gradle.kts b/gradle-plugin/src/main/kotlin/published-library.gradle.kts index 6bb3d56..193762e 100644 --- a/gradle-plugin/src/main/kotlin/published-library.gradle.kts +++ b/gradle-plugin/src/main/kotlin/published-library.gradle.kts @@ -1,7 +1,4 @@ -import com.github.jengelman.gradle.plugins.shadow.ShadowExtension -import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar -import com.github.jengelman.gradle.plugins.shadow.transformers.ServiceFileTransformer import org.gradle.jvm.tasks.Jar import org.jetbrains.dokka.gradle.DokkaTask @@ -81,11 +78,7 @@ val publication = with(the()) { } publications.register("kotshi") { - if (pluginManager.hasPlugin("com.github.johnrengelman.shadow")) { - the().component(this) - } else { - from(components["java"]) - } + from(components["java"]) artifact(sourcesJar) artifact(dokkaJavadocJar) @@ -116,29 +109,6 @@ val publication = with(the()) { } } -pluginManager.withPlugin("com.github.johnrengelman.shadow") { - val shade: Configuration = configurations.create("compileShaded") - configurations.named("compileOnly") { - extendsFrom(shade) - } - configurations.named("testRuntimeOnly") { - extendsFrom(shade) - } - - val shadowJar = tasks.named("shadowJar") { - archiveClassifier.set("") - configurations = listOf(shade) - isEnableRelocation = true - relocationPrefix = "se.ansman.kotshi${project.path.replace(':', '.').replace('-', '_')}" - transformers.add(ServiceFileTransformer()) - } - - artifacts { - runtimeOnly(shadowJar) - archives(shadowJar) - } -} - if (providers.gradleProperty("signArtifacts").orNull?.toBooleanStrict() == true) { configure { useGpgCmd() diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2ec0dea..daf648e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] kotlin = "2.0.0" auto-service = "1.1.1" -kotlinpoet = "1.17.0" +kotlinpoet = "1.18.1" compileTesting = "0.5.1" incap = "1.0.0" ksp = "2.0.0-1.0.23" @@ -14,6 +14,7 @@ kotlinx-binaryCompatibilityValidator = "org.jetbrains.kotlinx.binary-compatibili [libraries] kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +kotlin-metadata = { module = "org.jetbrains.kotlin:kotlin-metadata-jvm", version.ref = "kotlin" } dokka-gradlePlugin = "org.jetbrains.dokka:dokka-gradle-plugin:1.9.20" @@ -26,8 +27,6 @@ kotlinpoet-core = { module = "com.squareup:kotlinpoet", version.ref = "kotlinpoe kotlinpoet-metadata = { module = "com.squareup:kotlinpoet-metadata", version.ref = "kotlinpoet" } kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinpoet" } -kotlinx-metadata = "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.9.0" - junit-jupiter = "org.junit.jupiter:junit-jupiter:5.10.3" assertk = "com.willowtreeapps.assertk:assertk-jvm:0.28.1" @@ -47,6 +46,4 @@ ksp-api = { module = "com.google.devtools.ksp:symbol-processing-api", version.re ksp-commonDeps = { module = "com.google.devtools.ksp:symbol-processing-common-deps", version.ref = "ksp" } ksp-aaEmbeddable = { module = "com.google.devtools.ksp:symbol-processing-aa-embeddable", version.ref = "ksp" } -asm = "org.ow2.asm:asm:9.7" - -shadow = "com.github.johnrengelman:shadow:8.1.1" +asm = "org.ow2.asm:asm:9.7" \ No newline at end of file