Scala 使用SBT管理自定义客户端生成

Scala 使用SBT管理自定义客户端生成,scala,sbt,custom-build,Scala,Sbt,Custom Build,我们有一个可通过模块扩展的应用程序。多项目SBT构建生成易于部署的分发工件 客户机的某些自定义部署确实需要特定模块作为构建的一部分,换句话说,是一组附加的依赖项。我想知道创建这种定制构建的最佳方法是什么——换句话说,是否有一种方法可以扩展主构建并只添加那些依赖项 现在我正在考虑以下方法: 将主应用程序打包为ZIP并发布 在定制构建中,获取ZIP文件,解压缩它,神奇地添加额外的JAR依赖项,然后神奇地再次压缩工件,因为我不知道如何访问构建中指定的所有JAR依赖项 但是有没有更优雅的方法呢?我认为在

我们有一个可通过模块扩展的应用程序。多项目SBT构建生成易于部署的分发工件

客户机的某些自定义部署确实需要特定模块作为构建的一部分,换句话说,是一组附加的依赖项。我想知道创建这种定制构建的最佳方法是什么——换句话说,是否有一种方法可以扩展主构建并只添加那些依赖项

现在我正在考虑以下方法:

将主应用程序打包为ZIP并发布 在定制构建中,获取ZIP文件,解压缩它,神奇地添加额外的JAR依赖项,然后神奇地再次压缩工件,因为我不知道如何访问构建中指定的所有JAR依赖项
但是有没有更优雅的方法呢?

我认为在依赖它的主项目上声明一个新的子项目会更容易

lazy val extra: Project = Project("extra", file("extra")) dependsOn(mainProject) settings(Seq(...))

然后在该包上可以声明额外的依赖项。当你打包这个额外的项目时,所有的东西都应该自动打包。

我认为,在依赖它的主项目上声明一个新的子项目会更容易

lazy val extra: Project = Project("extra", file("extra")) dependsOn(mainProject) settings(Seq(...))

然后在该包上可以声明额外的依赖项。当你打包这个额外的项目时,所有的东西都应该自动打包。

好吧,这就是我们现在所拥有的。但我不想让这些私人子项目暴露在公共建设中。也就是说,创建一些小的、定制的构建,每个构建都引用必要的项目。这就是我们现在拥有的。但我不想让这些私人子项目暴露在公共建设中。也就是说,创建一些小型定制构建,每个构建都引用必要的项目。