mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 00:38:11 -07:00
addTask() work.
This commit is contained in:
parent
2d23d082f2
commit
d1fb150ee1
3 changed files with 23 additions and 21 deletions
|
@ -154,8 +154,6 @@ public class Plugins @Inject constructor (val taskManagerProvider : Provider<Tas
|
|||
|
||||
projects.filter { plugin.accept(it) }.forEach { project ->
|
||||
plugin.addStaticTask(annotation, project, toTask(method, project, plugin))
|
||||
annotation.runBefore.forEach { plugin.dependsOn(it, annotation.name) }
|
||||
annotation.runAfter.forEach { plugin.dependsOn(annotation.name, it) }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,19 +16,14 @@ abstract public class BasePlugin : Plugin {
|
|||
override fun accept(project: Project) = true
|
||||
var plugins : Plugins by Delegates.notNull()
|
||||
|
||||
fun addSyntheticTask(name: String, project: Project, task: (Project) -> TaskResult) {
|
||||
val task = object: PluginTask() {
|
||||
override val doc = "A synthetic task"
|
||||
override val name = name
|
||||
override val plugin = this@BasePlugin
|
||||
override val project = project
|
||||
|
||||
override fun call(): TaskResult2<PluginTask>? {
|
||||
val taskResult = task(project)
|
||||
return TaskResult2(taskResult.success, this)
|
||||
}
|
||||
}
|
||||
tasks.add(task)
|
||||
/**
|
||||
* Add a dynamic task.
|
||||
*/
|
||||
fun addTask(project: Project, name: String, description: String = "",
|
||||
runBefore: List<String> = arrayListOf<String>(),
|
||||
runAfter: List<String> = arrayListOf<String>(),
|
||||
task: (Project) -> TaskResult) {
|
||||
addGenericTask(project, name, description, runBefore, runAfter, task)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,12 +18,21 @@ public interface Plugin {
|
|||
val methodTasks : ArrayList<MethodTask>
|
||||
|
||||
fun addStaticTask(annotation: Task, project: Project, task: (Project) -> TaskResult) {
|
||||
tasks.add(object : BasePluginTask(this, annotation.name, annotation.description, project) {
|
||||
override fun call(): TaskResult2<PluginTask> {
|
||||
val taskResult = task(project)
|
||||
return TaskResult2(taskResult.success, this)
|
||||
}
|
||||
})
|
||||
addGenericTask(project, annotation.name, annotation.description, annotation.runBefore.toList(),
|
||||
annotation.runAfter.toList(), task)
|
||||
}
|
||||
|
||||
fun addGenericTask(project: Project, name: String, description: String,
|
||||
runBefore: List<String>, runAfter: List<String>, task: (Project) -> TaskResult) {
|
||||
tasks.add(
|
||||
object : BasePluginTask(this, name, description, project) {
|
||||
override fun call(): TaskResult2<PluginTask> {
|
||||
val taskResult = task(project)
|
||||
return TaskResult2(taskResult.success, this)
|
||||
}
|
||||
})
|
||||
runBefore.forEach { dependsOn(it, name) }
|
||||
runAfter.forEach { dependsOn(name, it) }
|
||||
}
|
||||
|
||||
var taskManager : TaskManager
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue