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:
parent
8245ad8bc3
commit
64164abb2d
1 changed files with 5 additions and 8 deletions
|
|
@ -28,6 +28,7 @@ import com.squareup.kotlinpoet.KModifier
|
|||
import com.squareup.kotlinpoet.ParameterizedTypeName.Companion.parameterizedBy
|
||||
import com.squareup.kotlinpoet.STAR
|
||||
import com.squareup.kotlinpoet.TypeSpec
|
||||
import com.squareup.kotlinpoet.ksp.addOriginatingKSFile
|
||||
import com.squareup.kotlinpoet.ksp.toTypeName
|
||||
import com.squareup.kotlinpoet.ksp.writeTo
|
||||
import dagger.Binds
|
||||
|
|
@ -78,6 +79,7 @@ class ContributesNodeProcessor(
|
|||
)
|
||||
.addType(
|
||||
TypeSpec.classBuilder(moduleClassName)
|
||||
.addOriginatingKSFile(ksClass.containingFile!!)
|
||||
.addModifiers(KModifier.ABSTRACT)
|
||||
.addAnnotation(Module::class)
|
||||
.addAnnotation(AnnotationSpec.builder(ContributesTo::class).addMember("%T::class", scope.toTypeName()).build())
|
||||
|
|
@ -102,10 +104,7 @@ class ContributesNodeProcessor(
|
|||
|
||||
content.writeTo(
|
||||
codeGenerator = codeGenerator,
|
||||
dependencies = Dependencies(
|
||||
aggregating = true,
|
||||
ksClass.containingFile!!
|
||||
),
|
||||
dependencies = Dependencies(aggregating = false),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
@ -139,6 +138,7 @@ class ContributesNodeProcessor(
|
|||
val content = FileSpec.builder(generatedPackage, assistedFactoryClassName)
|
||||
.addType(
|
||||
TypeSpec.interfaceBuilder(assistedFactoryClassName)
|
||||
.addOriginatingKSFile(ksClass.containingFile!!)
|
||||
.addSuperinterface(ClassName.bestGuess(assistedNodeFactoryFqName.asString()).parameterizedBy(nodeClassName))
|
||||
.addAnnotation(AssistedFactory::class)
|
||||
.addFunction(
|
||||
|
|
@ -155,10 +155,7 @@ class ContributesNodeProcessor(
|
|||
|
||||
content.writeTo(
|
||||
codeGenerator = codeGenerator,
|
||||
dependencies = Dependencies(
|
||||
aggregating = true,
|
||||
ksClass.containingFile!!
|
||||
),
|
||||
dependencies = Dependencies(aggregating = false),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue