mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-27 08:38:13 -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 ->
|
projects.filter { plugin.accept(it) }.forEach { project ->
|
||||||
plugin.addStaticTask(annotation, project, toTask(method, project, plugin))
|
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
|
override fun accept(project: Project) = true
|
||||||
var plugins : Plugins by Delegates.notNull()
|
var plugins : Plugins by Delegates.notNull()
|
||||||
|
|
||||||
fun addSyntheticTask(name: String, project: Project, task: (Project) -> TaskResult) {
|
/**
|
||||||
val task = object: PluginTask() {
|
* Add a dynamic task.
|
||||||
override val doc = "A synthetic task"
|
*/
|
||||||
override val name = name
|
fun addTask(project: Project, name: String, description: String = "",
|
||||||
override val plugin = this@BasePlugin
|
runBefore: List<String> = arrayListOf<String>(),
|
||||||
override val project = project
|
runAfter: List<String> = arrayListOf<String>(),
|
||||||
|
task: (Project) -> TaskResult) {
|
||||||
override fun call(): TaskResult2<PluginTask>? {
|
addGenericTask(project, name, description, runBefore, runAfter, task)
|
||||||
val taskResult = task(project)
|
|
||||||
return TaskResult2(taskResult.success, this)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
tasks.add(task)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,12 +18,21 @@ public interface Plugin {
|
||||||
val methodTasks : ArrayList<MethodTask>
|
val methodTasks : ArrayList<MethodTask>
|
||||||
|
|
||||||
fun addStaticTask(annotation: Task, project: Project, task: (Project) -> TaskResult) {
|
fun addStaticTask(annotation: Task, project: Project, task: (Project) -> TaskResult) {
|
||||||
tasks.add(object : BasePluginTask(this, annotation.name, annotation.description, project) {
|
addGenericTask(project, annotation.name, annotation.description, annotation.runBefore.toList(),
|
||||||
override fun call(): TaskResult2<PluginTask> {
|
annotation.runAfter.toList(), task)
|
||||||
val taskResult = task(project)
|
}
|
||||||
return TaskResult2(taskResult.success, this)
|
|
||||||
}
|
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
|
var taskManager : TaskManager
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue