Consider the scenario: I have a simple scala project managed by sbt, in a directory called
foo
cd foo
sbt compile
sbt compile
foo
bar
cd ..
mv foo bar
cd bar
sbt compile
As it turns out, there's some work in progress to make incremental compilation results cacheable. Here's the relevant PR: https://github.com/sbt/zinc/pull/216.
Also, there's an issue (being discussed at the time of this writing) about making zinc's analysis completely machine independent. See https://github.com/sbt/zinc/issues/218.