-
Sub-task
-
Resolution: Done
-
Medium
-
None
-
None
We need to persist some amount of information across builds – some of it is plugin situation and some of it the actuals inputs we have read.
Add a persistence layer, in ${project.builder.directory}, which will host our persisted state. At first, it should capture the codegen/configuration binding, so that we react to changes of our dependencies.
As part of that, refactor the input later so that it captures a checksum (CRC-32C should be good enough) of the input. We want to do this opportunistically, so that input files we do not touch do not end up causing dependencies.
We should persist this information and validate against it: if configuration changes, we need to rebuild. Even if BuildContext indicates a change in dependency, unless it's CRC changed, we should not rebuild.