One of the major complaints I hear about gradle is it is too slow and ant was much faster. In a big project when you type “gradle classes”, it does take a long time to check for java class/dependency changes.
For example, with zero java classes or dependency changes:
philswenson@zoso:~/dev/sag/opt (develop)$ time g classes ...bunch of init stuff... :applications:mws-bam-ccs-engine:compileJava UP-TO-DATE :applications:mws-bam-ccs-engine:processResources UP-TO-DATE :applications:mws-bam-ccs-engine:classes UP-TO-DATE :modules:bam-ccs-util:compileJava UP-TO-DATE .... bunch more module state checks BUILD SUCCESSFUL Total time: 1 mins 2.832 secs real 1m3.249s user 0m1.694s sys 0m0.163s
1 min 3secs… that’s a lot of time to do nothing. And my machine is probably 3-4x faster than our average dev machine in our shop.
So my idea is maybe a background process (in the daemon) that monitors all the projects and dependencies so all the analysis is up-to-date?