如果在编译期间编辑文件会发生什么?

Abs*_*Abs 7 java scala compilation

有时编译需要很长时间,我想在编译时弄乱一个文件。在编译期间保存新文件会影响构建吗?还是一切都预装了?

som*_*ytt 5

我不确定这是一个有意义的问题:“所有编译器和语言都是如此吗?”

更有意义的问题是,对于给定的构建系统,我可以在构建期间编辑源代码吗?

通过 ant 构建,很明显 ant 会提前(基于文件时间戳)决定编译什么,但您不知道编译任务何时开始。

编译器确实只读取源文件一次,但您通常不知道这种情况何时发生。

有趣的用例是:

当我运行时sbt> ~ test,sbt会在我编辑代码时完成测试运行,还是会中途停止重新编译?

我可以看到,有一个命令选项来确定编辑是否中止测试运行很有用。您可能想查看测试结果,或者您可能只对修改后的测试结果感兴趣。

如果编译和测试周期看起来无休无止,则尤其如此。

是用于测试的文档。触发执行的文档说:

当按下回车键时,监控将终止。

这可以解释为任务执行时监控不会暂停。