[KAPT] Cache annotation processors' classloaders
Adds experimental feature to cache annotation processors' classloaders It should increase speed of KAPT for consecutive runs Works for gradle only (it stores cl in gradle daemon) #KT-28901 Fixed
This commit is contained in:
committed by
TeamCityServer
parent
e6b9935df9
commit
1093bffc62
@@ -81,9 +81,11 @@ class ClasspathBasedKapt3Extension(
|
||||
|
||||
override fun loadProcessors(): LoadedProcessors {
|
||||
val efficientProcessorLoader = object : ProcessorLoader(options, logger) {
|
||||
override fun doLoadProcessors(classpath: LinkedHashSet<File>, classLoader: URLClassLoader): List<Processor> {
|
||||
return ServiceLoaderLite.loadImplementations(Processor::class.java, classLoader)
|
||||
}
|
||||
override fun doLoadProcessors(classpath: LinkedHashSet<File>, classLoader: ClassLoader): List<Processor> =
|
||||
when (classLoader) {
|
||||
is URLClassLoader -> ServiceLoaderLite.loadImplementations(Processor::class.java, classLoader)
|
||||
else -> super.doLoadProcessors(classpath, classLoader)
|
||||
}
|
||||
}
|
||||
|
||||
this.processorLoader = efficientProcessorLoader
|
||||
|
||||
Reference in New Issue
Block a user