From cc4c61d2b3f93fd21cb6f1f105eaff226229bceb Mon Sep 17 00:00:00 2001 From: Yan Zhulanow Date: Tue, 2 Mar 2021 18:53:24 +0900 Subject: [PATCH] Remove dependency on parcelize-runtime in the Parcelize compiler plugin --- .../parcelize-compiler/build.gradle.kts | 5 ---- .../parcelize/ParcelizeDeclarationChecker.kt | 4 +-- .../parcelize/ParcelizeResolveExtension.kt | 25 +++++++++---------- .../parcelize/serializers/ParcelSerializer.kt | 4 +-- .../serializers/ParcelSerializers.kt | 3 +-- .../build.gradle.kts | 3 +-- 6 files changed, 18 insertions(+), 26 deletions(-) diff --git a/plugins/parcelize/parcelize-compiler/build.gradle.kts b/plugins/parcelize/parcelize-compiler/build.gradle.kts index d9bc5ddf644..0fd2da725e0 100644 --- a/plugins/parcelize/parcelize-compiler/build.gradle.kts +++ b/plugins/parcelize/parcelize-compiler/build.gradle.kts @@ -19,8 +19,6 @@ dependencies { compileOnly(project(":compiler:ir.backend.common")) compileOnly(project(":compiler:backend.jvm")) compileOnly(project(":compiler:ir.tree.impl")) - compileOnly(project(":plugins:parcelize:parcelize-runtime")) - compileOnly(project(":kotlin-android-extensions-runtime")) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijDep()) { includeJars("asm-all", rootProject = rootProject) } @@ -42,9 +40,6 @@ dependencies { robolectricClasspath(project(":plugins:parcelize:parcelize-runtime")) { isTransitive = false } robolectricClasspath(project(":kotlin-android-extensions-runtime")) { isTransitive = false } - embedded(project(":plugins:parcelize:parcelize-runtime")) { isTransitive = false } - embedded(project(":kotlin-android-extensions-runtime")) { isTransitive = false } - parcelizeRuntimeForTests(project(":plugins:parcelize:parcelize-runtime")) { isTransitive = false } parcelizeRuntimeForTests(project(":kotlin-android-extensions-runtime")) { isTransitive = false } } diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeDeclarationChecker.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeDeclarationChecker.kt index 81e528c8a92..d47d39523a0 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeDeclarationChecker.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeDeclarationChecker.kt @@ -38,8 +38,8 @@ val ANDROID_PARCEL_CLASS_FQNAME = FqName("android.os.Parcel") open class ParcelizeDeclarationChecker : DeclarationChecker { private companion object { private val IGNORED_ON_PARCEL_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.IgnoredOnParcel::class.java.canonicalName), - @Suppress("DEPRECATION") FqName(kotlinx.android.parcel.IgnoredOnParcel::class.java.canonicalName) + FqName("kotlinx.parcelize.IgnoredOnParcel"), + FqName("kotlinx.android.parcel.IgnoredOnParcel") ) } diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeResolveExtension.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeResolveExtension.kt index 03d0687e39e..7047887bf82 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeResolveExtension.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/ParcelizeResolveExtension.kt @@ -170,33 +170,32 @@ interface ParcelizeSyntheticComponent { } val TYPE_PARCELER_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.TypeParceler::class.java.name), - FqName(kotlinx.android.parcel.TypeParceler::class.java.name) + FqName("kotlinx.parcelize.TypeParceler"), + FqName("kotlinx.android.parcel.TypeParceler") ) val WRITE_WITH_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.WriteWith::class.java.name), - FqName(kotlinx.android.parcel.WriteWith::class.java.name) + FqName("kotlinx.parcelize.WriteWith"), + FqName("kotlinx.android.parcel.WriteWith") ) val IGNORED_ON_PARCEL_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.IgnoredOnParcel::class.java.name), - FqName(kotlinx.android.parcel.IgnoredOnParcel::class.java.name) + FqName("kotlinx.parcelize.IgnoredOnParcel"), + FqName("kotlinx.android.parcel.IgnoredOnParcel") ) val PARCELIZE_CLASS_FQ_NAMES: List = listOf( - FqName(kotlinx.parcelize.Parcelize::class.java.canonicalName), - FqName(kotlinx.android.parcel.Parcelize::class.java.canonicalName) + FqName("kotlinx.parcelize.Parcelize"), + FqName("kotlinx.android.parcel.Parcelize") ) val RAW_VALUE_ANNOTATION_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.RawValue::class.java.name), - @Suppress("DEPRECATION") FqName(kotlinx.android.parcel.RawValue::class.java.name) + FqName("kotlinx.parcelize.RawValue"), + FqName("kotlinx.android.parcel.RawValue") ) -internal val PARCELER_FQNAME = FqName(kotlinx.parcelize.Parceler::class.java.canonicalName) - -internal val OLD_PARCELER_FQNAME = FqName(kotlinx.android.parcel.Parceler::class.java.canonicalName) +internal val PARCELER_FQNAME = FqName("kotlinx.parcelize.Parceler") +internal val OLD_PARCELER_FQNAME = FqName("kotlinx.android.parcel.Parceler") val ClassDescriptor.isParcelize: Boolean get() { diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializer.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializer.kt index afecad12621..321b79c5cce 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializer.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializer.kt @@ -65,8 +65,8 @@ interface ParcelSerializer { companion object { private val WRITE_WITH_FQ_NAMES = listOf( - FqName(kotlinx.parcelize.WriteWith::class.java.name), - @Suppress("DEPRECATION") FqName(kotlinx.android.parcel.WriteWith::class.java.name), + FqName("kotlinx.parcelize.WriteWith"), + FqName("kotlinx.android.parcel.WriteWith"), ) private fun KotlinTypeMapper.mapTypeSafe(type: KotlinType, forceBoxed: Boolean) = when { diff --git a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializers.kt b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializers.kt index 082b9f7e57f..3765d5f3643 100644 --- a/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializers.kt +++ b/plugins/parcelize/parcelize-compiler/src/org/jetbrains/kotlin/parcelize/serializers/ParcelSerializers.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.parcelize.serializers -import kotlinx.parcelize.Parceler import org.jetbrains.kotlin.codegen.AsmUtil import org.jetbrains.kotlin.codegen.FrameMap import org.jetbrains.kotlin.codegen.state.KotlinTypeMapper @@ -30,7 +29,7 @@ import org.jetbrains.org.objectweb.asm.Type import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter internal val PARCEL_TYPE = Type.getObjectType("android/os/Parcel") -internal val PARCELER_TYPE = Type.getObjectType(Parceler::class.java.name.replace(".", "/")) +internal val PARCELER_TYPE = Type.getObjectType("kotlinx/parcelize/Parceler") internal class GenericParcelSerializer(override val asmType: Type) : ParcelSerializer { override fun writeValue(v: InstructionAdapter) { diff --git a/prepare/ide-plugin-dependencies/parcelize-compiler-plugin-for-ide/build.gradle.kts b/prepare/ide-plugin-dependencies/parcelize-compiler-plugin-for-ide/build.gradle.kts index 92da6353438..8336bd18479 100644 --- a/prepare/ide-plugin-dependencies/parcelize-compiler-plugin-for-ide/build.gradle.kts +++ b/prepare/ide-plugin-dependencies/parcelize-compiler-plugin-for-ide/build.gradle.kts @@ -1,8 +1,7 @@ idePluginDependency { publishProjectJars( listOf( - ":plugins:parcelize:parcelize-compiler", - ":plugins:parcelize:parcelize-runtime" + ":plugins:parcelize:parcelize-compiler" ) ) } \ No newline at end of file