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