From b5c81c4e8d1af1820af0c04009cb2fd6e15e02a1 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 19 Jul 2016 01:00:40 -0800 Subject: [PATCH] Faster .jarFile. --- .../com/beust/kobalt/maven/aether/Aether.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt index b8d1a8a6..1df36991 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/aether/Aether.kt @@ -8,6 +8,8 @@ import com.beust.kobalt.internal.KobaltSettings import com.beust.kobalt.internal.KobaltSettingsXml import com.beust.kobalt.internal.getProxy import com.beust.kobalt.maven.CompletedFuture +import com.beust.kobalt.maven.LocalDep +import com.beust.kobalt.maven.LocalRepo import com.beust.kobalt.maven.MavenId import com.beust.kobalt.misc.KobaltLogger import com.beust.kobalt.misc.Versions @@ -196,13 +198,15 @@ class AetherDependency(val artifact: Artifact): IClasspathDependency, Comparable get() = if (artifact.file != null) { CompletedFuture(artifact.file) } else { - val td = aether.transitiveDependencies(artifact) - if (td?.root?.artifact?.file != null) { - CompletedFuture(td!!.root.artifact.file) + val localRepo = Kobalt.INJECTOR.getInstance(LocalRepo::class.java) + val file = File(LocalDep(MavenId.create(id), localRepo).toAbsoluteJarFilePath(version)) + if (file.exists()) { + CompletedFuture(file) } else { - val resolved = aether.resolve(artifact) - if (resolved.size > 0) { - CompletedFuture(resolved[0].artifact.file) + val td = aether.resolve(artifact) + val newFile = td[0].artifact.file + if (newFile != null) { + CompletedFuture(newFile) } else { CompletedFuture(File("DONOTEXIST")) // will be filtered out }