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.MavenResolver
|
||||
import org.jetbrains.kotlin.script.util.resolvers.Resolver
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
||||
import java.io.File
|
||||
import java.lang.Exception
|
||||
import java.lang.IllegalArgumentException
|
||||
import java.util.concurrent.Future
|
||||
|
||||
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 ->
|
||||
when (annotation) {
|
||||
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")
|
||||
is DependsOn -> {}
|
||||
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.Repository
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.check
|
||||
import java.io.File
|
||||
import java.lang.IllegalArgumentException
|
||||
|
||||
interface Resolver {
|
||||
fun tryResolve(dependsOn: DependsOn): Iterable<File>?
|
||||
@@ -28,7 +26,7 @@ interface Resolver {
|
||||
|
||||
class DirectResolver : Resolver {
|
||||
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 {
|
||||
@@ -39,10 +37,10 @@ class FlatLibDirectoryResolver(val path: File) : Resolver {
|
||||
|
||||
override fun tryResolve(dependsOn: DependsOn): Iterable<File>? =
|
||||
// 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 {
|
||||
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 org.jetbrains.kotlin.script.util.DependsOn
|
||||
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.resolution.DependencyResolutionException
|
||||
import org.sonatype.aether.util.artifact.DefaultArtifact
|
||||
import org.sonatype.aether.util.artifact.JavaScopes
|
||||
import java.io.File
|
||||
import java.net.MalformedURLException
|
||||
import java.net.URL
|
||||
import java.util.*
|
||||
|
||||
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)
|
||||
}
|
||||
|
||||
fun String?.orNullIfBlank(): String? = this?.check(String::isNotBlank)
|
||||
fun String?.orNullIfBlank(): String? = this?.takeUnless(String::isBlank)
|
||||
|
||||
val artifactId: DefaultArtifact = when {
|
||||
dependsOn.groupId.isValidParam() || dependsOn.artifactId.isValidParam() -> {
|
||||
@@ -75,13 +73,13 @@ class MavenResolver(val reportError: ((String) -> Unit)? = null): Resolver {
|
||||
}
|
||||
}
|
||||
catch (e: DependencyResolutionException) {
|
||||
reportError?.invoke("resolving ${artifactId.artifactId} failed: $e") ?: rethrow(e)
|
||||
reportError?.invoke("resolving ${artifactId.artifactId} failed: $e") ?: throw e
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
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 {
|
||||
URL(urlStr)
|
||||
} catch (_: MalformedURLException) {
|
||||
|
||||
Reference in New Issue
Block a user