Kapt3: Avoid normal compilation in case if no apClasspath entries are passed (#KT-24538)
This commit is contained in:
@@ -226,10 +226,13 @@ class Kapt3ComponentRegistrar : ComponentRegistrar {
|
|||||||
?: PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, isVerbose)
|
?: PrintingMessageCollector(System.err, MessageRenderer.PLAIN_FULL_PATHS, isVerbose)
|
||||||
val logger = KaptLogger(isVerbose, messageCollector)
|
val logger = KaptLogger(isVerbose, messageCollector)
|
||||||
|
|
||||||
|
fun abortAnalysis() = AnalysisHandlerExtension.registerExtension(project, AbortAnalysisHandlerExtension())
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName(JAVAC_CONTEXT_CLASS)
|
Class.forName(JAVAC_CONTEXT_CLASS)
|
||||||
} catch (e: ClassNotFoundException) {
|
} catch (e: ClassNotFoundException) {
|
||||||
logger.error("'$JAVAC_CONTEXT_CLASS' class can't be found ('tools.jar' is absent in the plugin classpath). Kapt won't work.")
|
logger.error("'$JAVAC_CONTEXT_CLASS' class can't be found ('tools.jar' is absent in the plugin classpath). Kapt won't work.")
|
||||||
|
abortAnalysis()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,6 +247,9 @@ class Kapt3ComponentRegistrar : ComponentRegistrar {
|
|||||||
|
|
||||||
if (apClasspath.isEmpty()) {
|
if (apClasspath.isEmpty()) {
|
||||||
// Skip annotation processing if no annotation processors were provided
|
// Skip annotation processing if no annotation processors were provided
|
||||||
|
if (aptMode != AptMode.WITH_COMPILATION) {
|
||||||
|
abortAnalysis()
|
||||||
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -258,7 +264,7 @@ class Kapt3ComponentRegistrar : ComponentRegistrar {
|
|||||||
val moduleName = configuration.get(CommonConfigurationKeys.MODULE_NAME)
|
val moduleName = configuration.get(CommonConfigurationKeys.MODULE_NAME)
|
||||||
?: configuration.get(JVMConfigurationKeys.MODULES).orEmpty().joinToString()
|
?: configuration.get(JVMConfigurationKeys.MODULES).orEmpty().joinToString()
|
||||||
logger.warn("$nonExistentOptionName is not specified for $moduleName, skipping annotation processing")
|
logger.warn("$nonExistentOptionName is not specified for $moduleName, skipping annotation processing")
|
||||||
AnalysisHandlerExtension.registerExtension(project, AbortAnalysisHandlerExtension())
|
abortAnalysis()
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user