Skip to content

Commit 59e764f

Browse files
committed
added kotlin-scripting resolver example
1 parent 9802d51 commit 59e764f

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

IntegrationTest345.main.kts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
@file:Repository("https://repo.maven.apache.org/maven2")
2+
3+
@file:DependsOn("org.jetbrains.kotlin:kotlin-scripting-jvm:1.6.20")
4+
@file:DependsOn("org.jetbrains.kotlin:kotlin-scripting-dependencies:1.6.20")
5+
@file:DependsOn("org.jetbrains.kotlin:kotlin-scripting-dependencies-maven:1.6.20")
6+
@file:DependsOn("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0")
7+
//@file:DependsOn("org.jetbrains.kotlin:kotlin-scripting-jvm")
8+
9+
import java.io.File
10+
import kotlin.script.experimental.api.valueOrNull
11+
import kotlin.script.experimental.dependencies.CompoundDependenciesResolver
12+
import kotlin.script.experimental.dependencies.FileSystemDependenciesResolver
13+
import kotlin.script.experimental.dependencies.RepositoryCoordinates
14+
import kotlin.script.experimental.dependencies.maven.MavenDependenciesResolver
15+
import kotlinx.coroutines.runBlocking
16+
17+
18+
// clear .m2 cache
19+
// val log4jCached = File(System.getProperty("user.home"), ".m2/repository/log4j/log4j/1.2.14/")
20+
val cachedM2 = File(System.getProperty("user.home"), ".m2/repository/com/beust")
21+
22+
if (cachedM2.isDirectory) {
23+
System.err.println("Cleaning up cached .m2 copy of klaxon")
24+
cachedM2.deleteRecursively()
25+
}
26+
27+
val mvnResolver = MavenDependenciesResolver().apply {
28+
addRepository(RepositoryCoordinates("https://repo.maven.apache.org/maven2"))
29+
}
30+
31+
val resolver = CompoundDependenciesResolver(FileSystemDependenciesResolver(), mvnResolver)
32+
33+
// val resolve = resolver.resolve("log4j:log4j:1.2.14")
34+
runBlocking {
35+
val resolve = resolver.resolve("com.beust:klaxon:5.5")
36+
37+
println(resolve.valueOrNull())
38+
39+
// require(File(System.getProperty("user.home"), ".m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar").exists()){
40+
require(File(System.getProperty("user.home"), ".m2/repository/com/beust/klaxon/5.5/klaxon-5.5.jar").exists()){
41+
"failed to resolve dependency"
42+
}
43+
}

0 commit comments

Comments
 (0)