compileJava.dependsOn(processResources) is not enough to ensure the correct behavior.
Using dependsOn only affects the execution order (processResources before compileJava) but not the up-to-date check of compileJava: After modifying META-INF/additional-spring-configuration-metadata.json the processResouces task will considered out-of-date and will be re-executed, but after that compileJava will still be considered up-to-date which causes the changes not to be merged into META-INF/spring-configuration-metadata.json
With this change the up-do-date check of compileJava is affected, too. Therefore it will correctly re-execute the configuration-processor when META-INF/additional-spring-configuration-metadata.json was changed.
Related Issues:
9758
9732
Comment From: wilkinsona
Thanks very much, @larsgrefer. The proposed change is now in 2.2.x and master.