Fix compilation of kotlin-script-util

'check' was removed in 579238c3be
This commit is contained in:
Alexander Udalov
2017-03-23 11:44:11 +03:00
parent 84c473d800
commit ccfa42289c
3 changed files with 9 additions and 16 deletions
@@ -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)
@@ -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)
}
}
@@ -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) {