diff --git a/.idea/artifacts/KotlinJpsPlugin.xml b/.idea/artifacts/KotlinJpsPlugin.xml
index 58abf6b8d87..339fcff5cfc 100644
--- a/.idea/artifacts/KotlinJpsPlugin.xml
+++ b/.idea/artifacts/KotlinJpsPlugin.xml
@@ -19,8 +19,8 @@
-
-
+
+
diff --git a/.idea/artifacts/KotlinPlugin.xml b/.idea/artifacts/KotlinPlugin.xml
index ad71d741b99..ac27fd5a7da 100644
--- a/.idea/artifacts/KotlinPlugin.xml
+++ b/.idea/artifacts/KotlinPlugin.xml
@@ -43,7 +43,7 @@
-
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 92f38d72ac1..e03828315ca 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -21,6 +21,9 @@
+
+
+
@@ -53,13 +56,10 @@
-
-
-
diff --git a/build.xml b/build.xml
index 5398f69eb50..1bf76646246 100644
--- a/build.xml
+++ b/build.xml
@@ -91,8 +91,8 @@
-
-
+
+
@@ -118,8 +118,7 @@
-
-
+
@@ -204,8 +203,8 @@
-
-
+
+
@@ -584,12 +583,12 @@
-
-
+
+
-
+
-
+
@@ -599,8 +598,8 @@
-
-
+
+
@@ -940,7 +939,7 @@
depends="builtins,stdlib,core,reflection,pack-runtime,pack-runtime-sources"/>
-
+
diff --git a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/CompilerCallbackServicesFacadeServer.kt b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/CompilerCallbackServicesFacadeServer.kt
similarity index 90%
rename from compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/CompilerCallbackServicesFacadeServer.kt
rename to compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/CompilerCallbackServicesFacadeServer.kt
index 7bca1b82aff..63243467ee3 100644
--- a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/CompilerCallbackServicesFacadeServer.kt
+++ b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/CompilerCallbackServicesFacadeServer.kt
@@ -14,17 +14,18 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.kotlinr
+package org.jetbrains.kotlin.daemon.client
+import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
+import org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface
+import org.jetbrains.kotlin.daemon.common.SOCKET_ANY_FREE_PORT
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
import org.jetbrains.kotlin.modules.TargetId
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
-import org.jetbrains.kotlin.rmi.CompilerCallbackServicesFacade
-import org.jetbrains.kotlin.rmi.LoopbackNetworkInterface
-import org.jetbrains.kotlin.rmi.SOCKET_ANY_FREE_PORT
+import java.rmi.server.UnicastRemoteObject
class CompilerCallbackServicesFacadeServer(
@@ -32,7 +33,7 @@ class CompilerCallbackServicesFacadeServer(
val compilationCancelledStatus: CompilationCanceledStatus? = null,
port: Int = SOCKET_ANY_FREE_PORT
) : CompilerCallbackServicesFacade,
- java.rmi.server.UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
+ UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
{
override fun hasIncrementalCaches(): Boolean = incrementalCompilationComponents != null
diff --git a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/KotlinCompilerClient.kt b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt
similarity index 86%
rename from compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/KotlinCompilerClient.kt
rename to compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt
index c6b40da7761..815285a323c 100644
--- a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/KotlinCompilerClient.kt
+++ b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/KotlinCompilerClient.kt
@@ -14,16 +14,18 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.kotlinr
+package org.jetbrains.kotlin.daemon.client
+import net.rubygrapefruit.platform.Native
import net.rubygrapefruit.platform.ProcessLauncher
+import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
-import org.jetbrains.kotlin.rmi.*
import org.jetbrains.kotlin.utils.addToStdlib.check
import java.io.File
import java.io.OutputStream
import java.io.PrintStream
+import java.rmi.server.UnicastRemoteObject
import java.util.concurrent.Semaphore
import java.util.concurrent.TimeUnit
import kotlin.concurrent.thread
@@ -44,11 +46,11 @@ object KotlinCompilerClient {
fun connectToCompileService(compilerId: CompilerId,
- daemonJVMOptions: DaemonJVMOptions,
- daemonOptions: DaemonOptions,
- reportingTargets: DaemonReportingTargets,
- autostart: Boolean = true,
- checkId: Boolean = true
+ daemonJVMOptions: DaemonJVMOptions,
+ daemonOptions: DaemonOptions,
+ reportingTargets: DaemonReportingTargets,
+ autostart: Boolean = true,
+ checkId: Boolean = true
): CompileService? {
fun newFlagFile(): File {
val flagFile = File.createTempFile("kotlin-compiler-client-", "-is-running")
@@ -66,11 +68,11 @@ object KotlinCompilerClient {
}
fun connectToCompileService(compilerId: CompilerId,
- clientAliveFlagFile: File,
- daemonJVMOptions: DaemonJVMOptions,
- daemonOptions: DaemonOptions,
- reportingTargets: DaemonReportingTargets,
- autostart: Boolean = true
+ clientAliveFlagFile: File,
+ daemonJVMOptions: DaemonJVMOptions,
+ daemonOptions: DaemonOptions,
+ reportingTargets: DaemonReportingTargets,
+ autostart: Boolean = true
): CompileService? {
var attempts = 0
@@ -98,7 +100,7 @@ object KotlinCompilerClient {
fun shutdownCompileService(compilerId: CompilerId, daemonOptions: DaemonOptions): Unit {
- KotlinCompilerClient.connectToCompileService(compilerId, DaemonJVMOptions(), daemonOptions, DaemonReportingTargets(out = System.out), autostart = false, checkId = false)
+ connectToCompileService(compilerId, DaemonJVMOptions(), daemonOptions, DaemonReportingTargets(out = System.out), autostart = false, checkId = false)
?.shutdown()
}
@@ -109,12 +111,12 @@ object KotlinCompilerClient {
fun compile(compilerService: CompileService,
- sessionId: Int,
- targetPlatform: CompileService.TargetPlatform,
- args: Array,
- out: OutputStream,
- port: Int = SOCKET_ANY_FREE_PORT,
- operationsTracer: RemoteOperationsTracer? = null
+ sessionId: Int,
+ targetPlatform: CompileService.TargetPlatform,
+ args: Array,
+ out: OutputStream,
+ port: Int = SOCKET_ANY_FREE_PORT,
+ operationsTracer: RemoteOperationsTracer? = null
): Int {
val outStrm = RemoteOutputStreamServer(out, port = port)
return compilerService.remoteCompile(sessionId, targetPlatform, args, CompilerCallbackServicesFacadeServer(port = port), outStrm, CompileService.OutputFormat.PLAIN, outStrm, operationsTracer).get()
@@ -122,15 +124,15 @@ object KotlinCompilerClient {
fun incrementalCompile(compileService: CompileService,
- sessionId: Int,
- targetPlatform: CompileService.TargetPlatform,
- args: Array,
- callbackServices: CompilationServices,
- compilerOut: OutputStream,
- daemonOut: OutputStream,
- port: Int = SOCKET_ANY_FREE_PORT,
- profiler: Profiler = DummyProfiler(),
- operationsTracer: RemoteOperationsTracer? = null
+ sessionId: Int,
+ targetPlatform: CompileService.TargetPlatform,
+ args: Array,
+ callbackServices: CompilationServices,
+ compilerOut: OutputStream,
+ daemonOut: OutputStream,
+ port: Int = SOCKET_ANY_FREE_PORT,
+ profiler: Profiler = DummyProfiler(),
+ operationsTracer: RemoteOperationsTracer? = null
): Int = profiler.withMeasure(this) {
compileService.remoteIncrementalCompile(
sessionId,
@@ -158,7 +160,7 @@ object KotlinCompilerClient {
val unrecognized = it.trimQuotes().split(",").filterExtractProps(opts.mappers, "")
if (unrecognized.any())
throw IllegalArgumentException(
- "Unrecognized client options passed via property $COMPILE_DAEMON_OPTIONS_PROPERTY: " + unrecognized.joinToString(" ") +
+ "Unrecognized client options passed via property ${COMPILE_DAEMON_OPTIONS_PROPERTY}: " + unrecognized.joinToString(" ") +
"\nSupported options: " + opts.mappers.joinToString(", ", transform = { it.names.first() }))
}
return opts
@@ -224,8 +226,8 @@ object KotlinCompilerClient {
}
finally {
// forcing RMI to unregister all objects and stop
- java.rmi.server.UnicastRemoteObject.unexportObject(servicesFacade, true)
- java.rmi.server.UnicastRemoteObject.unexportObject(outStrm, true)
+ UnicastRemoteObject.unexportObject(servicesFacade, true)
+ UnicastRemoteObject.unexportObject(outStrm, true)
}
}
}
@@ -281,7 +283,7 @@ object KotlinCompilerClient {
val processBuilder = ProcessBuilder(args)
processBuilder.redirectErrorStream(true)
// assuming daemon process is deaf and (mostly) silent, so do not handle streams
- val daemonLauncher = net.rubygrapefruit.platform.Native.get(ProcessLauncher::class.java)
+ val daemonLauncher = Native.get(ProcessLauncher::class.java)
val daemon = daemonLauncher.start(processBuilder)
var isEchoRead = Semaphore(1)
@@ -313,7 +315,7 @@ object KotlinCompilerClient {
it.toLong()
}
catch (e: Exception) {
- reportingTargets.report(DaemonReportCategory.INFO, "unable to interpret $COMPILE_DAEMON_STARTUP_TIMEOUT_PROPERTY property ('$it'); using default timeout $DAEMON_DEFAULT_STARTUP_TIMEOUT_MS ms")
+ reportingTargets.report(DaemonReportCategory.INFO, "unable to interpret ${COMPILE_DAEMON_STARTUP_TIMEOUT_PROPERTY} property ('$it'); using default timeout $DAEMON_DEFAULT_STARTUP_TIMEOUT_MS ms")
null
}
} ?: DAEMON_DEFAULT_STARTUP_TIMEOUT_MS
diff --git a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/RemoteOutputStreamServer.kt b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/RemoteOutputStreamServer.kt
similarity index 67%
rename from compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/RemoteOutputStreamServer.kt
rename to compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/RemoteOutputStreamServer.kt
index 1793d66b080..61a273841ce 100644
--- a/compiler/rmi/kotlinr/src/org/jetbrains/kotlin/rmi/kotlinr/RemoteOutputStreamServer.kt
+++ b/compiler/daemon/daemon-client/src/org/jetbrains/kotlin/daemon/client/RemoteOutputStreamServer.kt
@@ -14,17 +14,19 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.kotlinr
+package org.jetbrains.kotlin.daemon.client
-import org.jetbrains.kotlin.rmi.LoopbackNetworkInterface
-import org.jetbrains.kotlin.rmi.RemoteOutputStream
-import org.jetbrains.kotlin.rmi.SOCKET_ANY_FREE_PORT
+import org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface
+import org.jetbrains.kotlin.daemon.common.SOCKET_ANY_FREE_PORT
+import org.jetbrains.kotlin.daemon.common.RemoteOutputStream
+import org.jetbrains.kotlin.daemon.common.SOCKET_ANY_FREE_PORT
import java.io.OutputStream
+import java.rmi.server.UnicastRemoteObject
class RemoteOutputStreamServer(val out: OutputStream, port: Int = SOCKET_ANY_FREE_PORT)
: RemoteOutputStream,
- java.rmi.server.UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
+ UnicastRemoteObject(port, LoopbackNetworkInterface.clientLoopbackSocketFactory, LoopbackNetworkInterface.serverLoopbackSocketFactory)
{
override fun close() {
out.close()
diff --git a/compiler/rmi/rmi-interface/rmi-interface.iml b/compiler/daemon/daemon-common/daemon-common.iml
similarity index 100%
rename from compiler/rmi/rmi-interface/rmi-interface.iml
rename to compiler/daemon/daemon-common/daemon-common.iml
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/ClientUtils.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/ClientUtils.kt
similarity index 94%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/ClientUtils.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/ClientUtils.kt
index 626ac75e5f7..10b8fa7cae2 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/ClientUtils.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/ClientUtils.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.io.File
import java.rmi.ConnectException
@@ -30,7 +30,7 @@ enum class DaemonReportCategory {
fun makeRunFilenameString(timestamp: String, digest: String, port: String, escapeSequence: String = ""): String =
- "$COMPILE_DAEMON_DEFAULT_FILES_PREFIX$escapeSequence.$timestamp$escapeSequence.$digest$escapeSequence.$port$escapeSequence.run"
+ "${COMPILE_DAEMON_DEFAULT_FILES_PREFIX}$escapeSequence.$timestamp$escapeSequence.$digest$escapeSequence.$port$escapeSequence.run"
fun makePortFromRunFilenameExtractor(digest: String): (String) -> Int? {
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompileService.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt
similarity index 99%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompileService.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt
index ad2bb0c00c1..35ece05d3fc 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompileService.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompileService.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.io.Serializable
import java.rmi.Remote
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompilerCallbackServicesFacade.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerCallbackServicesFacade.kt
similarity index 98%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompilerCallbackServicesFacade.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerCallbackServicesFacade.kt
index 5558220fc3f..850645e860a 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/CompilerCallbackServicesFacade.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/CompilerCallbackServicesFacade.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/DaemonParams.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/DaemonParams.kt
similarity index 96%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/DaemonParams.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/DaemonParams.kt
index b954c0fca13..2df14c04d52 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/DaemonParams.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/DaemonParams.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import org.jetbrains.kotlin.cli.common.KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY
import java.io.File
@@ -27,7 +27,7 @@ import kotlin.reflect.KMutableProperty1
val COMPILER_JAR_NAME: String = "kotlin-compiler.jar"
val COMPILER_SERVICE_RMI_NAME: String = "KotlinJvmCompilerService"
-val COMPILER_DAEMON_CLASS_FQN: String = "org.jetbrains.kotlin.rmi.service.CompileDaemon"
+val COMPILER_DAEMON_CLASS_FQN: String = "org.jetbrains.kotlin.daemon.CompileDaemon"
val COMPILE_DAEMON_FIND_PORT_ATTEMPTS: Int = 10
val COMPILE_DAEMON_PORTS_RANGE_START: Int = 17001
val COMPILE_DAEMON_PORTS_RANGE_END: Int = 18000
@@ -258,9 +258,9 @@ fun isDaemonEnabled(): Boolean = System.getProperty(COMPILE_DAEMON_ENABLED_PROPE
fun configureDaemonJVMOptions(opts: DaemonJVMOptions,
- vararg additionalParams: String,
- inheritMemoryLimits: Boolean,
- inheritAdditionalProperties: Boolean
+ vararg additionalParams: String,
+ inheritMemoryLimits: Boolean,
+ inheritAdditionalProperties: Boolean
): DaemonJVMOptions {
// note: sequence matters, explicit override in COMPILE_DAEMON_JVM_OPTIONS_PROPERTY should be done after inputArguments processing
if (inheritMemoryLimits) {
@@ -276,8 +276,8 @@ fun configureDaemonJVMOptions(opts: DaemonJVMOptions,
opts.jvmParams.addAll(additionalParams)
if (inheritAdditionalProperties) {
- System.getProperty(COMPILE_DAEMON_LOG_PATH_PROPERTY)?.let { opts.jvmParams.add("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"$it\"") }
- System.getProperty(KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY)?.let { opts.jvmParams.add("D$KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY") }
+ System.getProperty(COMPILE_DAEMON_LOG_PATH_PROPERTY)?.let { opts.jvmParams.add("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"$it\"") }
+ System.getProperty(KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY)?.let { opts.jvmParams.add("D${KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY}") }
}
return opts
}
@@ -298,7 +298,7 @@ fun configureDaemonOptions(opts: DaemonOptions): DaemonOptions {
val unrecognized = it.trimQuotes().split(",").filterExtractProps(opts.mappers, "")
if (unrecognized.any())
throw IllegalArgumentException(
- "Unrecognized daemon options passed via property $COMPILE_DAEMON_OPTIONS_PROPERTY: " + unrecognized.joinToString(" ") +
+ "Unrecognized daemon options passed via property ${COMPILE_DAEMON_OPTIONS_PROPERTY}: " + unrecognized.joinToString(" ") +
"\nSupported options: " + opts.mappers.joinToString(", ", transform = { it.names.first() }))
}
System.getProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY)?.let { opts.verbose = true }
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/FileSystemUtils.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/FileSystemUtils.kt
similarity index 77%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/FileSystemUtils.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/FileSystemUtils.kt
index 3af527ff73e..a0381c07082 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/FileSystemUtils.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/FileSystemUtils.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.io.File
@@ -28,19 +28,19 @@ enum class OSKind {
val current: OSKind = System.getProperty("os.name").toLowerCase().let {
when {
// partly taken from http://www.code4copy.com/java/post/detecting-os-type-in-java
- it.startsWith("windows") -> OSKind.Windows
- it.startsWith("mac os") -> OSKind.OSX
- it.contains("unix") -> OSKind.Unix
- it.startsWith("linux") -> OSKind.Unix
- it.contains("bsd") -> OSKind.Unix
- it.startsWith("irix") -> OSKind.Unix
- it.startsWith("mpe/ix") -> OSKind.Unix
- it.startsWith("aix") -> OSKind.Unix
- it.startsWith("hp-ux") -> OSKind.Unix
- it.startsWith("sunos") -> OSKind.Unix
- it.startsWith("sun os") -> OSKind.Unix
- it.startsWith("solaris") -> OSKind.Unix
- else -> OSKind.Unknown
+ it.startsWith("windows") -> Windows
+ it.startsWith("mac os") -> OSX
+ it.contains("unix") -> Unix
+ it.startsWith("linux") -> Unix
+ it.contains("bsd") -> Unix
+ it.startsWith("irix") -> Unix
+ it.startsWith("mpe/ix") -> Unix
+ it.startsWith("aix") -> Unix
+ it.startsWith("hp-ux") -> Unix
+ it.startsWith("sunos") -> Unix
+ it.startsWith("sun os") -> Unix
+ it.startsWith("solaris") -> Unix
+ else -> Unknown
}
}
}
@@ -76,7 +76,7 @@ object FileSystem {
val dir = if (base.exists() && base.isDirectory) names.fold(base, { r, v -> File(r, v) })
else names.drop(1)
.fold(File(userHomePath, names.first().let { if (it.startsWith(".")) it else ".$it" }),
- { r, v -> File(r, v)})
+ { r, v -> File(r, v) })
return if ((dir.exists() && dir.isDirectory) || dir.mkdirs()) dir.absolutePath
else tempPath
}
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/NetworkUtils.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/NetworkUtils.kt
similarity index 95%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/NetworkUtils.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/NetworkUtils.kt
index d13974211ce..b7123708250 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/NetworkUtils.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/NetworkUtils.kt
@@ -14,10 +14,11 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.io.IOException
import java.io.Serializable
+import java.net.Inet6Address
import java.net.InetAddress
import java.net.ServerSocket
import java.net.Socket
@@ -45,7 +46,7 @@ object LoopbackNetworkInterface {
// TODO switch to InetAddress.getLoopbackAddress on java 7+
val loopbackInetAddressName by lazy {
try {
- if (java.net.InetAddress.getLocalHost() is java.net.Inet6Address) IPV6_LOOPBACK_INET_ADDRESS else IPV4_LOOPBACK_INET_ADDRESS
+ if (InetAddress.getLocalHost() is Inet6Address) IPV6_LOOPBACK_INET_ADDRESS else IPV4_LOOPBACK_INET_ADDRESS
}
catch (e: IOException) {
// getLocalHost may fail for unknown reasons in some situations, the fallback is to assume IPv4 for now
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/PerfUtils.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/PerfUtils.kt
similarity index 95%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/PerfUtils.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/PerfUtils.kt
index 30eea2e00d0..082ef3eb5d7 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/PerfUtils.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/PerfUtils.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.lang.management.ManagementFactory
import java.lang.management.ThreadMXBean
@@ -131,7 +131,7 @@ inline fun withMeasureWallAndThreadTimesAndMemory(perfCounters: PerfCounters,
class DummyProfiler : Profiler {
- override fun getCounters(): Map = mapOf(null to SimplePerfCounters())
+ override fun getCounters(): Map = mapOf(null to SimplePerfCounters())
override fun getTotalCounters(): PerfCounters = SimplePerfCounters()
override final inline fun withMeasure(obj: Any?, body: () -> R): R = body()
@@ -167,8 +167,8 @@ class WallAndThreadByClassProfiler() : TotalProfiler() {
val counters = hashMapOf()
- override fun getCounters(): Map = counters
+ override fun getCounters(): Map = counters
override final inline fun withMeasure(obj: Any?, body: () -> R): R =
- withMeasureWallAndThreadTimes(counters.getOrPut(obj?.javaClass?.name, { SimplePerfCountersWithTotal(total) } ), threadMXBean, body)
+ withMeasureWallAndThreadTimes(counters.getOrPut(obj?.javaClass?.name, { SimplePerfCountersWithTotal(total) }), threadMXBean, body)
}
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOperationsTracer.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOperationsTracer.kt
similarity index 95%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOperationsTracer.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOperationsTracer.kt
index 3d21da9c4d9..b0731a01463 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOperationsTracer.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOperationsTracer.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.rmi.Remote
import java.rmi.RemoteException
diff --git a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOutputStream.kt b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOutputStream.kt
similarity index 95%
rename from compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOutputStream.kt
rename to compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOutputStream.kt
index 127f8560271..3afe999e887 100644
--- a/compiler/rmi/rmi-interface/src/org/jetbrains/kotlin/rmi/RemoteOutputStream.kt
+++ b/compiler/daemon/daemon-common/src/org/jetbrains/kotlin/daemon/common/RemoteOutputStream.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi
+package org.jetbrains.kotlin.daemon.common
import java.rmi.Remote
import java.rmi.RemoteException
diff --git a/compiler/rmi/rmi-server/rmi-server.iml b/compiler/daemon/daemon.iml
similarity index 92%
rename from compiler/rmi/rmi-server/rmi-server.iml
rename to compiler/daemon/daemon.iml
index 8eda3cd81de..1fad4f719ab 100644
--- a/compiler/rmi/rmi-server/rmi-server.iml
+++ b/compiler/daemon/daemon.iml
@@ -9,7 +9,7 @@
-
+
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileDaemon.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileDaemon.kt
similarity index 97%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileDaemon.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileDaemon.kt
index 5f1e149d528..85a6d55de61 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileDaemon.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileDaemon.kt
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
import org.jetbrains.kotlin.cli.common.CLICompiler
import org.jetbrains.kotlin.cli.js.K2JSCompiler
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
-import org.jetbrains.kotlin.rmi.*
+import org.jetbrains.kotlin.daemon.common.*
import java.io.File
import java.io.IOException
import java.io.OutputStream
@@ -69,7 +69,7 @@ object CompileDaemon {
"java.util.logging.FileHandler.limit = ${if (fileIsGiven) 0 else (1 shl 20)}\n" + // if file is provided - disabled, else - 1Mb
"java.util.logging.FileHandler.count = ${if (fileIsGiven) 1 else 3}\n" +
"java.util.logging.FileHandler.append = $fileIsGiven\n" +
- "java.util.logging.FileHandler.pattern = ${if (fileIsGiven) logPath else (logPath + File.separator + "$COMPILE_DAEMON_DEFAULT_FILES_PREFIX.$logTime.%u%g.log")}\n" +
+ "java.util.logging.FileHandler.pattern = ${if (fileIsGiven) logPath else (logPath + File.separator + "${COMPILE_DAEMON_DEFAULT_FILES_PREFIX}.$logTime.%u%g.log")}\n" +
"java.util.logging.SimpleFormatter.format = %1\$tF %1\$tT.%1\$tL [%3\$s] %4\$s: %5\$s\\n\n"
LogManager.getLogManager().readConfiguration(cfg.byteInputStream())
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileServiceImpl.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
similarity index 97%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileServiceImpl.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
index c67b1509785..92fb161fb06 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/CompileServiceImpl.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/CompileServiceImpl.kt
@@ -14,15 +14,16 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
+import com.intellij.openapi.vfs.impl.ZipHandler
import org.jetbrains.kotlin.cli.common.CLICompiler
import org.jetbrains.kotlin.cli.common.ExitCode
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.config.Services
+import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
-import org.jetbrains.kotlin.rmi.*
import org.jetbrains.kotlin.utils.addToStdlib.check
import java.io.BufferedOutputStream
import java.io.File
@@ -116,9 +117,9 @@ class CompileServiceImpl(
val runFileDir = File(daemonOptions.runFilesPathOrDefault)
runFileDir.mkdirs()
runFile = File(runFileDir,
- makeRunFilenameString(timestamp = "%tFT% = ifAlive { usedMemory(withGC = true) }
- override fun shutdown(): CompileService.CallResult = ifAliveExclusive_Nothing(minAliveness = Aliveness.LastSession, ignoreCompilerChanged = true) {
+ override fun shutdown(): CompileService.CallResult = ifAliveExclusive_Nothing(minAliveness = Aliveness.LastSession, ignoreCompilerChanged = true) {
shutdownImpl()
}
@@ -301,7 +302,7 @@ class CompileServiceImpl(
}.forEach { releaseCompileSession(it) }
// 3. check if in graceful shutdown state and all sessions are closed
- if (shutdownCondition({state.alive.get() == Aliveness.LastSession.ordinal && state.sessions.none()}, "All sessions finished, shutting down")) {
+ if (shutdownCondition({ state.alive.get() == Aliveness.LastSession.ordinal && state.sessions.none()}, "All sessions finished, shutting down")) {
shutdown()
}
@@ -478,7 +479,7 @@ class CompileServiceImpl(
}
private fun clearJarCache() {
- com.intellij.openapi.vfs.impl.ZipHandler.clearFileAccessorCache()
+ ZipHandler.clearFileAccessorCache()
val classloader = javaClass.classLoader
// TODO: replace the following code with direct call to CoreJarFileSystem. as soon as it will be available (hopefully in 15.02)
try {
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/LazyClasspathWatcher.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/LazyClasspathWatcher.kt
similarity index 99%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/LazyClasspathWatcher.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/LazyClasspathWatcher.kt
index 1c3e0be74e1..49f360f2e0c 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/LazyClasspathWatcher.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/LazyClasspathWatcher.kt
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
import java.io.File
import java.io.IOException
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteCompilationCanceledStatusClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteCompilationCanceledStatusClient.kt
similarity index 85%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteCompilationCanceledStatusClient.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteCompilationCanceledStatusClient.kt
index d3f9a430cb0..ae00af4aba4 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteCompilationCanceledStatusClient.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteCompilationCanceledStatusClient.kt
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
-import org.jetbrains.kotlin.rmi.CompilerCallbackServicesFacade
-import org.jetbrains.kotlin.rmi.DummyProfiler
-import org.jetbrains.kotlin.rmi.Profiler
+import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
+import org.jetbrains.kotlin.daemon.common.DummyProfiler
+import org.jetbrains.kotlin.daemon.common.Profiler
import java.util.concurrent.TimeUnit
val CANCELED_STATUS_CHECK_THRESHOLD_NS = TimeUnit.MILLISECONDS.toNanos(100)
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCacheClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCacheClient.kt
similarity index 91%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCacheClient.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCacheClient.kt
index d23cb2d11ad..dec93c891e5 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCacheClient.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCacheClient.kt
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
import org.jetbrains.kotlin.load.kotlin.incremental.components.JvmPackagePartProto
import org.jetbrains.kotlin.modules.TargetId
-import org.jetbrains.kotlin.rmi.CompilerCallbackServicesFacade
-import org.jetbrains.kotlin.rmi.DummyProfiler
-import org.jetbrains.kotlin.rmi.Profiler
+import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
+import org.jetbrains.kotlin.daemon.common.DummyProfiler
+import org.jetbrains.kotlin.daemon.common.Profiler
class RemoteIncrementalCacheClient(val facade: CompilerCallbackServicesFacade, val target: TargetId, val profiler: Profiler = DummyProfiler()): IncrementalCache {
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCompilationComponentsClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCompilationComponentsClient.kt
similarity index 86%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCompilationComponentsClient.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCompilationComponentsClient.kt
index 771c3ce900c..8c4eaf78399 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteIncrementalCompilationComponentsClient.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteIncrementalCompilationComponentsClient.kt
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
import org.jetbrains.kotlin.incremental.components.LookupTracker
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCache
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.modules.TargetId
-import org.jetbrains.kotlin.rmi.CompilerCallbackServicesFacade
-import org.jetbrains.kotlin.rmi.DummyProfiler
-import org.jetbrains.kotlin.rmi.Profiler
+import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
+import org.jetbrains.kotlin.daemon.common.DummyProfiler
+import org.jetbrains.kotlin.daemon.common.Profiler
class RemoteIncrementalCompilationComponentsClient(val facade: CompilerCallbackServicesFacade, eventManger: EventManger, val profiler: Profiler = DummyProfiler()) : IncrementalCompilationComponents {
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteLookupTrackerClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt
similarity index 89%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteLookupTrackerClient.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt
index eb11eddf7fa..3599055250c 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteLookupTrackerClient.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteLookupTrackerClient.kt
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
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.rmi.CompilerCallbackServicesFacade
-import org.jetbrains.kotlin.rmi.DummyProfiler
-import org.jetbrains.kotlin.rmi.Profiler
+import org.jetbrains.kotlin.daemon.common.CompilerCallbackServicesFacade
+import org.jetbrains.kotlin.daemon.common.DummyProfiler
+import org.jetbrains.kotlin.daemon.common.Profiler
class RemoteLookupTrackerClient(val facade: CompilerCallbackServicesFacade, val eventManger: EventManger, val profiler: Profiler = DummyProfiler()) : LookupTracker {
diff --git a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteOutputStreamClient.kt b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteOutputStreamClient.kt
similarity index 84%
rename from compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteOutputStreamClient.kt
rename to compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteOutputStreamClient.kt
index 061be42c16a..7af18cd681b 100644
--- a/compiler/rmi/rmi-server/src/org/jetbrains/kotlin/rmi/service/RemoteOutputStreamClient.kt
+++ b/compiler/daemon/src/org/jetbrains/kotlin/daemon/RemoteOutputStreamClient.kt
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package org.jetbrains.kotlin.rmi.service
+package org.jetbrains.kotlin.daemon
-import org.jetbrains.kotlin.rmi.DummyProfiler
-import org.jetbrains.kotlin.rmi.Profiler
-import org.jetbrains.kotlin.rmi.RemoteOutputStream
+import org.jetbrains.kotlin.daemon.common.DummyProfiler
+import org.jetbrains.kotlin.daemon.common.Profiler
+import org.jetbrains.kotlin.daemon.common.RemoteOutputStream
import java.io.OutputStream
class RemoteOutputStreamClient(val remote: RemoteOutputStream, val profiler: Profiler = DummyProfiler()): OutputStream() {
diff --git a/compiler/tests/compiler-tests.iml b/compiler/tests/compiler-tests.iml
index 5448f557960..a61f976a227 100644
--- a/compiler/tests/compiler-tests.iml
+++ b/compiler/tests/compiler-tests.iml
@@ -26,7 +26,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt
index fe07942c725..4f89c716305 100644
--- a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt
+++ b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt
@@ -16,12 +16,11 @@
package org.jetbrains.kotlin.daemon
-import junit.framework.TestCase
import org.jetbrains.kotlin.cli.CliBaseTest
import org.jetbrains.kotlin.integration.KotlinIntegrationTestBase
-import org.jetbrains.kotlin.rmi.*
-import org.jetbrains.kotlin.rmi.kotlinr.DaemonReportingTargets
-import org.jetbrains.kotlin.rmi.kotlinr.KotlinCompilerClient
+import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets
+import org.jetbrains.kotlin.daemon.client.KotlinCompilerClient
+import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.ByteArrayOutputStream
import java.io.File
@@ -39,7 +38,7 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val compilerClassPath = listOf(
File(KotlinIntegrationTestBase.getCompilerLib(), "kotlin-compiler.jar"))
- val daemonClientClassPath = listOf( File(KotlinIntegrationTestBase.getCompilerLib(), "kotlinr.jar"),
+ val daemonClientClassPath = listOf( File(KotlinIntegrationTestBase.getCompilerLib(), "kotlin-daemon-client.jar"),
File(KotlinIntegrationTestBase.getCompilerLib(), "kotlin-compiler.jar"))
val compilerId by lazy(LazyThreadSafetyMode.NONE) { CompilerId.makeCompilerId(compilerClassPath) }
@@ -76,7 +75,7 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val logFile = createTempFile("kotlin-daemon-test.", ".log")
- val daemonJVMOptions = configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile.loggerCompatiblePath}\"",
+ val daemonJVMOptions = configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
var daemonShotDown = false
@@ -154,11 +153,11 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val logFile1 = createTempFile("kotlin-daemon1-test", ".log")
val logFile2 = createTempFile("kotlin-daemon2-test", ".log")
val daemonJVMOptions1 =
- configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile1.loggerCompatiblePath}\"",
+ configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile1.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
val daemonJVMOptions2 =
- configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile2.loggerCompatiblePath}\"",
+ configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile2.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
assertTrue(logFile1.length() == 0L && logFile2.length() == 0L)
@@ -193,7 +192,7 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val logFile = createTempFile("kotlin-daemon-test", ".log")
val daemonJVMOptions =
- configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile.loggerCompatiblePath}\"",
+ configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
val daemon = KotlinCompilerClient.connectToCompileService(compilerId, flagFile, daemonJVMOptions, daemonOptions, DaemonReportingTargets(out = System.err), autostart = true)
@@ -220,7 +219,7 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val logFile = createTempFile("kotlin-daemon-test", ".log")
val daemonJVMOptions =
- configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile.loggerCompatiblePath}\"",
+ configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
val daemon = KotlinCompilerClient.connectToCompileService(compilerId, flagFile, daemonJVMOptions, daemonOptions, DaemonReportingTargets(out = System.err), autostart = true)
@@ -252,7 +251,7 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val logFile = createTempFile("kotlin-daemon-test", ".log")
val daemonJVMOptions =
- configureDaemonJVMOptions("D$COMPILE_DAEMON_LOG_PATH_PROPERTY=\"${logFile.loggerCompatiblePath}\"",
+ configureDaemonJVMOptions("D${COMPILE_DAEMON_LOG_PATH_PROPERTY}=\"${logFile.loggerCompatiblePath}\"",
inheritMemoryLimits = false, inheritAdditionalProperties = false)
val daemon = KotlinCompilerClient.connectToCompileService(compilerId, flagFile, daemonJVMOptions, daemonOptions, DaemonReportingTargets(out = System.err), autostart = true)
@@ -298,11 +297,11 @@ public class CompilerDaemonTest : KotlinIntegrationTestBase() {
val daemonOptions = DaemonOptions(runFilesPath = runFilesPath)
val jar = tmpdir.absolutePath + File.separator + "hello.jar"
val args = listOf(
- File(File(System.getProperty("java.home"), "bin"), "java").absolutePath,
- "-D$COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY",
- "-cp",
- daemonClientClassPath.joinToString(File.pathSeparator) { it.absolutePath },
- KotlinCompilerClient::class.qualifiedName!!) +
+ File(File(System.getProperty("java.home"), "bin"), "java").absolutePath,
+ "-D${COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY}",
+ "-cp",
+ daemonClientClassPath.joinToString(File.pathSeparator) { it.absolutePath },
+ KotlinCompilerClient::class.qualifiedName!!) +
daemonOptions.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) } +
compilerId.mappers.flatMap { it.toArgs(COMPILE_DAEMON_CMDLINE_OPTIONS_PREFIX) } +
File(getHelloAppBaseDir(), "hello.kt").absolutePath +
diff --git a/idea/idea.iml b/idea/idea.iml
index dbf72261b73..9e4d220800d 100644
--- a/idea/idea.iml
+++ b/idea/idea.iml
@@ -48,7 +48,7 @@
-
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt
index d8e56b8d09d..c3b15f1efea 100644
--- a/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/compiler/configuration/KotlinBuildProcessParametersProvider.kt
@@ -32,7 +32,7 @@ public class KotlinBuildProcessParametersProvider(private val compilerWorkspaceS
}
kotlinPluginStartupComponent.aliveFlagPath.let {
if (!it.isBlank()) {
- // TODO: consider taking the property name from compiler/rmi-interface (check whether dependency will be not too heavy)
+ // TODO: consider taking the property name from compiler/daemon/common (check whether dependency will be not too heavy)
res.add("-Dkotlin.daemon.client.alive.path=\"$it\"")
}
}
diff --git a/jps-plugin/jps-plugin.iml b/jps-plugin/jps-plugin.iml
index cceadef5599..7e51764c54e 100644
--- a/jps-plugin/jps-plugin.iml
+++ b/jps-plugin/jps-plugin.iml
@@ -20,7 +20,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.kt b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.kt
index 7c8fb1d0139..71137f0051d 100644
--- a/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.kt
+++ b/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.kt
@@ -28,12 +28,15 @@ import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.ERROR
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity.INFO
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.cli.common.messages.MessageCollectorUtil
+import org.jetbrains.kotlin.daemon.client.CompilationServices
+import org.jetbrains.kotlin.daemon.client.DaemonReportMessage
+import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets
+import org.jetbrains.kotlin.daemon.client.KotlinCompilerClient
import org.jetbrains.kotlin.config.CompilerSettings
+import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.jps.build.KotlinBuilder
import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
-import org.jetbrains.kotlin.rmi.*
-import org.jetbrains.kotlin.rmi.kotlinr.*
import java.io.*
import java.lang.reflect.Field
import java.lang.reflect.Modifier
diff --git a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
index 0e5f7a9b60f..640a60dbb86 100644
--- a/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
+++ b/jps-plugin/src/org/jetbrains/kotlin/jps/build/KotlinBuilder.kt
@@ -65,7 +65,7 @@ import org.jetbrains.kotlin.modules.TargetId
import org.jetbrains.kotlin.progress.CompilationCanceledException
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
import org.jetbrains.kotlin.resolve.jvm.JvmClassName
-import org.jetbrains.kotlin.rmi.isDaemonEnabled
+import org.jetbrains.kotlin.daemon.common.isDaemonEnabled
import org.jetbrains.kotlin.utils.LibraryUtils
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.keysToMap
diff --git a/jps-plugin/test/org/jetbrains/kotlin/jps/build/SimpleKotlinJpsBuildTest.kt b/jps-plugin/test/org/jetbrains/kotlin/jps/build/SimpleKotlinJpsBuildTest.kt
index 5f4127160a0..fc1ab6d2052 100644
--- a/jps-plugin/test/org/jetbrains/kotlin/jps/build/SimpleKotlinJpsBuildTest.kt
+++ b/jps-plugin/test/org/jetbrains/kotlin/jps/build/SimpleKotlinJpsBuildTest.kt
@@ -18,7 +18,7 @@ package org.jetbrains.kotlin.jps.build
import com.intellij.util.PathUtil
import org.jetbrains.jps.model.java.JpsJavaExtensionService
-import org.jetbrains.kotlin.rmi.*
+import org.jetbrains.kotlin.daemon.common.*
import org.jetbrains.kotlin.test.KotlinTestUtils
import java.io.File
@@ -66,7 +66,7 @@ public class SimpleKotlinJpsBuildTest : AbstractKotlinJpsBuildTestCase() {
// TODO: add JS tests
public fun testDaemon() {
- System.setProperty(COMPILE_DAEMON_ENABLED_PROPERTY,"")
+ System.setProperty(COMPILE_DAEMON_ENABLED_PROPERTY, "")
System.setProperty(COMPILE_DAEMON_VERBOSE_REPORT_PROPERTY, "")
// spaces in the name to test proper file name handling
val flagFile = File.createTempFile("kotlin-jps - tests-", "-is-running");