我有一个sbt项目,其中包含多个子模块,如下所示:
--\ root
-- module 1
-- module 2
使用packageBin,我可以获得两个zip文件: module1.zip 和 module2.zip 。
这是我的build.sbt:
import Dependencies._
import NativePackagerHelper._
lazy val commonSettings = Seq(
organization := "com.zhyea.sbt",
version := "0.1-SNAPSHOT",
scalaVersion := "2.11.12",
exportJars := true,
artifactName := {
(sv: ScalaVersion, module: ModuleID, artifact: Artifact) => artifact.name + "." + artifact.extension
}
)
lazy val module2 = project.settings(commonSettings).settings()
.enablePlugins(JavaAppPackaging, UniversalPlugin)
.settings(libraryDependencies ++= module2Dependencies)
lazy val module1 = project.settings(commonSettings)
.enablePlugins(JavaAppPackaging, UniversalPlugin)
.settings(libraryDependencies ++= module1Dependencies)
lazy val root = project.in(file("."))
.settings(commonSettings)
.aggregate(module2, module1)
.enablePlugins(JavaAppPackaging, UniversalPlugin)
.dependsOn(module2, module1).configs()
mappings in Universal ++= directory("module2/target/universal")
Universal ++ =目录中的映射(“ module1 / target / universal”)
现在,我想在根目录下执行packageBin任务,并将子模块zip添加到root.zip中。
问题在于,当根模块执行packageBin任务时,子模块的packageBin任务尚未完成,并且根无法获得 module1.zip 和 mudule2.zip 。
如何告诉sbt按顺序执行packageBin任务?
答案 0 :(得分:0)
我只是通过添加一个名为pack的新模块,将所有子模块的文件打包到一个zip文件中。