4

我偶尔会使用 Scala 分支,有时需要在 SBT 项目上调试这些分支。总的来说,scalaHome效果很好,但有一些事情我想找到更好的方法来实现。

1) 是否可以让 SBT 获取构建生成的自定义 scalac 类文件ant quick而不是构建发出的 jar 文件ant pack?后者意味着每次构建有 5-10 秒的额外延迟,所以最好避免它。

2) 即使在大型项目中,scalac 所表现出的问题通常也会在编译单个文件时表现出来。有没有办法告诉 sbt 忽略其更改跟踪启发式并仅重新编译单个文件?我特别想防止的是当我重新编译scalaHome或更改 scalac 标志时重新编译整个世界。

scalaHome3)当重新编译时,是否有可能让 sbt hot reload scalac 类来自scalaHome?目前我必须关闭并重新启动 sbt 才能应用更改。

4

1 回答 1

3

1) 不,这会使 sbt 依赖于 Scala 构建的细节。如果 Scala 是用 sbt 构建的,那么您可能可以依赖 Scala 作为源依赖项,或者至少可以在没有太多更改的情况下支持这一点。

2)否,请参阅https://github.com/sbt/sbt/issues/604

3) sbt 0.13 应该检查来自的 jars 的最后修改时间scalaHome并使用新的类加载器。如果没有,这是一个错误。

于 2013-10-10T14:09:27.223 回答