The old version did not take Language.java into account and it did not
trigger compilation on transitive dependencies.
Still did not find a way to safely re-trigger compilation, but a run
with inconsistent state is now aborted and a message is displayed to the
user to manually re-run the last task which will fix the inconsistency
problems.
Incremental compilation of instruments may lead to runtime errors when
only some of the instruments are recompiled (because the unchanged
instruments are not registered by the Annotation Processor).
To fix this, we add a task that ensures all instruments are recompiled
when at least one of them changes.