-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Closed
Labels
a:buga:regressionThis used to workThis used to workin:schedulerexecution plan, task graph, work lease, project lockexecution plan, task graph, work lease, project lock
Milestone
Description
Before Gradle 7.5, finalizers of finalizers always ran.
Since Gradle 7.5, finalizers of finalizers only run when the upstream dependency is successful.
Expected Behavior
A finalizer should always run.
Current Behavior
A finalizer sometimes does not run.
Context
This build reproduces the problem:
task A {
doLast {
if (project.hasProperty("fail")) {
throw new GradleException("boom")
}
}
finalizedBy "f1"
}
task f1 {
finalizedBy "f2"
doLast {
println "f1"
}
}
task f2 {
doLast {
println "f2"
}
}
Steps to Reproduce
With 7.4:
gradle AexecutesA,f1andf2gradle A -PfailexecutesA,f1andf2
With 7.5:
gradle AexecutesA,f1andf2gradle A -PfailexecutesAandf1, but notf2
Metadata
Metadata
Assignees
Labels
a:buga:regressionThis used to workThis used to workin:schedulerexecution plan, task graph, work lease, project lockexecution plan, task graph, work lease, project lock