File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed
src/main/kotlin/kscript/app Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change 11package kscript.app
22
33import kscript.app.ShellUtils.requireInPath
4- import java.io.BufferedReader
5- import java.io.File
6- import java.io.InputStream
7- import java.io.InputStreamReader
4+ import java.io.*
85import java.net.URL
96import java.nio.file.Files
107import java.nio.file.Paths
@@ -256,11 +253,19 @@ buildscript {
256253
257254 File (tmpProjectDir, " build.gradle" ).writeText(gradleScript)
258255
259- // also copy script reource in
260- File (tmpProjectDir, " src" ).apply {
256+ // also copy/symlink script resource in
257+ File (tmpProjectDir, " src" ).run {
261258 mkdir()
262- scriptFile.copyTo(File (this , scriptFile.name))
263259
260+ val tmpProjectScript = File (this , scriptFile.name)
261+
262+ // https://stackoverflow.com/questions/17926459/creating-a-symbolic-link-with-java
263+ try {
264+ Files .createSymbolicLink(tmpProjectScript.toPath(), scriptFile.toPath());
265+ } catch (e: IOException ) {
266+ errorMsg(" Failed to create symbolic link to script. Copying instead..." )
267+ scriptFile.copyTo(tmpProjectScript)
268+ }
264269 }
265270
266271 return " idea ${tmpProjectDir.absolutePath} "
You can’t perform that action at this time.
0 commit comments