From 55a9f1a910586aec59b1684a0160c6385fc3f399 Mon Sep 17 00:00:00 2001 From: Ilya Muradyan Date: Mon, 17 May 2021 12:34:17 +0300 Subject: [PATCH] [Scripting] Make `AetherResolveSession` internal and do related refactorings --- .../dependencies/maven/impl/aether.kt | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/libraries/scripting/dependencies-maven/src/kotlin/script/experimental/dependencies/maven/impl/aether.kt b/libraries/scripting/dependencies-maven/src/kotlin/script/experimental/dependencies/maven/impl/aether.kt index 588b1cff386..25647d57b52 100644 --- a/libraries/scripting/dependencies-maven/src/kotlin/script/experimental/dependencies/maven/impl/aether.kt +++ b/libraries/scripting/dependencies-maven/src/kotlin/script/experimental/dependencies/maven/impl/aether.kt @@ -15,7 +15,6 @@ import org.codehaus.plexus.DefaultPlexusContainer import org.eclipse.aether.RepositorySystem import org.eclipse.aether.RepositorySystemSession import org.eclipse.aether.artifact.Artifact -import org.eclipse.aether.artifact.DefaultArtifact import org.eclipse.aether.collection.CollectRequest import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory import org.eclipse.aether.graph.Dependency @@ -42,13 +41,13 @@ import java.util.* val mavenCentral: RemoteRepository = RemoteRepository.Builder("maven central", "default", "https://repo.maven.apache.org/maven2/").build() -class AetherResolveSession( - val localRepo: File = File(File(System.getProperty("user.home")!!, ".m2"), "repository"), +internal class AetherResolveSession( + private val localRepo: File = File(File(System.getProperty("user.home")!!, ".m2"), "repository"), remoteRepos: List = listOf(mavenCentral) ) { - val remotes by lazy { - val proxySelector = settings.getActiveProxy()?.let { proxy -> + private val remotes by lazy { + val proxySelector = settings.activeProxy?.let { proxy -> val selector = DefaultProxySelector() val auth = with(AuthenticationBuilder()) { addUsername(proxy.username) @@ -120,15 +119,12 @@ class AetherResolveSession( } } - fun resolve(coordinates: String, scope: String, filter: DependencyFilter? = null): List = - resolve(DefaultArtifact(coordinates), scope, filter) - fun resolve(root: Artifact, scope: String, transitive: Boolean, filter: DependencyFilter?): List { - return if (transitive) resolve(root, scope, filter) + return if (transitive) resolveDependencies(root, scope, filter) else resolveArtifact(root) } - fun resolve(root: Artifact, scope: String, filter: DependencyFilter? = null): List { + private fun resolveDependencies(root: Artifact, scope: String, filter: DependencyFilter? = null): List { return fetch( DependencyRequest( request(Dependency(root, scope)), @@ -227,8 +223,7 @@ class AetherResolveSession( if (global != null) { request.globalSettingsFile = File(global) } - val result: SettingsBuildingResult - result = try { + val result: SettingsBuildingResult = try { builder.build(request) } catch (ex: SettingsBuildingException) { throw IllegalStateException(ex) @@ -245,10 +240,11 @@ class AetherResolveSession( .parentFile.listFiles( NameFileFilter("interpolated-settings.xml") as FileFilter ) - if (files.size == 1) { + val settingsFile = files?.singleOrNull() + if (settingsFile != null) { val irequest = DefaultSettingsBuildingRequest() - irequest.userSettingsFile = files[0] + irequest.userSettingsFile = settingsFile main = try { val isettings = builder.build(irequest) .effectiveSettings