diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/TaskContributor.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/TaskContributor.kt index 65eb529d..a83f71a3 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/TaskContributor.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/api/TaskContributor.kt @@ -44,6 +44,23 @@ class TaskContributor @Inject constructor(val incrementalManagerFactory: Increme } } + fun addTask(plugin: IPlugin, project: Project, taskName: String, description: String, + group: String = AnnotationDefault.GROUP, + dependsOn: List = emptyList(), + reverseDependsOn : List = emptyList(), + runBefore : List = emptyList(), + runAfter : List = emptyList(), + runTask: (Project) -> TaskResult) { + dynamicTasks.add(DynamicTask(plugin, taskName, description, group, project, + dependsOn = dependsOn, + reverseDependsOn = reverseDependsOn, + runBefore = runBefore, + runAfter = runAfter, + closure = { p: Project -> + runTask(project) + })) + } + fun addIncrementalVariantTasks(plugin: IPlugin, project: Project, context: KobaltContext, taskName: String, group: String = AnnotationDefault.GROUP, dependsOn: List = emptyList(), diff --git a/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt index 5c8de7c2..73878499 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/application/ApplicationPlugin.kt @@ -57,16 +57,14 @@ class ApplicationPlugin @Inject constructor(val configActor: ConfigsActor configs.forEach { config -> - taskManager.addTask(this, project, config.taskName, + taskContributor.addTask(this, project, config.taskName, description = "Run the class " + config.mainClass, group = "run", dependsOn = listOf("install"), - task = { run(project, context, config) }) + runTask = { run(project, context, config) }) } } } diff --git a/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt b/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt index 02349fd2..0cf2b46f 100644 --- a/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt +++ b/src/main/kotlin/com/beust/kobalt/plugin/packaging/PackagingPlugin.kt @@ -41,7 +41,6 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana const val PACKAGES = "packages" const val TASK_ASSEMBLE: String = "assemble" - const val TASK_INSTALL: String = "install" } override val name = PLUGIN_NAME @@ -59,11 +58,11 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana configurationFor(project)?.let { configs -> configs.forEach { config -> - taskManager.addTask(this, project, config.taskName, + taskContributor.addTask(this, project, config.taskName, description = "Install to \"" + config.target + "\"", group = "build", dependsOn = listOf(PackagingPlugin.TASK_ASSEMBLE), - task = { taskInstall(project, context, config) }) + runTask = { taskInstall(project, context, config) }) taskContributor.addVariantTasks(this, project, context, "config.taskName", dependsOn = listOf("assemble"), runTask = { taskInstall(project, context, config) })