From 4370a194eb3cd40906b86dcb8474a9b259f9b059 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Sun, 26 May 2024 01:33:58 +0530 Subject: [PATCH] fix(annotations-processors/ksp): use AutoService to register SymbolProcessorProvider --- annotation-processors-ksp/build.gradle.kts | 10 +++++++--- .../ksp/inflater/ViewAdapterIndexGenerator.kt | 1 + .../ViewAdapterSymbolProcessorProvider.kt | 2 ++ .../annotations/ksp/{inflater => }/kspUtils.kt | 2 +- ...ools.ksp.processing.SymbolProcessorProvider | 18 ------------------ 5 files changed, 11 insertions(+), 22 deletions(-) rename annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/{inflater => }/kspUtils.kt (95%) delete mode 100644 annotation-processors-ksp/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider diff --git a/annotation-processors-ksp/build.gradle.kts b/annotation-processors-ksp/build.gradle.kts index 99567d82a..38471a135 100644 --- a/annotation-processors-ksp/build.gradle.kts +++ b/annotation-processors-ksp/build.gradle.kts @@ -15,20 +15,24 @@ * along with AndroidIDE. If not, see . */ -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import com.itsaky.androidide.build.config.BuildConfig +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") + kotlin("kapt") } group = "${BuildConfig.packageName}.annotations" dependencies { + kapt(libs.google.auto.service) + implementation(libs.google.auto.service.annotations) + implementation(kotlin("stdlib")) - + implementation(projects.annotations) - + implementation(libs.androidx.annotation) implementation(libs.common.javapoet) implementation(libs.common.ksp) diff --git a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterIndexGenerator.kt b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterIndexGenerator.kt index 261a8b908..5e3532deb 100644 --- a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterIndexGenerator.kt +++ b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterIndexGenerator.kt @@ -27,6 +27,7 @@ import com.google.devtools.ksp.symbol.KSClassDeclaration import com.google.devtools.ksp.symbol.KSFunctionDeclaration import com.google.devtools.ksp.symbol.KSType import com.itsaky.androidide.annotations.inflater.ViewAdapter +import com.itsaky.androidide.annotations.ksp.getKSAnnotationsByType import com.itsaky.androidide.annotations.uidesigner.IncludeInDesigner import com.squareup.javapoet.ClassName import com.squareup.javapoet.CodeBlock diff --git a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterSymbolProcessorProvider.kt b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterSymbolProcessorProvider.kt index c29c00c05..c2a27bfaa 100644 --- a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterSymbolProcessorProvider.kt +++ b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/ViewAdapterSymbolProcessorProvider.kt @@ -17,6 +17,7 @@ package com.itsaky.androidide.annotations.ksp.inflater +import com.google.auto.service.AutoService import com.google.devtools.ksp.processing.SymbolProcessor import com.google.devtools.ksp.processing.SymbolProcessorEnvironment import com.google.devtools.ksp.processing.SymbolProcessorProvider @@ -27,6 +28,7 @@ import com.google.devtools.ksp.processing.SymbolProcessorProvider * * @author Akash Yadav */ +@AutoService(SymbolProcessorProvider::class) class ViewAdapterSymbolProcessorProvider : SymbolProcessorProvider { override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor { diff --git a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/kspUtils.kt b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/kspUtils.kt similarity index 95% rename from annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/kspUtils.kt rename to annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/kspUtils.kt index 7d5100273..82f6ad15b 100644 --- a/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/inflater/kspUtils.kt +++ b/annotation-processors-ksp/src/main/kotlin/com/itsaky/androidide/annotations/ksp/kspUtils.kt @@ -15,7 +15,7 @@ * along with AndroidIDE. If not, see . */ -package com.itsaky.androidide.annotations.ksp.inflater +package com.itsaky.androidide.annotations.ksp import com.google.devtools.ksp.symbol.KSAnnotated import com.google.devtools.ksp.symbol.KSAnnotation diff --git a/annotation-processors-ksp/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider b/annotation-processors-ksp/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider deleted file mode 100644 index 004759fc8..000000000 --- a/annotation-processors-ksp/src/main/resources/META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider +++ /dev/null @@ -1,18 +0,0 @@ -# -# This file is part of AndroidIDE. -# -# AndroidIDE is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# AndroidIDE is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with AndroidIDE. If not, see . -# - -com.itsaky.androidide.annotations.ksp.inflater.ViewAdapterSymbolProcessorProvider \ No newline at end of file