我偶尔会使用Scala forks,有时需要在SBT项目上调试这些forks。一般来说,scalaHome
效果很好,但有一些事情我想找到更好的方法来实现。
1)是否可以让SBT获取由ant quick
构建生成的自定义scalac类文件而不是ant pack
构建发出的jar文件?后者意味着每次构建需要5-10秒的额外延迟,因此避免使用它会很棒。
2)即使在大型项目中,scalac展示的问题通常在编译单个文件时也会出现。有没有办法告诉sbt忽略它的变化跟踪启发式并重新编译一个文件?我特别想要防止的是当我重新编译scalaHome
或更改scalac标志时重新编译整个世界。
3)当scalaHome
被重新编译时,是否可以从scalaHome
获得sbt热重载scalac类?目前我必须关闭并重新启动sbt以应用更改。
答案 0 :(得分:3)
1)不,这会使sbt依赖于Scala构建的细节。如果使用sbt构建Scala,您可能可以依赖Scala作为源依赖项,或者至少可以在没有太多更改的情况下支持它。
2)不,请参阅https://github.com/sbt/sbt/issues/604
3)sbt 0.13应检查来自scalaHome
的罐的最后修改时间并使用新的类加载器。如果没有,那就是一个错误。