Kapt: Clear URL cache after changing annotation processor JAR
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.kapt3
|
||||
|
||||
import com.intellij.ide.ClassUtilCore
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.sun.tools.javac.tree.JCTree
|
||||
import org.jetbrains.kotlin.analyzer.AnalysisResult
|
||||
@@ -83,10 +84,13 @@ class ClasspathBasedKapt3Extension(
|
||||
return super.analysisCompleted(project, module, bindingTrace, files)
|
||||
} finally {
|
||||
annotationProcessingClassLoader?.close()
|
||||
ClassUtilCore.clearJarURLCache()
|
||||
}
|
||||
}
|
||||
|
||||
override fun loadProcessors(): List<Processor> {
|
||||
ClassUtilCore.clearJarURLCache()
|
||||
|
||||
val classpath = annotationProcessingClasspath + compileClasspath
|
||||
val classLoader = URLClassLoader(classpath.map { it.toURI().toURL() }.toTypedArray())
|
||||
this.annotationProcessingClassLoader = classLoader
|
||||
|
||||
Reference in New Issue
Block a user