В Gradle возможно ли запустить finalizedBy, если последующая операция была прервана с помощью ctrl- c? Я думаю, что это будет означать привязку задачи к крюку отключения системы. Пример проекта будет выглядеть примерно так:
task prepare << {
println "preparing"
}
task longOperation << {
sleep 50000
}
longOperation.dependsOn prepare
task cleanup << {
println "clean"
}
prepare.finalizedBy cleanup
cleanup.mustRunAfter longOperation
В идеале я бы хотел, чтобы «очистка» выполнялась независимо от результата «longOperation», но пользователи могут испытывать нетерпение, а ctrl- c задача и вся виртуальная JVM завершает работу (понятно), а затем очистка не запускается, в частности:
$ ./gradlew -b /tmp/blah.gradle longOperation
Parallel execution is an incubating feature.
:prepare
preparing
> Building 33% > :longOperation^C
Отказ от ответственности: Это старый, но без ответа вопрос из форума Gradle .