From ae8428e8d036541cb93cfb51075aa87e377c54d4 Mon Sep 17 00:00:00 2001 From: "Aleksei.Cherepanov" Date: Thu, 23 Mar 2023 12:33:21 +0100 Subject: [PATCH] Refactor Infrastructure of IC tests 1) Move root util functions to separate CompileRunnerUtils file from IncrementalJvmCompileRunner to leave the only class instance there and to separate util functions 2) Move TestLookupTracker from the abstract parent class location to a separate file as an implementation class 3) Small change naming of building functions just to clarify what they do 4) Some small code-style refactorings --- .../kotlin/daemon/CompileServiceImpl.kt | 6 +- .../kotlin/incremental/CompilerRunnerUtils.kt | 95 +++++++++++++++++++ .../IncrementalJvmCompilerRunner.kt | 77 --------------- ...stractIncrementalCompilerRunnerTestBase.kt | 10 +- ...bstractIncrementalJvmCompilerRunnerTest.kt | 9 +- .../incremental/utils/TestICReporter.kt | 3 +- .../incremental/utils/TestLookupTracker.kt | 33 +++++++ .../jps/build/AbstractIncrementalJpsTest.kt | 1 + .../jps/build/AbstractLookupTrackerTest.kt | 27 +----- .../kotlin/maven/K2JVMCompileMojo.java | 4 +- 10 files changed, 147 insertions(+), 118 deletions(-) create mode 100644 compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt create mode 100644 compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestLookupTracker.kt diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index 9be0166a1cf..2e043d2fe09 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -319,7 +319,7 @@ abstract class CompileServiceImplBase( CompilerMode.JPS_COMPILER -> { @Suppress("UNCHECKED_CAST") servicesFacade as JpsServicesFacadeT - withIC(k2PlatformArgs, enabled = servicesFacade.hasIncrementalCaches()) { + withIncrementalCompilation(k2PlatformArgs, enabled = servicesFacade.hasIncrementalCaches()) { doCompile(sessionId, daemonReporter, tracer = null) { eventManger, profiler -> val services = createServices(servicesFacade, eventManger, profiler) compiler.exec(messageCollector, services, k2PlatformArgs) @@ -346,7 +346,7 @@ abstract class CompileServiceImplBase( val gradleIncrementalServicesFacade = servicesFacade when (targetPlatform) { - CompileService.TargetPlatform.JVM -> withIC(k2PlatformArgs) { + CompileService.TargetPlatform.JVM -> withIncrementalCompilation(k2PlatformArgs) { doCompile(sessionId, daemonReporter, tracer = null) { _, _ -> execIncrementalCompiler( k2PlatformArgs as K2JVMCompilerArguments, @@ -616,7 +616,7 @@ abstract class CompileServiceImplBase( val projectRoot = incrementalCompilationOptions.modulesInfo.projectRoot val useK2 = k2jvmArgs.useK2 || LanguageVersion.fromVersionString(k2jvmArgs.languageVersion)?.usesK2 == true // TODO: This should be reverted after implementing of fir-based java tracker (KT-57147). - // See org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunnerKt.makeIncrementally + // See org.jetbrains.kotlin.incremental.CompilerRunnerUtilsKt.makeJvmIncrementally val usePreciseJavaTracking = if (useK2) false else incrementalCompilationOptions.usePreciseJavaTracking val compiler = IncrementalJvmCompilerRunner( diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt new file mode 100644 index 00000000000..9c39916f9ac --- /dev/null +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/CompilerRunnerUtils.kt @@ -0,0 +1,95 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +@file:JvmName("CompilerRunnerUtils") + +package org.jetbrains.kotlin.incremental + +import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS +import org.jetbrains.kotlin.build.report.BuildReporter +import org.jetbrains.kotlin.build.report.DoNothingICReporter +import org.jetbrains.kotlin.build.report.ICReporter +import org.jetbrains.kotlin.build.report.metrics.DoNothingBuildMetricsReporter +import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments +import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments +import org.jetbrains.kotlin.cli.common.messages.MessageCollector +import org.jetbrains.kotlin.config.IncrementalCompilation +import org.jetbrains.kotlin.config.LanguageVersion +import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory +import java.io.File + +var K2JVMCompilerArguments.destinationAsFile: File + get() = File(destination) + set(value) { + destination = value.absolutePath + } + +var K2JVMCompilerArguments.classpathAsList: List + get() = classpath.orEmpty().split(File.pathSeparator).map(::File) + set(value) { + classpath = value.joinToString(separator = File.pathSeparator, transform = { it.absolutePath }) + } + +@Suppress("unused") // used in Maven compile runner +fun makeJvmIncrementally( + cachesDir: File, + sourceRoots: Iterable, + args: K2JVMCompilerArguments, + messageCollector: MessageCollector = MessageCollector.NONE, + reporter: ICReporter = DoNothingICReporter +) { + val kotlinExtensions = DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS + val allExtensions = kotlinExtensions + "java" + val rootsWalk = sourceRoots.asSequence().flatMap { it.walk() } + val files = rootsWalk.filter(File::isFile) + val sourceFiles = files.filter { it.extension.lowercase() in allExtensions }.toList() + val buildHistoryFile = File(cachesDir, "build-history.bin") + args.javaSourceRoots = sourceRoots.map { it.absolutePath }.toTypedArray() + val buildReporter = BuildReporter(icReporter = reporter, buildMetricsReporter = DoNothingBuildMetricsReporter) + + withIncrementalCompilation(args) { + val useK2 = args.useK2 || LanguageVersion.fromVersionString(args.languageVersion)?.usesK2 == true + val compiler = + if (useK2 && args.useFirIC && args.useFirLT /* TODO by @Ilya.Chernikov: move LT check into runner */) + IncrementalFirJvmCompilerRunner( + cachesDir, + buildReporter, + buildHistoryFile, + outputDirs = null, + EmptyModulesApiHistory, + kotlinExtensions, + ClasspathChanges.ClasspathSnapshotDisabled + ) + else + IncrementalJvmCompilerRunner( + cachesDir, + buildReporter, + // Use precise setting in case of non-Gradle build + usePreciseJavaTracking = !useK2, // TODO by @Ilya.Chernikov: add fir-based java classes tracker when available and set this to true + buildHistoryFile = buildHistoryFile, + outputDirs = null, + modulesApiHistory = EmptyModulesApiHistory, + kotlinSourceFilesExtensions = kotlinExtensions, + classpathChanges = ClasspathChanges.ClasspathSnapshotDisabled + ) + //TODO by @Ilya.Chernikov set properly + compiler.compile(sourceFiles, args, messageCollector, changedFiles = null) + } +} + +@Suppress("DEPRECATION") +inline fun withIncrementalCompilation(args: CommonCompilerArguments, enabled: Boolean = true, fn: () -> R): R { + val isEnabledBackup = IncrementalCompilation.isEnabledForJvm() + IncrementalCompilation.setIsEnabledForJvm(enabled) + + try { + if (args.incrementalCompilation == null) { + args.incrementalCompilation = enabled + } + return fn() + } finally { + IncrementalCompilation.setIsEnabledForJvm(isEnabledBackup) + } +} \ No newline at end of file diff --git a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt index 9545de3cee6..4333a712426 100644 --- a/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt +++ b/compiler/incremental-compilation-impl/src/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunner.kt @@ -22,7 +22,6 @@ import com.intellij.psi.PsiClass import com.intellij.psi.PsiFile import com.intellij.psi.PsiFileFactory import com.intellij.psi.PsiJavaFile -import org.jetbrains.annotations.TestOnly import org.jetbrains.kotlin.build.DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS import org.jetbrains.kotlin.build.GeneratedFile import org.jetbrains.kotlin.build.GeneratedJvmClass @@ -30,7 +29,6 @@ import org.jetbrains.kotlin.build.report.* import org.jetbrains.kotlin.build.report.metrics.* import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys import org.jetbrains.kotlin.cli.common.ExitCode -import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments import org.jetbrains.kotlin.cli.common.messages.FilteringMessageCollector import org.jetbrains.kotlin.cli.common.messages.MessageCollector @@ -49,7 +47,6 @@ import org.jetbrains.kotlin.incremental.classpathDiff.* import org.jetbrains.kotlin.incremental.classpathDiff.ClasspathChangesComputer.computeClasspathChanges import org.jetbrains.kotlin.incremental.components.ExpectActualTracker import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.incremental.multiproject.EmptyModulesApiHistory import org.jetbrains.kotlin.incremental.multiproject.ModulesApiHistory import org.jetbrains.kotlin.incremental.util.BufferingMessageCollector import org.jetbrains.kotlin.incremental.util.Either @@ -62,68 +59,6 @@ import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name import java.io.File -@TestOnly -fun makeIncrementally( - cachesDir: File, - sourceRoots: Iterable, - args: K2JVMCompilerArguments, - messageCollector: MessageCollector = MessageCollector.NONE, - reporter: ICReporter = DoNothingICReporter -) { - val kotlinExtensions = DEFAULT_KOTLIN_SOURCE_FILES_EXTENSIONS - val allExtensions = kotlinExtensions + "java" - val rootsWalk = sourceRoots.asSequence().flatMap { it.walk() } - val files = rootsWalk.filter(File::isFile) - val sourceFiles = files.filter { it.extension.lowercase() in allExtensions }.toList() - val buildHistoryFile = File(cachesDir, "build-history.bin") - args.javaSourceRoots = sourceRoots.map { it.absolutePath }.toTypedArray() - val buildReporter = BuildReporter(icReporter = reporter, buildMetricsReporter = DoNothingBuildMetricsReporter) - - withIC(args) { - val useK2 = args.useK2 || LanguageVersion.fromVersionString(args.languageVersion)?.usesK2 == true - val compiler = - if (useK2 && args.useFirIC && args.useFirLT /* TODO: move LT check into runner */) - IncrementalFirJvmCompilerRunner( - cachesDir, - buildReporter, - buildHistoryFile, - outputDirs = null, - EmptyModulesApiHistory, - kotlinExtensions, - ClasspathSnapshotDisabled - ) - else - IncrementalJvmCompilerRunner( - cachesDir, - buildReporter, - // Use precise setting in case of non-Gradle build - usePreciseJavaTracking = !useK2, // TODO: add fir-based java classes tracker when available and set this to true (KT-57147) - buildHistoryFile = buildHistoryFile, - outputDirs = null, - modulesApiHistory = EmptyModulesApiHistory, - kotlinSourceFilesExtensions = kotlinExtensions, - classpathChanges = ClasspathSnapshotDisabled - ) - //TODO set properly - compiler.compile(sourceFiles, args, messageCollector, changedFiles = null) - } -} - -@Suppress("DEPRECATION") -inline fun withIC(args: CommonCompilerArguments, enabled: Boolean = true, fn: () -> R): R { - val isEnabledBackup = IncrementalCompilation.isEnabledForJvm() - IncrementalCompilation.setIsEnabledForJvm(enabled) - - try { - if (args.incrementalCompilation == null) { - args.incrementalCompilation = enabled - } - return fn() - } finally { - IncrementalCompilation.setIsEnabledForJvm(isEnabledBackup) - } -} - open class IncrementalJvmCompilerRunner( workingDir: File, reporter: BuildReporter, @@ -542,15 +477,3 @@ open class IncrementalJvmCompilerRunner( } } } - -var K2JVMCompilerArguments.destinationAsFile: File - get() = File(destination) - set(value) { - destination = value.path - } - -var K2JVMCompilerArguments.classpathAsList: List - get() = classpath.orEmpty().split(File.pathSeparator).map(::File) - set(value) { - classpath = value.joinToString(separator = File.pathSeparator, transform = { it.path }) - } diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt index 282434449ea..f03e3e699b3 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt @@ -36,9 +36,10 @@ abstract class AbstractIncrementalCompilerRunnerTestBase, args: Args) = make(cacheDir, outDir, sourceRoots, args) - private fun incrementalMake(cacheDir: File, outDir: File, sourceRoots: List, args: Args) = make(cacheDir, outDir, sourceRoots, args) + private fun incrementalMake(cacheDir: File, outDir: File, sourceRoots: List, args: Args) = + make(cacheDir, outDir, sourceRoots, args) protected open fun rebuildAndCompareOutput( sourceRoots: List, diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt index b93cda46c1f..d060a7f446b 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalJvmCompilerRunnerTest.kt @@ -30,7 +30,7 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom override fun make(cacheDir: File, outDir: File, sourceRoots: Iterable, args: K2JVMCompilerArguments): TestCompilationResult { val reporter = TestICReporter() val messageCollector = TestMessageCollector() - makeIncrementally(cacheDir, sourceRoots, args, reporter = reporter, messageCollector = messageCollector) + makeJvmIncrementally(cacheDir, sourceRoots, args, reporter = reporter, messageCollector = messageCollector) val kotlinCompileResult = TestCompilationResult(reporter, messageCollector) if (kotlinCompileResult.exitCode != ExitCode.OK) return kotlinCompileResult @@ -55,9 +55,10 @@ abstract class AbstractIncrementalJvmCompilerRunnerTest : AbstractIncrementalCom } mkdirs() } - val args = arrayOf("-cp", javaClasspath, - "-d", javaDestinationDir.canonicalPath, - *javaSources.map { it.canonicalPath }.toTypedArray() + val args = arrayOf( + "-cp", javaClasspath, + "-d", javaDestinationDir.canonicalPath, + *javaSources.map { it.canonicalPath }.toTypedArray() ) val err = ByteArrayOutputStream() diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestICReporter.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestICReporter.kt index 75bbd3fae59..8dfb72a5eb8 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestICReporter.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestICReporter.kt @@ -30,8 +30,7 @@ class TestICReporter : ICReporterBase() { var exitCode: ExitCode = ExitCode.OK private set - override fun report(message: () -> String, severity: ReportSeverity) { - } + override fun report(message: () -> String, severity: ReportSeverity) {} override fun reportCompileIteration(incremental: Boolean, sourceFiles: Collection, exitCode: ExitCode) { compiledSourcesMutable.addAll(sourceFiles) diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestLookupTracker.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestLookupTracker.kt new file mode 100644 index 00000000000..5c05472d0cd --- /dev/null +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/utils/TestLookupTracker.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.incremental.utils + +import com.intellij.util.containers.Interner +import org.jetbrains.kotlin.incremental.LookupSymbol +import org.jetbrains.kotlin.incremental.components.LookupInfo +import org.jetbrains.kotlin.incremental.components.LookupTracker +import org.jetbrains.kotlin.incremental.components.Position +import org.jetbrains.kotlin.incremental.components.ScopeKind + +class TestLookupTracker(val savedLookups: MutableSet = mutableSetOf()) : LookupTracker { + val lookups = arrayListOf() + private val interner = Interner.createStringInterner() + + override val requiresPosition: Boolean + get() = true + + override fun record(filePath: String, position: Position, scopeFqName: String, scopeKind: ScopeKind, name: String) { + val internedFilePath = interner.intern(filePath) + val internedScopeFqName = interner.intern(scopeFqName) + val internedName = interner.intern(name) + + lookups.add(LookupInfo(internedFilePath, position, internedScopeFqName, scopeKind, internedName)) + } + + override fun clear() { + lookups.clear() + } +} diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 55915968254..97a22d724d9 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -38,6 +38,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments import org.jetbrains.kotlin.incremental.LookupSymbol import org.jetbrains.kotlin.incremental.testingUtils.* +import org.jetbrains.kotlin.incremental.utils.TestLookupTracker import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxt import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxtBuilder import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index 99db1563c11..22778a4ecd8 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -8,10 +8,8 @@ package org.jetbrains.kotlin.jps.build import com.intellij.testFramework.RunAll import com.intellij.testFramework.UsefulTestCase import com.intellij.util.ThrowableRunnable -import com.intellij.util.containers.Interner import org.jetbrains.kotlin.TestWithWorkingDir import org.jetbrains.kotlin.build.JvmSourceRoot -import org.jetbrains.kotlin.cli.common.CompilerSystemProperties import org.jetbrains.kotlin.cli.common.ExitCode import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments @@ -20,14 +18,13 @@ import org.jetbrains.kotlin.compilerRunner.* import org.jetbrains.kotlin.config.Services import org.jetbrains.kotlin.incremental.components.LookupInfo import org.jetbrains.kotlin.incremental.components.LookupTracker -import org.jetbrains.kotlin.incremental.components.Position -import org.jetbrains.kotlin.incremental.components.ScopeKind import org.jetbrains.kotlin.incremental.isKotlinFile import org.jetbrains.kotlin.incremental.js.* import org.jetbrains.kotlin.incremental.makeModuleFile import org.jetbrains.kotlin.incremental.testingUtils.TouchPolicy import org.jetbrains.kotlin.incremental.testingUtils.copyTestSources import org.jetbrains.kotlin.incremental.testingUtils.getModificationsToPerform +import org.jetbrains.kotlin.incremental.utils.TestLookupTracker import org.jetbrains.kotlin.incremental.utils.TestMessageCollector import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture import org.jetbrains.kotlin.jps.incremental.createTestingCompilerEnvironment @@ -349,25 +346,3 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() { KotlinTestUtils.assertEqualsToFile("Lookups do not match after $step", expectedFile, actual) } } - -class TestLookupTracker : LookupTracker { - val lookups = arrayListOf() - private val interner = Interner.createStringInterner() - - override val requiresPosition: Boolean - get() = true - - override fun record(filePath: String, position: Position, scopeFqName: String, scopeKind: ScopeKind, name: String) { - val internedFilePath = interner.intern(filePath) - val internedScopeFqName = interner.intern(scopeFqName) - val internedName = interner.intern(name) - - lookups.add(LookupInfo(internedFilePath, position, internedScopeFqName, scopeKind, internedName)) - } - - override fun clear() { - lookups.clear() - } -} - - diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java index 80d6abdb5f6..3ec672b1406 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java @@ -34,7 +34,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments; import org.jetbrains.kotlin.cli.common.messages.MessageCollector; import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler; import org.jetbrains.kotlin.config.JvmTarget; -import org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunnerKt; +import org.jetbrains.kotlin.incremental.CompilerRunnerUtils; import org.jetbrains.kotlin.maven.incremental.FileCopier; import org.jetbrains.kotlin.maven.incremental.MavenICReporter; import org.jetbrains.kotlin.maven.kapt.AnnotationProcessingManager; @@ -270,7 +270,7 @@ public class K2JVMCompileMojo extends KotlinCompileMojoBase