From c776f214cdad0221a05f8d82e1fde51021bbed60 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Wed, 9 Mar 2016 02:25:12 +0400 Subject: [PATCH] --projectInfo. --- .../src/main/kotlin/com/beust/kobalt/Args.kt | 8 ++++++-- .../main/kotlin/com/beust/kobalt/ResolveDependency.kt | 4 +++- src/main/kotlin/com/beust/kobalt/Main.kt | 9 +++++++-- 3 files changed, 16 insertions(+), 5 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 24e74a83..c7dad95b 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 @@ -54,8 +54,12 @@ class Args { @Parameter(names = arrayOf("--profiles"), description = "Comma-separated list of profiles to run") var profiles: String? = null - @Parameter(names = arrayOf("--resolve"), description = "Resolve the given dependency and display its tree") - var dependency: String? = null + @Parameter(names = arrayOf("--resolve"), + description = "Resolve the given comma-separated dependencies and display their dependency tree") + var dependencies: String? = null + + @Parameter(names = arrayOf("--projectInfo"), description = "Display information about the current projects") + var projectInfo: Boolean = false @Parameter(names = arrayOf("--server"), description = "Run in server mode") var serverMode: 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 32d4337a..086751b8 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 @@ -26,7 +26,9 @@ class ResolveDependency @Inject constructor(val repoFinder: RepoFinder, class Dep(val dep: IClasspathDependency, val level: Int) - fun run(id: String) { + fun run(ids: List) = ids.forEach { displayDependenciesFor(it) } + + private fun displayDependenciesFor(id: String) { val repoResult = repoFinder.findCorrectRepo(id) val indent = -1 diff --git a/src/main/kotlin/com/beust/kobalt/Main.kt b/src/main/kotlin/com/beust/kobalt/Main.kt index ae6d122c..1fc07b6e 100644 --- a/src/main/kotlin/com/beust/kobalt/Main.kt +++ b/src/main/kotlin/com/beust/kobalt/Main.kt @@ -195,9 +195,14 @@ private class Main @Inject constructor( log(2, "Final list of repos:\n " + Kobalt.repos.joinToString("\n ")) - if (args.dependency != null) { + if (args.projectInfo) { + // --projectInfo + allProjects.forEach { + resolveDependency.run(it.compileDependencies.map {it.id}) + } + } else if (args.dependencies != null) { // --resolve - resolveDependency.run(args.dependency as String) + resolveDependency.run(args.dependencies!!.split(",").toList()) } else if (args.tasks) { // --tasks displayTasks()