[bugfix] Properly opt out of zinc's fingerprinting of Resources.
Review Request #3185 — Created Nov. 27, 2015 and submitted
|jsirois, mateor, stuhood, zundel|
Properly opt out of zinc's fingerprinting of Resources.
Internally at Foursquare we have a task that injects a Resource
target dependency on every JvmLibrary in the graph (a temporary
hack), and we noticed that this task getting scheduled before
compilation vs after compilation results in totally different
fingerprints for the entire graph (wrt zinc's FP strategy).
This is because the FP strategy isn't using the mechanism to opt
out of fingerprinting a target (return
though the resource target's contents aren't rolled into the fingerprint,
the resource target's presence in the graph affects the transitive
fingerprints of dependees.
It's plausible that we want to go further here and opt out of
fingerprinting anything except
here, since in theory all other dependencies are extraneous and irrelevant
from zinc's perspective.
CI is green: https://travis-ci.org/pantsbuild/pants/builds/114591351
For this change.
(note that I think the other resource-related change goes in a separate review)
We had a discussion on pantsbuild slack. Essentially, resources are not invalidating compiles now anyway, its just using an inappropriate mechanism. We do need a way to tell annotation processors to run when resources change, but we don't need a full re-compile.