diff --git a/libraries/examples/scripting/jvm-maven-deps/script/src/org/jetbrains/kotlin/script/examples/jvm/resolve/maven/scriptDef.kt b/libraries/examples/scripting/jvm-maven-deps/script/src/org/jetbrains/kotlin/script/examples/jvm/resolve/maven/scriptDef.kt index a038cce8699..36ad216fac4 100644 --- a/libraries/examples/scripting/jvm-maven-deps/script/src/org/jetbrains/kotlin/script/examples/jvm/resolve/maven/scriptDef.kt +++ b/libraries/examples/scripting/jvm-maven-deps/script/src/org/jetbrains/kotlin/script/examples/jvm/resolve/maven/scriptDef.kt @@ -8,7 +8,6 @@ package org.jetbrains.kotlin.script.examples.jvm.resolve.maven import org.jetbrains.kotlin.script.util.DependsOn import org.jetbrains.kotlin.script.util.FilesAndMavenResolver import org.jetbrains.kotlin.script.util.Repository -import org.jetbrains.kotlin.script.util.scriptCompilationClasspathFromContext import java.io.File import kotlin.script.dependencies.ScriptContents import kotlin.script.dependencies.ScriptDependenciesResolver @@ -31,14 +30,10 @@ object MyConfiguration : ScriptingProperties() { include(jvmJavaHomeScriptingProperties) ScriptDefinitionProperties { defaultImports() - defaultImports() - dependencies( - JvmDependency( - scriptCompilationClasspathFromContext( - "scripting-jvm-maven-deps", // script library jar name - "kotlin-script-util" // DependsOn annotation is taken from script-util - ) - ) + defaultImports(Repository::class) + jvmDependenciesFromCurrentContext( + "scripting-jvm-maven-deps", // script library jar name + "kotlin-script-util" // DependsOn annotation is taken from script-util ) refineConfiguration { handler(MyConfigurator()) diff --git a/libraries/scripting/jvm/build.gradle.kts b/libraries/scripting/jvm/build.gradle.kts index f486fe15aea..bf03eb080a5 100644 --- a/libraries/scripting/jvm/build.gradle.kts +++ b/libraries/scripting/jvm/build.gradle.kts @@ -11,6 +11,7 @@ dependencies { compile(project(":kotlin-script-runtime")) compile(projectDist(":kotlin-stdlib")) compile(project(":kotlin-scripting-common")) + compile(project(":kotlin-script-util")) } sourceSets { diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmDependencies.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmDependencies.kt new file mode 100644 index 00000000000..0135241d7ad --- /dev/null +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmDependencies.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package kotlin.script.experimental.jvm + +import org.jetbrains.kotlin.script.util.scriptCompilationClasspathFromContext +import kotlin.script.experimental.api.ScriptDefinitionProperties +import kotlin.script.experimental.api.ScriptingProperties +import kotlin.script.experimental.api.addToListProperty + +fun ScriptingProperties.jvmDependenciesFromCurrentContext(vararg libraries: String, wholeClasspath: Boolean = false) { + jvmDependenciesFromClassloader(*libraries, wholeClasspath = wholeClasspath) +} + +fun ScriptingProperties.jvmDependenciesFromClassloader( + vararg libraries: String, + classLoader: ClassLoader = Thread.currentThread().contextClassLoader, + wholeClasspath: Boolean = false +) { + data.addToListProperty( + ScriptDefinitionProperties.dependencies, + JvmDependency(scriptCompilationClasspathFromContext(*libraries, classLoader = classLoader, wholeClasspath = wholeClasspath)) + ) +} diff --git a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptConfiguration.kt b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptConfiguration.kt index c099768fc54..1ea5696fbc4 100644 --- a/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptConfiguration.kt +++ b/libraries/scripting/jvm/src/kotlin/script/experimental/jvm/jvmScriptConfiguration.kt @@ -12,7 +12,10 @@ val jvmJavaHomeParams = with(JvmScriptCompileConfigurationProperties) { listOf(javaHomeDir to File(System.getProperty("java.home"))) } -object jvmJavaHomeScriptingProperties : ScriptingProperties( +object JvmJavaHomeScriptingProperties : ScriptingProperties( { JvmScriptCompileConfigurationProperties.javaHomeDir(File(System.getProperty("java.home"))) }) + +val jvmJavaHomeScriptingProperties = JvmJavaHomeScriptingProperties +