3

考虑以下场景:我有一个由 sbt 管理的简单 scala 项目,位于名为foo.

cd foo
sbt compile

现在需要几秒钟,项目才能正确编译。

现在,感谢 sbt 增量编译,如果我运行

sbt compile

它在接近 0 秒内终止编译任务,因为源代码没有改变。

但是如果我将foo目录重命名为bar

cd ..
mv foo bar

并尝试再次编译

cd bar
sbt compile

现在编译任务又需要几秒钟,因此不使用之前编译的结果。

有没有办法保留项目的增量编译结果,即使它在磁盘上的绝对路径发生了变化?

4

2 回答 2

2

您也可以尝试使用 Hoarder 插件:https ://github.com/romanowski/hoarder 。

如果有任何问题/问题,请在 Hoarder 的 gitter 上联系我。

于 2017-03-17T21:07:09.303 回答
0

事实证明,有一些工作正在进行中以使增量编译结果可缓存。这是相关的公关:https ://github.com/sbt/zinc/pull/216 。

此外,还有一个问题(在撰写本文时正在讨论)关于使锌的分析完全独立于机器。请参阅https://github.com/sbt/zinc/issues/218

于 2017-02-04T10:56:42.570 回答