我有一个需要很长时间的 sbt 构建。它又大又复杂,很难知道从哪里开始清理它。看起来 sbt 保留了很多关于构建结构的元数据,包括相互依赖关系、命名任务、范围等等。有了所有这些元数据,似乎很容易进入并测量每个不同任务(有范围)需要多少时间。在代码中而不是基于日志消息这样做不仅感觉更干净,而且具有很好地处理并发构建和其他可能导致日志时间误导的复杂内容的优势。
目前是否有任何设施可以做到这一点?感觉不像我们可以在“用户”构建中做的事情,但也许 SBT 插件可以挂钩任务启动器并在最后维护/生成大量时间报告。这真的有助于我将精力集中在改进缓慢的事情上,而不会将时间浪费在立即发生的事情上。