Scala 移动项目目录时保留sbt增量编译的结果
考虑这个场景:我有一个由sbt管理的简单scala项目,位于名为Scala 移动项目目录时保留sbt增量编译的结果,scala,sbt,incremental-compiler,zinc,Scala,Sbt,Incremental Compiler,Zinc,考虑这个场景:我有一个由sbt管理的简单scala项目,位于名为foo的目录中 cd foo sbt compile 现在只需几秒钟,项目就能正确编译 现在,感谢sbt增量编译,如果我运行 sbt compile 由于源代码没有更改,它将在接近0秒的时间内终止编译任务 但是如果我将foo目录重命名为bar cd .. mv foo bar 并尝试再次编译它 cd bar sbt compile 现在编译任务又需要几秒钟的时间,因此不使用上一次编译的结果 即使项目在磁盘上的绝对路径已更改,
foo
的目录中
cd foo
sbt compile
现在只需几秒钟,项目就能正确编译
现在,感谢sbt增量编译,如果我运行
sbt compile
由于源代码没有更改,它将在接近0秒的时间内终止编译任务
但是如果我将foo
目录重命名为bar
cd ..
mv foo bar
并尝试再次编译它
cd bar
sbt compile
现在编译任务又需要几秒钟的时间,因此不使用上一次编译的结果
即使项目在磁盘上的绝对路径已更改,是否有办法保留项目的增量编译结果?事实证明,要使增量编译结果可缓存,仍有一些工作正在进行中。以下是相关的PR:
此外,关于使锌的分析完全独立于机器,还有一个问题(在撰写本文时正在讨论)。请参阅。您也可以尝试使用囤积器插件:
如果有任何问题,请在囤积者的gitter上给我打电话。好的,显然sbt使用绝对路径存储增量编译的结果,这就是它崩溃的原因。现在,如何修复它?我会使用sbt gitter频道:)这听起来像是一个非常复杂的问题。谢谢!我很清楚这一点,我计划很快尝试一下!:)