Add helpers for jvm dependencies from context
This commit is contained in:
+4
-9
@@ -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.DependsOn
|
||||||
import org.jetbrains.kotlin.script.util.FilesAndMavenResolver
|
import org.jetbrains.kotlin.script.util.FilesAndMavenResolver
|
||||||
import org.jetbrains.kotlin.script.util.Repository
|
import org.jetbrains.kotlin.script.util.Repository
|
||||||
import org.jetbrains.kotlin.script.util.scriptCompilationClasspathFromContext
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.script.dependencies.ScriptContents
|
import kotlin.script.dependencies.ScriptContents
|
||||||
import kotlin.script.dependencies.ScriptDependenciesResolver
|
import kotlin.script.dependencies.ScriptDependenciesResolver
|
||||||
@@ -31,14 +30,10 @@ object MyConfiguration : ScriptingProperties() {
|
|||||||
include(jvmJavaHomeScriptingProperties)
|
include(jvmJavaHomeScriptingProperties)
|
||||||
ScriptDefinitionProperties {
|
ScriptDefinitionProperties {
|
||||||
defaultImports<DependsOn>()
|
defaultImports<DependsOn>()
|
||||||
defaultImports<Repository>()
|
defaultImports(Repository::class)
|
||||||
dependencies(
|
jvmDependenciesFromCurrentContext(
|
||||||
JvmDependency(
|
"scripting-jvm-maven-deps", // script library jar name
|
||||||
scriptCompilationClasspathFromContext(
|
"kotlin-script-util" // DependsOn annotation is taken from script-util
|
||||||
"scripting-jvm-maven-deps", // script library jar name
|
|
||||||
"kotlin-script-util" // DependsOn annotation is taken from script-util
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
refineConfiguration {
|
refineConfiguration {
|
||||||
handler(MyConfigurator())
|
handler(MyConfigurator())
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ dependencies {
|
|||||||
compile(project(":kotlin-script-runtime"))
|
compile(project(":kotlin-script-runtime"))
|
||||||
compile(projectDist(":kotlin-stdlib"))
|
compile(projectDist(":kotlin-stdlib"))
|
||||||
compile(project(":kotlin-scripting-common"))
|
compile(project(":kotlin-scripting-common"))
|
||||||
|
compile(project(":kotlin-script-util"))
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
|
|||||||
@@ -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))
|
||||||
|
)
|
||||||
|
}
|
||||||
+4
-1
@@ -12,7 +12,10 @@ val jvmJavaHomeParams = with(JvmScriptCompileConfigurationProperties) {
|
|||||||
listOf(javaHomeDir to File(System.getProperty("java.home")))
|
listOf(javaHomeDir to File(System.getProperty("java.home")))
|
||||||
}
|
}
|
||||||
|
|
||||||
object jvmJavaHomeScriptingProperties : ScriptingProperties(
|
object JvmJavaHomeScriptingProperties : ScriptingProperties(
|
||||||
{
|
{
|
||||||
JvmScriptCompileConfigurationProperties.javaHomeDir(File(System.getProperty("java.home")))
|
JvmScriptCompileConfigurationProperties.javaHomeDir(File(System.getProperty("java.home")))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
val jvmJavaHomeScriptingProperties = JvmJavaHomeScriptingProperties
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user