1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 00:17:11 -07:00

Return all the tasks in the getDependencies() command.

This commit is contained in:
Cedric Beust 2016-05-31 21:44:02 -08:00
parent 27edec8f7a
commit d198d5e6a1
2 changed files with 16 additions and 9 deletions

View file

@ -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<TaskData>()
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<String>,
@ -81,5 +86,7 @@ class DependencyData @Inject constructor(val executors: KobaltExecutors, val dep
val sourceResourceDirs: Set<String>, val testResourceDirs: Set<String>,
val tasks: Collection<TaskData>)
class GetDependenciesData(val projects: List<ProjectData>, val errorMessage: String?)
class GetDependenciesData(val projects: List<ProjectData> = emptyList(),
val allTasks: Collection<TaskData> = emptySet(),
val errorMessage: String?)
}

View file

@ -36,7 +36,7 @@ class SparkServer(val initCallback: (String) -> List<Project>, 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<Project>, val cleanUpCallba
dependencyData.dependenciesDataFor(buildFile, args)
} catch(ex: Exception) {
DependencyData.GetDependenciesData(emptyList<DependencyData.ProjectData>(), ex.message)
DependencyData.GetDependenciesData(errorMessage = ex.message)
} finally {
cleanUpCallback()
}
} else {
DependencyData.GetDependenciesData(emptyList<DependencyData.ProjectData>(),
"buildFile wasn't passed in the query parameter")
DependencyData.GetDependenciesData(
errorMessage = "buildFile wasn't passed in the query parameter")
}
cleanUpCallback()
result