Question: Suppose I have a "lifecycle style task" ...
# plugin-development
k
Question: Suppose I have a "lifecycle style task" like so:
Copy code
tasks.register("aggregate")
I also have an extension like so:
Copy code
interface MyExtension {
    val items: NamedDomainObjectContainer<MyItem>
}

interface MyItem : Named {
    val addToAggregate: Property<Boolean>
}
Suppose I also have extension behavior like so:
Copy code
val extension = extensions.create<MyExtension>("myExtension")
extension.items.all {
    val task = tasks.register(name)
    tasks.named("aggregate").configure {
        dependsOn(task)
    }
}
Is there a way to make it so that I have something that conditionally adds the
dependsOn
based on the value of
addToAggregate
?
s
dependsOn(addToAggregate.map { if (it) listOf(task) else listOf() })
☝️ 1