fun run()

in plugin/src/main/kotlin/org/jetbrains/intellij/tasks/AbstractInspectionsTask.kt [265:295]


    fun run() {
        try {
            val parameters = getIdeaRunnerParameters()
            val jar = project.getProjectJar("inspection-runner")
            logger.info("InspectionPlugin: Backend jar: $jar")
            val ideaHomeDirectory = parameters.ideaHomeDirectory
            logger.info("Idea home directory: $ideaHomeDirectory")
            val runner = Runner.getOrInit {
                project.gradle.root.addBuildListener(IdeaFinishingListener())
                ProxyRunner(jar, ideaHomeDirectory) { level, message ->
                    when (level) {
                        LoggerLevel.ERROR -> logger.error("InspectionPlugin: $message")
                        LoggerLevel.WARNING -> logger.warn("InspectionPlugin: $message")
                        LoggerLevel.INFO -> logger.info("InspectionPlugin: $message")
                        LoggerLevel.DEBUG -> logger.debug("InspectionPlugin: $message")
                    }
                }
            }
            val outcome = runner.run(parameters)
            when (outcome) {
                RunnerOutcome.CRASH -> exception(this, "Task execution exception")
                RunnerOutcome.FAIL -> if (!getIgnoreFailures()) exception(this, "Task execution failure")
                RunnerOutcome.SUCCESS -> logger.info("InspectionPlugin: RUN SUCCESS")
            }
        } catch (e: Throwable) {
            logger.error("InspectionPlugin: Exception during running: ${e.javaClass.name}: ${e.message}")
            throw TaskExecutionException(this, e)
        } finally {
            Runner.finalize(logger)
        }
    }