Add helpers for jvm dependencies from context

This commit is contained in:
Ilya Chernikov
2018-07-17 15:31:45 +02:00
parent 100b908a94
commit df870b47b8
4 changed files with 35 additions and 10 deletions
@@ -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<DependsOn>()
defaultImports<Repository>()
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())
+1
View File
@@ -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 {
@@ -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))
)
}
@@ -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