fix improper assumption of default value in the javac macros
invoke the 'depend' task during java compile macros, which should perform more advanced transitive cachebusting during incremental builds by using inspection of classfiles for interdependencies.

see https://ant.apache.org/manual/Tasks/depend.html for more information, including limitations (specifically, be aware that constant inlining represents a special case, since inlining quite literally removes any sort of dependency from the compiled bytecode).