Implement support for new script customizations in command line compiler

refactor and fix internals in many places to make it work
add appropriate tests for main-kts case
This commit is contained in:
Ilya Chernikov
2019-07-01 13:41:08 +02:00
parent 1ab255eafb
commit dc4370ff08
23 changed files with 477 additions and 272 deletions
@@ -23,7 +23,11 @@ import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvm.updateClasspath
@Suppress("unused")
@KotlinScript(fileExtension = "main.kts", compilationConfiguration = MainKtsScriptDefinition::class)
@KotlinScript(
fileExtension = "main.kts",
compilationConfiguration = MainKtsScriptDefinition::class,
evaluationConfiguration = MainKtsEvaluationConfiguration::class
)
abstract class MainKtsScript(val args: Array<String>)
object MainKtsScriptDefinition : ScriptCompilationConfiguration(
@@ -40,6 +44,12 @@ object MainKtsScriptDefinition : ScriptCompilationConfiguration(
}
})
object MainKtsEvaluationConfiguration : ScriptEvaluationConfiguration(
{
scriptsInstancesSharing(true)
}
)
class MainKtsConfigurator : RefineScriptCompilationConfigurationHandler {
private val resolver = FilesAndIvyResolver()