Sorting default jvm props and basic implementations
This commit is contained in:
+4
-13
@@ -10,25 +10,16 @@ import java.io.File
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.definitions.createScriptDefinitionFromAnnotatedBaseClass
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.DummyCompiledJvmScriptCache
|
||||
import kotlin.script.experimental.jvm.JvmBasicScriptingHost
|
||||
import kotlin.script.experimental.jvm.JvmGetScriptingClass
|
||||
import kotlin.script.experimental.jvm.JvmScriptCompiler
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
import kotlin.script.experimental.misc.invoke
|
||||
import kotlin.script.experimental.jvm.defaultJvmScriptingEnvironment
|
||||
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val environment = ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(environment), DummyCompiledJvmScriptCache())
|
||||
val scriptDefinition = createScriptDefinitionFromAnnotatedBaseClass(
|
||||
KotlinType(MyScriptWithMavenDeps::class),
|
||||
environment
|
||||
defaultJvmScriptingEnvironment
|
||||
)
|
||||
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, BasicJvmScriptEvaluator())
|
||||
val host = BasicJvmScriptingHost()
|
||||
|
||||
return host.eval(
|
||||
scriptFile.toScriptSource(), scriptDefinition, ScriptCompileConfiguration(), ScriptEvaluationEnvironment()
|
||||
|
||||
+4
-2
@@ -13,7 +13,10 @@ import kotlin.script.dependencies.ScriptContents
|
||||
import kotlin.script.dependencies.ScriptDependenciesResolver
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvm.JvmDependency
|
||||
import kotlin.script.experimental.jvm.compat.mapLegacyDiagnosticSeverity
|
||||
import kotlin.script.experimental.jvm.compat.mapLegacyScriptPosition
|
||||
import kotlin.script.experimental.jvm.jvmDependenciesFromCurrentContext
|
||||
import kotlin.script.experimental.misc.invoke
|
||||
|
||||
@KotlinScript(
|
||||
@@ -26,7 +29,6 @@ abstract class MyScriptWithMavenDeps {
|
||||
|
||||
object MyScriptProperties : ScriptingProperties() {
|
||||
override fun setup() {
|
||||
include(jvmJavaHomeScriptingProperties)
|
||||
scriptDefinition {
|
||||
defaultImports<DependsOn>()
|
||||
defaultImports(Repository::class)
|
||||
|
||||
+11
-18
@@ -6,36 +6,29 @@
|
||||
package org.jetbrains.kotlin.script.examples.jvm.simple.host
|
||||
|
||||
import org.jetbrains.kotlin.script.examples.jvm.simple.MyScript
|
||||
import org.jetbrains.kotlin.script.util.scriptCompilationClasspathFromContext
|
||||
import java.io.File
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.definitions.createScriptDefinitionFromAnnotatedBaseClass
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
import kotlin.script.experimental.misc.invoke
|
||||
|
||||
val myJvmConfigParams = jvmJavaHomeParams + with(ScriptDefinitionProperties) {
|
||||
listOf(
|
||||
dependencies(JvmDependency(scriptCompilationClasspathFromContext("scripting-jvm-simple-script" /* script library jar name */)))
|
||||
)
|
||||
}
|
||||
import kotlin.script.experimental.jvm.defaultJvmScriptingEnvironment
|
||||
import kotlin.script.experimental.jvm.jvmDependenciesFromCurrentContext
|
||||
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val environment = ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(environment), DummyCompiledJvmScriptCache())
|
||||
val scriptDefinition = createScriptDefinitionFromAnnotatedBaseClass(
|
||||
KotlinType(MyScript::class),
|
||||
environment
|
||||
defaultJvmScriptingEnvironment
|
||||
)
|
||||
val additionalCompilationProperties = buildScriptingProperties {
|
||||
jvmDependenciesFromCurrentContext(
|
||||
"scripting-jvm-simple-script" /* script library jar name */
|
||||
)
|
||||
}
|
||||
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, BasicJvmScriptEvaluator())
|
||||
val host = BasicJvmScriptingHost()
|
||||
|
||||
return host.eval(
|
||||
scriptFile.toScriptSource(), scriptDefinition, ScriptCompileConfiguration(myJvmConfigParams), ScriptEvaluationEnvironment()
|
||||
scriptFile.toScriptSource(), scriptDefinition, additionalCompilationProperties, ScriptEvaluationEnvironment()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user