diff --git a/src/main/kotlin/com/beust/kobalt/app/remote/DependencyData.kt b/src/main/kotlin/com/beust/kobalt/app/remote/DependencyData.kt index 7a4f4eec..7f612aa9 100644 --- a/src/main/kotlin/com/beust/kobalt/app/remote/DependencyData.kt +++ b/src/main/kotlin/com/beust/kobalt/app/remote/DependencyData.kt @@ -36,6 +36,8 @@ class DependencyData @Inject constructor(val executors: KobaltExecutors, val dep val pluginDependencies = projectResult.pluginUrls.map { File(it.toURI()) }.map { FileDependency(it.absolutePath) } + + val allTasks = hashSetOf() projectResult.projects.forEach { project -> val compileDependencies = pluginDependencies.map { toDependencyData(it, "compile") } + allDeps(project.compileDependencies).map { toDependencyData(it, "compile") } + @@ -55,15 +57,16 @@ class DependencyData @Inject constructor(val executors: KobaltExecutors, val dep // Separate resource from source directories val sources = project.sourceDirectories.partition { KFiles.isResource(it) } val tests = project.sourceDirectoriesTest.partition { KFiles.isResource(it) } - val allTasks = taskManager.tasksByNames(project).values().map { + val projectTasks = taskManager.tasksByNames(project).values().map { TaskData(it.name, it.doc, it.group) } + allTasks.addAll(projectTasks) projectDatas.add(ProjectData(project.name, project.directory, dependentProjects, compileDependencies, testDependencies, sources.second.toSet(), tests.second.toSet(), sources.first.toSet(), tests.first.toSet(), - allTasks)) + projectTasks)) } - return GetDependenciesData(projectDatas, projectResult.taskResult.errorMessage) + return GetDependenciesData(projectDatas, allTasks, projectResult.taskResult.errorMessage) } ///// @@ -72,7 +75,9 @@ class DependencyData @Inject constructor(val executors: KobaltExecutors, val dep // class DependencyData(val id: String, val scope: String, val path: String) - class TaskData(val name: String, val description: String, val group: String) + data class TaskData(val name: String, val description: String, val group: String) { + override fun toString() = name + } class ProjectData(val name: String, val directory: String, val dependentProjects: List, @@ -81,5 +86,7 @@ class DependencyData @Inject constructor(val executors: KobaltExecutors, val dep val sourceResourceDirs: Set, val testResourceDirs: Set, val tasks: Collection) - class GetDependenciesData(val projects: List, val errorMessage: String?) + class GetDependenciesData(val projects: List = emptyList(), + val allTasks: Collection = emptySet(), + val errorMessage: String?) } diff --git a/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt b/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt index 71e34391..7913852b 100644 --- a/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt +++ b/src/main/kotlin/com/beust/kobalt/app/remote/SparkServer.kt @@ -36,7 +36,7 @@ class SparkServer(val initCallback: (String) -> List, val cleanUpCallba override fun run(port: Int) { Spark.port(port) - Spark.get("/ping", { req, res -> KobaltServer.OK }) + Spark.get("/ping", { req, res -> """ { "result" : "ok" } """ }) Spark.get("/quit", { req, res -> Executors.newFixedThreadPool(1).let { executor -> executor.submit { @@ -58,13 +58,13 @@ class SparkServer(val initCallback: (String) -> List, val cleanUpCallba dependencyData.dependenciesDataFor(buildFile, args) } catch(ex: Exception) { - DependencyData.GetDependenciesData(emptyList(), ex.message) + DependencyData.GetDependenciesData(errorMessage = ex.message) } finally { cleanUpCallback() } } else { - DependencyData.GetDependenciesData(emptyList(), - "buildFile wasn't passed in the query parameter") + DependencyData.GetDependenciesData( + errorMessage = "buildFile wasn't passed in the query parameter") } cleanUpCallback() result