From 456d8365bdd1e6d182fc0145878099d8ee53142a Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 14 Feb 2017 10:19:44 -0800 Subject: [PATCH] GITHUB-326: Fix crash with file dependencies. Fixes https://github.com/cbeust/kobalt/issues/326. --- .../kobalt/app/remote/RemoteDependencyData.kt | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/com/beust/kobalt/app/remote/RemoteDependencyData.kt b/src/main/kotlin/com/beust/kobalt/app/remote/RemoteDependencyData.kt index 667d79af..d8477a48 100644 --- a/src/main/kotlin/com/beust/kobalt/app/remote/RemoteDependencyData.kt +++ b/src/main/kotlin/com/beust/kobalt/app/remote/RemoteDependencyData.kt @@ -10,7 +10,6 @@ import com.beust.kobalt.internal.PluginInfo import com.beust.kobalt.internal.TaskManager import com.beust.kobalt.internal.build.BuildFile import com.beust.kobalt.maven.DependencyManager -import com.beust.kobalt.maven.MavenId import com.beust.kobalt.maven.dependency.FileDependency import com.beust.kobalt.misc.KFiles import com.beust.kobalt.misc.KobaltExecutors @@ -82,13 +81,15 @@ class RemoteDependencyData @Inject constructor(val executors: KobaltExecutors, v fun mapOfLatestVersions(l: List) : Map { fun p(l: List, latestVersions: java.util.HashMap) { l.forEach { - val mid = MavenId.create(it.id) - val shortId = mid.artifactId + ":" + mid.artifactId - val currentLatest = latestVersions[shortId] - if (currentLatest == null) latestVersions[shortId] = mid.version!! - else mid.version?.let { v -> - if (Versions.toLongVersion(currentLatest) < Versions.toLongVersion(v)) { - latestVersions[shortId] = v + val mid = dependencyManager.create(it.id) + if (mid.isMaven) { + val shortId = mid.shortId + val currentLatest = latestVersions[shortId] + if (currentLatest == null) latestVersions[shortId] = mid.version!! + else mid.version?.let { v -> + if (Versions.toLongVersion(currentLatest) < Versions.toLongVersion(v)) { + latestVersions[shortId] = v + } } } p(it.children, latestVersions) @@ -101,10 +102,11 @@ class RemoteDependencyData @Inject constructor(val executors: KobaltExecutors, v val map = mapOfLatestVersions(result) GraphUtil.map(result, { d: DependencyData -> d.children }, {d: DependencyData -> - val mid = MavenId.create(d.id) - val shortId = mid.artifactId + ":" + mid.artifactId - val version = map[shortId] - d.isLatest = version == mid.version + val mid = dependencyManager.create(d.id) + if (mid.isMaven) { + val version = map[mid.shortId] + d.isLatest = version == mid.version + } }) return result }