Fix compilation of kotlin-script-util
'check' was removed in 579238c3be
This commit is contained in:
+1
-4
@@ -21,10 +21,7 @@ import org.jetbrains.kotlin.script.util.resolvers.DirectResolver
|
|||||||
import org.jetbrains.kotlin.script.util.resolvers.FlatLibDirectoryResolver
|
import org.jetbrains.kotlin.script.util.resolvers.FlatLibDirectoryResolver
|
||||||
import org.jetbrains.kotlin.script.util.resolvers.MavenResolver
|
import org.jetbrains.kotlin.script.util.resolvers.MavenResolver
|
||||||
import org.jetbrains.kotlin.script.util.resolvers.Resolver
|
import org.jetbrains.kotlin.script.util.resolvers.Resolver
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.Exception
|
|
||||||
import java.lang.IllegalArgumentException
|
|
||||||
import java.util.concurrent.Future
|
import java.util.concurrent.Future
|
||||||
|
|
||||||
open class KotlinAnnotatedScriptDependenciesResolver(val baseClassPath: List<File>, resolvers: Iterable<Resolver>)
|
open class KotlinAnnotatedScriptDependenciesResolver(val baseClassPath: List<File>, resolvers: Iterable<Resolver>)
|
||||||
@@ -53,7 +50,7 @@ open class KotlinAnnotatedScriptDependenciesResolver(val baseClassPath: List<Fil
|
|||||||
script.annotations.forEach { annotation ->
|
script.annotations.forEach { annotation ->
|
||||||
when (annotation) {
|
when (annotation) {
|
||||||
is Repository -> FlatLibDirectoryResolver.tryCreate(annotation)?.apply { resolvers.add(this) }
|
is Repository -> FlatLibDirectoryResolver.tryCreate(annotation)?.apply { resolvers.add(this) }
|
||||||
?: resolvers.find { it is MavenResolver }?.check { (it as MavenResolver).tryAddRepo(annotation) }
|
?: resolvers.find { it is MavenResolver }?.takeIf { (it as MavenResolver).tryAddRepo(annotation) }
|
||||||
?: throw IllegalArgumentException("Illegal argument for Repository annotation: $annotation")
|
?: throw IllegalArgumentException("Illegal argument for Repository annotation: $annotation")
|
||||||
is DependsOn -> {}
|
is DependsOn -> {}
|
||||||
is InvalidScriptResolverAnnotation -> throw Exception("Invalid annotation ${annotation.name}", annotation.error)
|
is InvalidScriptResolverAnnotation -> throw Exception("Invalid annotation ${annotation.name}", annotation.error)
|
||||||
|
|||||||
+3
-5
@@ -18,9 +18,7 @@ package org.jetbrains.kotlin.script.util.resolvers
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.script.util.DependsOn
|
import org.jetbrains.kotlin.script.util.DependsOn
|
||||||
import org.jetbrains.kotlin.script.util.Repository
|
import org.jetbrains.kotlin.script.util.Repository
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.lang.IllegalArgumentException
|
|
||||||
|
|
||||||
interface Resolver {
|
interface Resolver {
|
||||||
fun tryResolve(dependsOn: DependsOn): Iterable<File>?
|
fun tryResolve(dependsOn: DependsOn): Iterable<File>?
|
||||||
@@ -28,7 +26,7 @@ interface Resolver {
|
|||||||
|
|
||||||
class DirectResolver : Resolver {
|
class DirectResolver : Resolver {
|
||||||
override fun tryResolve(dependsOn: DependsOn): Iterable<File>? =
|
override fun tryResolve(dependsOn: DependsOn): Iterable<File>? =
|
||||||
dependsOn.value.check(String::isNotBlank)?.let(::File)?.check { it.exists() && (it.isFile || it.isDirectory) }?.let { listOf(it) }
|
dependsOn.value.takeUnless(String::isBlank)?.let(::File)?.takeIf { it.exists() && (it.isFile || it.isDirectory) }?.let { listOf(it) }
|
||||||
}
|
}
|
||||||
|
|
||||||
class FlatLibDirectoryResolver(val path: File) : Resolver {
|
class FlatLibDirectoryResolver(val path: File) : Resolver {
|
||||||
@@ -39,10 +37,10 @@ class FlatLibDirectoryResolver(val path: File) : Resolver {
|
|||||||
|
|
||||||
override fun tryResolve(dependsOn: DependsOn): Iterable<File>? =
|
override fun tryResolve(dependsOn: DependsOn): Iterable<File>? =
|
||||||
// TODO: add coordinates and wildcard matching
|
// TODO: add coordinates and wildcard matching
|
||||||
dependsOn.value.check(String::isNotBlank)?.let{ File(path, it) }?.check { it.exists() && (it.isFile || it.isDirectory) }?.let { listOf(it) }
|
dependsOn.value.takeUnless(String::isBlank)?.let { File(path, it) }?.takeIf { it.exists() && (it.isFile || it.isDirectory) }?.let { listOf(it) }
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun tryCreate(annotation: Repository): FlatLibDirectoryResolver? =
|
fun tryCreate(annotation: Repository): FlatLibDirectoryResolver? =
|
||||||
annotation.value.check(String::isNotBlank)?.let(::File)?.check { it.exists() && it.isDirectory }?.let(::FlatLibDirectoryResolver)
|
annotation.value.takeUnless(String::isBlank)?.let(::File)?.takeIf { it.exists() && it.isDirectory }?.let(::FlatLibDirectoryResolver)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+5
-7
@@ -21,16 +21,14 @@ package org.jetbrains.kotlin.script.util.resolvers
|
|||||||
import com.jcabi.aether.Aether
|
import com.jcabi.aether.Aether
|
||||||
import org.jetbrains.kotlin.script.util.DependsOn
|
import org.jetbrains.kotlin.script.util.DependsOn
|
||||||
import org.jetbrains.kotlin.script.util.Repository
|
import org.jetbrains.kotlin.script.util.Repository
|
||||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
|
||||||
import org.jetbrains.kotlin.utils.rethrow
|
|
||||||
import java.io.File
|
|
||||||
import java.util.*
|
|
||||||
import org.sonatype.aether.repository.RemoteRepository
|
import org.sonatype.aether.repository.RemoteRepository
|
||||||
import org.sonatype.aether.resolution.DependencyResolutionException
|
import org.sonatype.aether.resolution.DependencyResolutionException
|
||||||
import org.sonatype.aether.util.artifact.DefaultArtifact
|
import org.sonatype.aether.util.artifact.DefaultArtifact
|
||||||
import org.sonatype.aether.util.artifact.JavaScopes
|
import org.sonatype.aether.util.artifact.JavaScopes
|
||||||
|
import java.io.File
|
||||||
import java.net.MalformedURLException
|
import java.net.MalformedURLException
|
||||||
import java.net.URL
|
import java.net.URL
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
val mavenCentral = RemoteRepository("maven-central", "default", "http://repo1.maven.org/maven2/")
|
val mavenCentral = RemoteRepository("maven-central", "default", "http://repo1.maven.org/maven2/")
|
||||||
|
|
||||||
@@ -51,7 +49,7 @@ class MavenResolver(val reportError: ((String) -> Unit)? = null): Resolver {
|
|||||||
reportError?.invoke(msg) ?: throw RuntimeException(msg)
|
reportError?.invoke(msg) ?: throw RuntimeException(msg)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun String?.orNullIfBlank(): String? = this?.check(String::isNotBlank)
|
fun String?.orNullIfBlank(): String? = this?.takeUnless(String::isBlank)
|
||||||
|
|
||||||
val artifactId: DefaultArtifact = when {
|
val artifactId: DefaultArtifact = when {
|
||||||
dependsOn.groupId.isValidParam() || dependsOn.artifactId.isValidParam() -> {
|
dependsOn.groupId.isValidParam() || dependsOn.artifactId.isValidParam() -> {
|
||||||
@@ -75,13 +73,13 @@ class MavenResolver(val reportError: ((String) -> Unit)? = null): Resolver {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (e: DependencyResolutionException) {
|
catch (e: DependencyResolutionException) {
|
||||||
reportError?.invoke("resolving ${artifactId.artifactId} failed: $e") ?: rethrow(e)
|
reportError?.invoke("resolving ${artifactId.artifactId} failed: $e") ?: throw e
|
||||||
}
|
}
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
fun tryAddRepo(annotation: Repository): Boolean {
|
fun tryAddRepo(annotation: Repository): Boolean {
|
||||||
val urlStr = annotation.url.check { it.isValidParam() } ?: annotation.value.check { it.isValidParam() } ?: return false
|
val urlStr = annotation.url.takeIf { it.isValidParam() } ?: annotation.value.takeIf { it.isValidParam() } ?: return false
|
||||||
try {
|
try {
|
||||||
URL(urlStr)
|
URL(urlStr)
|
||||||
} catch (_: MalformedURLException) {
|
} catch (_: MalformedURLException) {
|
||||||
|
|||||||
Reference in New Issue
Block a user