From efca7320bb8ce1aea9e8e5ad054e7804b456d775 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Tue, 2 Aug 2016 21:37:02 -0800 Subject: [PATCH] Make --resolve accept only one id. Necessary for version ranges, which are defined with a comma. --- .../src/main/kotlin/com/beust/kobalt/Args.kt | 4 ++-- .../kotlin/com/beust/kobalt/ResolveDependency.kt | 2 +- src/main/kotlin/com/beust/kobalt/Main.kt | 13 +++++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Args.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Args.kt index f43a85b6..0204087b 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Args.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/Args.kt @@ -72,8 +72,8 @@ class Args { var profiling: Boolean = false @Parameter(names = arrayOf("--resolve"), - description = "Resolve the given comma-separated dependencies and display their dependency tree") - var dependencies: String? = null + description = "Resolve the given dependency and display its tree") + var dependency: String? = null @Parameter(names = arrayOf("--projectInfo"), description = "Display information about the current projects") var projectInfo: Boolean = false diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/ResolveDependency.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/ResolveDependency.kt index c81313d2..f97ed2e0 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/ResolveDependency.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/ResolveDependency.kt @@ -25,7 +25,7 @@ class ResolveDependency @Inject constructor( class Dep(val dep: IClasspathDependency, val level: Int) - fun run(ids: List) = ids.forEach { displayDependenciesFor(it) } + fun run(id: String) = displayDependenciesFor(id) private fun displayDependenciesFor(id: String) { val mavenId = MavenId.create(id) diff --git a/src/main/kotlin/com/beust/kobalt/Main.kt b/src/main/kotlin/com/beust/kobalt/Main.kt index 0c1117bb..2f5a6b38 100644 --- a/src/main/kotlin/com/beust/kobalt/Main.kt +++ b/src/main/kotlin/com/beust/kobalt/Main.kt @@ -5,6 +5,7 @@ import com.beust.kobalt.api.IClasspathDependency import com.beust.kobalt.api.Kobalt import com.beust.kobalt.api.PluginTask import com.beust.kobalt.app.* +import com.beust.kobalt.app.remote.DependencyData import com.beust.kobalt.app.remote.KobaltClient import com.beust.kobalt.app.remote.KobaltServer import com.beust.kobalt.internal.Gc @@ -68,6 +69,7 @@ private class Main @Inject constructor( val projectGenerator: ProjectGenerator, val serverFactory: KobaltServer.IFactory, val projectFinder: ProjectFinder, + val dependencyData: DependencyData, val resolveDependency: ResolveDependency) { data class RunInfo(val jc: JCommander, val args: Args) @@ -181,17 +183,20 @@ private class Main @Inject constructor( val allProjects = projectFinder.initForBuildFile(buildFile, args) // DONOTCOMMIT -// val data = dependencyData.dependenciesDataFor(homeDir("kotlin/klaxon/kobalt/src/Build.kt"), Args()) +// val data = dependencyData.dependenciesDataFor(homeDir("kotlin/klaxon/kobalt/src/Build.kt"), Args(), +// useGraph = true) // println("Data: $data") if (args.projectInfo) { // --projectInfo allProjects.forEach { - resolveDependency.run(it.compileDependencies.map { it.id }) + it.compileDependencies.forEach { + resolveDependency.run(it.id) + } } - } else if (args.dependencies != null) { + } else if (args.dependency != null) { // --resolve - resolveDependency.run(args.dependencies!!.split(',').toList()) + args.dependency?.let { resolveDependency.run(it) } } else if (args.tasks) { // --tasks displayTasks()