From e44cc43ada4c11c8163dc0ccf504ec0c87c74532 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Tue, 10 Jan 2017 19:49:26 +0300 Subject: [PATCH] Move CompilerMode and TargetPlatform to CompilationOptions --- .../daemon/common/CompilationOptions.kt | 10 +++++-- .../kotlin/daemon/common/CompileService.kt | 2 -- .../kotlin/daemon/CompileServiceImpl.kt | 6 ++-- .../compilerRunner/JpsKotlinCompilerRunner.kt | 11 +++---- .../GradleKotlinCompilerRunner.kt | 29 +++++++++---------- 5 files changed, 28 insertions(+), 30 deletions(-) diff --git a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt index 09bca7ddb0b..d2bf095373d 100644 --- a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt +++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilationOptions.kt @@ -19,7 +19,11 @@ package org.jetbrains.kotlin.daemon.common import java.io.File import java.io.Serializable -open class CompilationOptions(val reportingFilters: List) : Serializable { +open class CompilationOptions( + val compilerMode: CompileService.CompilerMode, + val targetPlatform: CompileService.TargetPlatform, + val reportingFilters: List +) : Serializable { companion object { const val serialVersionUID: Long = 0 } @@ -32,8 +36,10 @@ class IncrementalCompilationOptions( val workingDir: File, val customCacheVersionFileName: String, val customCacheVersion: Int, + compilerMode: CompileService.CompilerMode, + targetPlatform: CompileService.TargetPlatform, reportingFilters: List -) : CompilationOptions(reportingFilters) { +) : CompilationOptions(compilerMode, targetPlatform, reportingFilters) { companion object { const val serialVersionUID: Long = 0 } diff --git a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt index ca94d80cdcf..b4c862fe281 100644 --- a/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt +++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt @@ -136,8 +136,6 @@ interface CompileService : Remote { @Throws(RemoteException::class) fun compile( sessionId: Int, - compilerMode: CompilerMode, - targetPlatform: TargetPlatform, compilerArguments: CommonCompilerArguments, compilationOptions: CompilationOptions, servicesFacade: CompilerServicesFacadeBase diff --git a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt index eef7fd4b677..334b3892cbf 100644 --- a/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt +++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt @@ -323,14 +323,14 @@ class CompileServiceImpl( override fun compile( sessionId: Int, - compilerMode: CompileService.CompilerMode, - targetPlatform: CompileService.TargetPlatform, compilerArguments: CommonCompilerArguments, compilationOptions: CompilationOptions, servicesFacade: CompilerServicesFacadeBase ): CompileService.CallResult { val messageCollector = CompileServicesFacadeMessageCollector(servicesFacade, compilationOptions) val serviceReporter = CompileServiceReporterImpl(servicesFacade, compilationOptions) + val compilerMode = compilationOptions.compilerMode + val targetPlatform = compilationOptions.targetPlatform return when (compilerMode) { CompileService.CompilerMode.JPS_COMPILER -> { @@ -338,7 +338,7 @@ class CompileServiceImpl( doCompile(sessionId, serviceReporter, tracer = null) { eventManger, profiler -> val services = createCompileServices(jpsServicesFacade, eventManger, profiler) - execCompiler(targetPlatform, services, compilerArguments, messageCollector) + execCompiler(compilationOptions.targetPlatform, services, compilerArguments, messageCollector) } } CompileService.CompilerMode.NON_INCREMENTAL_COMPILER -> { diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt index be4a19841ca..2a99aad5190 100644 --- a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt +++ b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/JpsKotlinCompilerRunner.kt @@ -99,13 +99,10 @@ class JpsKotlinCompilerRunner : KotlinCompilerRunner() { } val res = withDaemon(environment, retryOnConnectionError = true) { daemon, sessionId -> - daemon.compile( - sessionId, - CompileService.CompilerMode.JPS_COMPILER, - targetPlatform, - compilerArgs, - CompilationOptions(reportingFilters = getReportingFilters(compilerArgs.verbose)), - JpsCompilerServicesFacadeImpl(environment)) + val options = CompilationOptions(CompileService.CompilerMode.JPS_COMPILER, + targetPlatform, + reportingFilters = getReportingFilters(compilerArgs.verbose)) + daemon.compile(sessionId, compilerArgs, options, JpsCompilerServicesFacadeImpl(environment)) } return res?.get()?.let { exitCodeFromProcessExitCode(it) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt index aef592557f8..9198eabeb31 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/compilerRunner/GradleKotlinCompilerRunner.kt @@ -162,15 +162,14 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil K2METADATA_COMPILER -> CompileService.TargetPlatform.METADATA else -> throw IllegalArgumentException("Unknown compiler type $compilerClassName") } + val compilationOptions = CompilationOptions( + reportingFilters = getNonIncrementalReportingFilters(environment.compilerArgs.verbose), + compilerMode = CompileService.CompilerMode.NON_INCREMENTAL_COMPILER, + targetPlatform = targetPlatform) + val servicesFacade = GradleCompilerServicesFacadeImpl(project, environment.messageCollector) val res = withDaemon(environment, retryOnConnectionError = true) { daemon, sessionId -> - daemon.compile( - sessionId, - CompileService.CompilerMode.NON_INCREMENTAL_COMPILER, - targetPlatform, - environment.compilerArgs, - CompilationOptions(reportingFilters = getNonIncrementalReportingFilters(environment.compilerArgs.verbose)), - GradleCompilerServicesFacadeImpl(project, environment.messageCollector)) + daemon.compile(sessionId, environment.compilerArgs, compilationOptions, servicesFacade) } val exitCode = res?.get()?.let { exitCodeFromProcessExitCode(it) } @@ -184,7 +183,7 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil private fun incrementalCompilationWithDaemon(environment: GradleIncrementalCompilerEnvironment): ExitCode? { val knownChangedFiles = environment.changedFiles as? ChangedFiles.Known - val additionalCompilerArguments = IncrementalCompilationOptions( + val compilationOptions = IncrementalCompilationOptions( areFileChangesKnown = knownChangedFiles != null, modifiedFiles = knownChangedFiles?.modified, deletedFiles = knownChangedFiles?.removed, @@ -192,16 +191,14 @@ internal class GradleCompilerRunner(private val project: Project) : KotlinCompil customCacheVersion = GRADLE_CACHE_VERSION, customCacheVersionFileName = GRADLE_CACHE_VERSION_FILE_NAME, reportingFilters = getNonIncrementalReportingFilters(environment.compilerArgs.verbose) + - getIncrementalReportingFilters(environment.compilerArgs.verbose) + getIncrementalReportingFilters(environment.compilerArgs.verbose), + compilerMode = CompileService.CompilerMode.INCREMENTAL_COMPILER, + targetPlatform = CompileService.TargetPlatform.JVM ) + val servicesFacade = GradleIncrementalCompilerServicesFacadeImpl(project, environment) + val res = withDaemon(environment, retryOnConnectionError = true) { daemon, sessionId -> - daemon.compile( - sessionId, - CompileService.CompilerMode.INCREMENTAL_COMPILER, - CompileService.TargetPlatform.JVM, - environment.compilerArgs, - additionalCompilerArguments, - GradleIncrementalCompilerServicesFacadeImpl(project, environment)) + daemon.compile(sessionId, environment.compilerArgs, compilationOptions, servicesFacade) } val exitCode = res?.get()?.let { exitCodeFromProcessExitCode(it) }