From f8fbcb912c53ea659617687a3e637faeb65a93ae Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Mon, 3 Apr 2017 09:44:48 -0700 Subject: [PATCH] Remove the random repo number hack. Fixes https://github.com/cbeust/kobalt/issues/385 --- .../src/main/kotlin/com/beust/kobalt/BuildScript.kt | 3 ++- .../src/main/kotlin/com/beust/kobalt/Constants.kt | 8 +++----- .../src/main/kotlin/com/beust/kobalt/api/Kobalt.kt | 4 ++-- .../com/beust/kobalt/maven/aether/KobaltMavenResolver.kt | 9 +++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/BuildScript.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/BuildScript.kt index e61cdb34..48ecc0e3 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/BuildScript.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/BuildScript.kt @@ -74,7 +74,8 @@ data class ProxyConfig(val host: String = "", val port: Int = 0, val type: Strin fun toAetherProxy() = Proxy(type, host, port) // TODO make support for proxy auth } -data class HostConfig(var url: String = "", var username: String? = null, var password: String? = null) { +data class HostConfig(var url: String = "", var name: String = url, var username: String? = null, + var password: String? = null) { fun hasAuth() : Boolean { return (! username.isNullOrBlank()) && (! password.isNullOrBlank()) } diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Constants.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Constants.kt index a3a03c33..979c2ffe 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Constants.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Constants.kt @@ -11,13 +11,11 @@ object Constants { val BUILD_FILE_PATH = KFiles.joinDir(BUILD_FILE_DIRECTORY, BUILD_FILE_NAME) val KOTLIN_COMPILER_VERSION = "1.1.1" - internal val DEFAULT_REPOS = listOf( + internal val DEFAULT_REPOS = listOf( // "https://maven-central.storage.googleapis.com/", - "http://repo1.maven.org/maven2/", - "https://jcenter.bintray.com/", + HostConfig("http://repo1.maven.org/maven2/", "Maven"), + HostConfig("https://jcenter.bintray.com/", "JCenter") // "http://repository.jetbrains.com/all/", // <-- contains snapshots - "https://dl.bintray.com/kotlin/kotlin-eap", - "https://dl.bintray.com/kotlin/kotlin-eap-1.1" // snapshots // "https://oss.sonatype.org/content/repositories/snapshots/" diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt index 0808014e..527d35b2 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/Kobalt.kt @@ -35,12 +35,12 @@ class Kobalt { */ val repos : Set get() { - val settingsRepos = Kobalt.context?.settings?.defaultRepos ?: emptyList() + val settingsRepos = Kobalt.context?.settings?.defaultRepos?.map { HostConfig(it) } ?: emptyList() // Repos from in the settings val result = ArrayList( (if (settingsRepos.isEmpty()) Constants.DEFAULT_REPOS else settingsRepos) - .map { HostConfig(it) }) + ) // Repo from in the settings Kobalt.context?.settings?.kobaltCompilerRepo?.let { diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/KobaltMavenResolver.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/KobaltMavenResolver.kt index 1a7fdaf3..12ace363 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/KobaltMavenResolver.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/KobaltMavenResolver.kt @@ -1,6 +1,7 @@ package com.beust.kobalt.maven.aether import com.beust.kobalt.Args +import com.beust.kobalt.HostConfig import com.beust.kobalt.api.Kobalt import com.beust.kobalt.internal.KobaltSettings import com.beust.kobalt.internal.getProxy @@ -92,12 +93,12 @@ class KobaltMavenResolver @Inject constructor(val settings: KobaltSettings, private val system = Booter.newRepositorySystem() private val session = Booter.newRepositorySystemSession(system, localRepo.localRepo, settings, eventBus) - private fun createRepo(url: String) = RemoteRepository.Builder(Random().nextInt().toString(), "default", url) - .build() + private fun createRepo(hostConfig: HostConfig) = + RemoteRepository.Builder(hostConfig.name, "default", hostConfig.url).build() private val kobaltRepositories: List get() = Kobalt.repos.map { - createRepo(it.url).let { repository -> + createRepo(it).let { repository -> val proxyConfigs = settings.proxyConfigs ?: return@map repository RemoteRepository.Builder(repository).apply { setProxy(proxyConfigs.getProxy(repository.protocol)?.toAetherProxy()) @@ -118,6 +119,6 @@ class KobaltMavenResolver @Inject constructor(val settings: KobaltSettings, } root = Dependency(DefaultArtifact(MavenId.toMavenId(id)), scope?.scope) - repositories = kobaltRepositories + repos.map { createRepo(it) } + repositories = kobaltRepositories + repos.map { createRepo(HostConfig(it)) } } }