1. 模块化

模块化 

我们针对 sbt 1.0 的目标是将 sbt 拆解成更小的模块和层。需要明确的是,sbt 0.13 的代码库已经包含了大量的子项目。

层是更粗粒度的子项目集,可以独立使用。模块化的另一个目的是区分公共 API 和内部实现。减少 sbt 代码库的表面积有几个好处

  • 这使得构建用户和插件作者更容易学习 API。
  • 这使得我们更容易维护二进制和语义兼容性。
  • 它鼓励模块的重用。

以下是层级的概念图

Module diagram

我们将在下一页讨论细节。