diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolve.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolve.kt index 6dbd71d6edf..78a6b6b4b12 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolve.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolve.kt @@ -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, resolvers: Iterable) @@ -53,7 +50,7 @@ open class KotlinAnnotatedScriptDependenciesResolver(val baseClassPath: List 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) diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/basic.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/basic.kt index 577abdf000d..3a93d235bec 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/basic.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/basic.kt @@ -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? @@ -28,7 +26,7 @@ interface Resolver { class DirectResolver : Resolver { override fun tryResolve(dependsOn: DependsOn): Iterable? = - 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? = // 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) } } diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/maven.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/maven.kt index 4f48b110a26..4457412ad65 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/maven.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/util/resolvers/maven.kt @@ -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) {