Move daemon session flag files to daemon discovery dir by default + minor fixes:

- Move flag files from the temp dir, because right now JPS cleans temp dir on each build start. Should fix KT-15707, also may affect KT-15562.
- change compiler runner to allow the fix above
- Fix flag file name filtering
- Fix ifAlive handling on the new compile method in the daemon.
This commit is contained in:
Ilya Chernikov
2017-01-27 19:49:43 +01:00
parent ddbb476211
commit 7c0cdf90cf
5 changed files with 12 additions and 13 deletions
@@ -81,10 +81,10 @@ private inline fun tryConnectToDaemon(port: Int, report: (DaemonReportCategory,
return null
}
private const val validFlagFileKeywordChars = "abcdefghijklmnopqrstuvwxyz0123456789-_"
fun makeAutodeletingFlagFile(keyword: String = "compiler-client"): File {
val validChars = "^a-zA-Z0-9-_"
val flagFile = File.createTempFile("kotlin-${keyword.filter { validChars.contains(it) }}-", "-is-running")
fun makeAutodeletingFlagFile(keyword: String = "compiler-client", baseDir: File? = null): File {
val flagFile = File.createTempFile("kotlin-${keyword.filter { validFlagFileKeywordChars.contains(it.toLowerCase()) }}-", "-is-running", baseDir?.takeIf { it.isDirectory && it.exists() })
flagFile.deleteOnExit()
return flagFile
}