From 90dbf6c5fc8699f4a7ae2700c1067de1feef1521 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 4 Oct 2016 17:26:13 +0300 Subject: [PATCH] Refactoring: delegate IC files management to IncrementalJvmCompilerRunner --- .../gradle/tasks/IncrementalJvmCompilerRunner.kt | 13 ++++++++++--- .../org/jetbrains/kotlin/gradle/tasks/Tasks.kt | 13 +++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/IncrementalJvmCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/IncrementalJvmCompilerRunner.kt index 66dcf126c22..226c0e893b3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/IncrementalJvmCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/IncrementalJvmCompilerRunner.kt @@ -24,17 +24,15 @@ import java.io.File import java.util.* internal class IncrementalJvmCompilerRunner( + workingDir: File, classpath: Iterable, private var kaptAnnotationsFileUpdater: AnnotationFileUpdater?, private val artifactDifferenceRegistryProvider: ArtifactDifferenceRegistryProvider?, private val sourceAnnotationsRegistry: SourceAnnotationsRegistry?, private val javaSourceRoots: Set, private val destinationDir: File, - private val dirtySourcesSinceLastTimeFile: File, - private val lastBuildInfoFile: File, private val kapt2GeneratedSourcesDir: File, private val artifactFile: File?, - private val cacheDirectory: File, private val cacheVersions: List, private val reporter: IncReporter ) { @@ -42,6 +40,9 @@ internal class IncrementalJvmCompilerRunner( private set private val classpath = classpath.toMutableList() private val additionalClasspath = LinkedHashSet() + private val cacheDirectory = File(workingDir, CACHES_DIR_NAME) + private val dirtySourcesSinceLastTimeFile = File(workingDir, DIRTY_SOURCES_FILE_NAME) + private val lastBuildInfoFile = File(workingDir, LAST_BUILD_INFO_FILE_NAME) fun compile(allKotlinSources: List, changedFiles: ChangedFiles, args: K2JVMCompilerArguments, messageCollector: MessageCollector): ExitCode { val outputDir = destinationDir @@ -406,4 +407,10 @@ internal class IncrementalJvmCompilerRunner( delegate.report(severity, message, location) } } + + companion object { + const val CACHES_DIR_NAME = "caches" + const val DIRTY_SOURCES_FILE_NAME = "dirty-sources.txt" + const val LAST_BUILD_INFO_FILE_NAME = "last-build.bin" + } } \ No newline at end of file diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt index 993d686b054..4fe8a08422a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/Tasks.kt @@ -42,9 +42,6 @@ import kotlin.properties.Delegates const val ANNOTATIONS_PLUGIN_NAME = "org.jetbrains.kotlin.kapt" const val KOTLIN_BUILD_DIR_NAME = "kotlin" -const val CACHES_DIR_NAME = "caches" -const val DIRTY_SOURCES_FILE_NAME = "dirty-sources.txt" -const val LAST_BUILD_INFO_FILE_NAME = "last-build.bin" const val USING_EXPERIMENTAL_INCREMENTAL_MESSAGE = "Using experimental kotlin incremental compilation" abstract class AbstractKotlinCompile() : AbstractCompile() { @@ -107,9 +104,6 @@ open class KotlinCompile : AbstractKotlinCompile(), Kotl internal val taskBuildDirectory: File get() = File(File(project.buildDir, KOTLIN_BUILD_DIR_NAME), name).apply { mkdirs() } - private val cacheDirectory: File by lazy { File(taskBuildDirectory, CACHES_DIR_NAME) } - private val dirtySourcesSinceLastTimeFile: File by lazy { File(taskBuildDirectory, DIRTY_SOURCES_FILE_NAME) } - private val lastBuildInfoFile: File by lazy { File(taskBuildDirectory, LAST_BUILD_INFO_FILE_NAME) } private val cacheVersions by lazy { listOf(normalCacheVersion(taskBuildDirectory), experimentalCacheVersion(taskBuildDirectory), @@ -178,17 +172,16 @@ open class KotlinCompile : AbstractKotlinCompile(), Kotl logger.warn(USING_EXPERIMENTAL_INCREMENTAL_MESSAGE) val reporter = GradleIncReporter(project.rootProject.projectDir) val messageCollector = GradleMessageCollector(logger) - val compiler = IncrementalJvmCompilerRunner(classpath.toList(), + val compiler = IncrementalJvmCompilerRunner( + taskBuildDirectory, + classpath.toList(), kaptAnnotationsFileUpdater, artifactDifferenceRegistryProvider, sourceAnnotationsRegistry, getJavaSourceRoots(), destinationDir, - dirtySourcesSinceLastTimeFile, - lastBuildInfoFile, kapt2GeneratedSourcesDir, artifactFile, - cacheDirectory, cacheVersions, reporter) compiler.compile(allKotlinSources, changedFiles, args, messageCollector)