Use new kotlin.io.path API in generators
This commit is contained in:
@@ -27,7 +27,7 @@ val (interpreterSourceSet, interpreterApi) = extraSourceSet("interpreter")
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// for GeneratorsFileUtil
|
// for GeneratorsFileUtil
|
||||||
compile(kotlinStdlib())
|
compile(kotlinStdlib("jdk8"))
|
||||||
compile(intellijDep()) { includeJars("util") }
|
compile(intellijDep()) { includeJars("util") }
|
||||||
|
|
||||||
builtinsApi("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion") { isTransitive = false }
|
builtinsApi("org.jetbrains.kotlin:kotlin-stdlib:$bootstrapKotlinVersion") { isTransitive = false }
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ import com.intellij.openapi.util.SystemInfo
|
|||||||
import com.intellij.openapi.util.text.StringUtil
|
import com.intellij.openapi.util.text.StringUtil
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.nio.file.Files
|
import kotlin.io.path.*
|
||||||
import java.nio.file.StandardCopyOption
|
|
||||||
|
|
||||||
object GeneratorsFileUtil {
|
object GeneratorsFileUtil {
|
||||||
|
@OptIn(ExperimentalPathApi::class)
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
@Throws(IOException::class)
|
@Throws(IOException::class)
|
||||||
@@ -31,13 +31,14 @@ object GeneratorsFileUtil {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
val useTempFile = !SystemInfo.isWindows
|
val useTempFile = !SystemInfo.isWindows
|
||||||
|
val targetFile = file.toPath()
|
||||||
val tempFile =
|
val tempFile =
|
||||||
if (useTempFile) File(createTempDir(file.name), file.name + ".tmp") else file
|
if (useTempFile) createTempDirectory(targetFile.name) / "${targetFile.name}.tmp" else targetFile
|
||||||
tempFile.writeText(newText, Charsets.UTF_8)
|
tempFile.writeText(newText, Charsets.UTF_8)
|
||||||
println("File written: " + tempFile.absolutePath)
|
println("File written: ${tempFile.toAbsolutePath()}")
|
||||||
if (useTempFile) {
|
if (useTempFile) {
|
||||||
Files.move(tempFile.toPath(), file.toPath(), StandardCopyOption.REPLACE_EXISTING)
|
tempFile.moveTo(targetFile, overwrite = true)
|
||||||
println("Renamed $tempFile to $file")
|
println("Renamed $tempFile to $targetFile")
|
||||||
}
|
}
|
||||||
println()
|
println()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user