考虑一下这个场景:我在一个名为foo
的目录中有一个由sbt管理的简单scala项目。
cd foo
sbt compile
现在需要几秒钟,项目正确编译。
现在,感谢sbt增量编译,如果我运行
sbt compile
它在接近0秒内终止编译任务,因为源代码没有改变。
但是如果我将foo
目录重命名为bar
cd ..
mv foo bar
并尝试再次编译
cd bar
sbt compile
现在编译任务再次花费几秒钟,因此不使用上一次编译的结果。
是否有办法保留项目的增量编译结果,即使它在磁盘上的绝对路径发生了变化?
答案 0 :(得分:2)
您也可以尝试使用Hoarder Plugin:https://github.com/romanowski/hoarder。
如果有任何问题/问题,请告诉我Hoarder的gitter。
答案 1 :(得分:0)
事实证明,正在进行一些工作以使渐进式编译结果可缓存。这是相关的PR:https://github.com/sbt/zinc/pull/216。
此外,还有一个问题(在撰写本文时正在讨论)关于使锌的分析完全独立于机器。请参阅https://github.com/sbt/zinc/issues/218。