mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-02 12:07:28 +00:00
Try following KSP incremental best practices on anvilcodegen (#5205)
The KotlinPoet docs suggest using the added flow for declaring dependencies. Make the dependencies of the generated files isolating instead of aggregating.
This commit is contained in:
committed by
GitHub
parent
8245ad8bc3
commit
64164abb2d
+5
-8
@@ -28,6 +28,7 @@ import com.squareup.kotlinpoet.KModifier
|
|||||||
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
|
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
|
||||||
import com.squareup.kotlinpoet.STAR
|
import com.squareup.kotlinpoet.STAR
|
||||||
import com.squareup.kotlinpoet.TypeSpec
|
import com.squareup.kotlinpoet.TypeSpec
|
||||||
|
import com.squareup.kotlinpoet.ksp.addOriginatingKSFile
|
||||||
import com.squareup.kotlinpoet.ksp.toTypeName
|
import com.squareup.kotlinpoet.ksp.toTypeName
|
||||||
import com.squareup.kotlinpoet.ksp.writeTo
|
import com.squareup.kotlinpoet.ksp.writeTo
|
||||||
import dagger.Binds
|
import dagger.Binds
|
||||||
@@ -78,6 +79,7 @@ class ContributesNodeProcessor(
|
|||||||
)
|
)
|
||||||
.addType(
|
.addType(
|
||||||
TypeSpec.classBuilder(moduleClassName)
|
TypeSpec.classBuilder(moduleClassName)
|
||||||
|
.addOriginatingKSFile(ksClass.containingFile!!)
|
||||||
.addModifiers(KModifier.ABSTRACT)
|
.addModifiers(KModifier.ABSTRACT)
|
||||||
.addAnnotation(Module::class)
|
.addAnnotation(Module::class)
|
||||||
.addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.toTypeName()).build())
|
.addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.toTypeName()).build())
|
||||||
@@ -102,10 +104,7 @@ class ContributesNodeProcessor(
|
|||||||
|
|
||||||
content.writeTo(
|
content.writeTo(
|
||||||
codeGenerator = codeGenerator,
|
codeGenerator = codeGenerator,
|
||||||
dependencies = Dependencies(
|
dependencies = Dependencies(aggregating = false),
|
||||||
aggregating = true,
|
|
||||||
ksClass.containingFile!!
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,6 +138,7 @@ class ContributesNodeProcessor(
|
|||||||
val content = FileSpec.builder(generatedPackage, assistedFactoryClassName)
|
val content = FileSpec.builder(generatedPackage, assistedFactoryClassName)
|
||||||
.addType(
|
.addType(
|
||||||
TypeSpec.interfaceBuilder(assistedFactoryClassName)
|
TypeSpec.interfaceBuilder(assistedFactoryClassName)
|
||||||
|
.addOriginatingKSFile(ksClass.containingFile!!)
|
||||||
.addSuperinterface(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(nodeClassName))
|
.addSuperinterface(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(nodeClassName))
|
||||||
.addAnnotation(AssistedFactory::class)
|
.addAnnotation(AssistedFactory::class)
|
||||||
.addFunction(
|
.addFunction(
|
||||||
@@ -155,10 +155,7 @@ class ContributesNodeProcessor(
|
|||||||
|
|
||||||
content.writeTo(
|
content.writeTo(
|
||||||
codeGenerator = codeGenerator,
|
codeGenerator = codeGenerator,
|
||||||
dependencies = Dependencies(
|
dependencies = Dependencies(aggregating = false),
|
||||||
aggregating = true,
|
|
||||||
ksClass.containingFile!!
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user