Incremental KAPT - invalidate obsolete types
Once set of dirty symbols is computed, filter these types when they are requested from the JavaFileManager. This is accomplished by tracking all declared types in the sources and generated sources. It is not necessary track types in generated class files, as these will be removed before the APs are incrementally run. Motivation: APs (e.g. Dagger) may use Elements.getTypeElement(String) to determine if type is already present, and if it is, they will not generate it. Therefore, whenever generated sources is invalidated, types it defines need to be filtered in the JavaFileManager. Issue is https://youtrack.jetbrains.com/issue/KT-23880
This commit is contained in:
committed by
Alexey Tsvetkov
parent
2f3d234516
commit
b2ad82b7d2
+1
-1
@@ -107,7 +107,7 @@ fun BaseGradleIT.Project.setupIncrementalAptProject(procType: String) {
|
||||
|
||||
val updatedContent = content.replace(
|
||||
Regex("^\\s*kapt\\s\"org\\.jetbrain.*$", RegexOption.MULTILINE),
|
||||
" kapt files(\"$processorPath\")"
|
||||
" kapt files(\"${processorPath.invariantSeparatorsPath}\")"
|
||||
)
|
||||
buildFile.writeText(updatedContent)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user