Недавно я начал использовать Gradle в качестве системы сборки. Они сначала сравнивают, что Gradle делает с подобными Ant, а Maven - это то, Ant - это система обязательная, тогда как Maven - это система декларативная. Пока Gradle является декларативной системой сборки без жесткости, выполняемой Maven.
Я хотел понять эти термины декларативными и императивными лучше, когда речь заходит о системах сборки.