在 Play (scala) 多模块项目中,我想根据我在其中运行 dist 任务的范围将范围依赖项包含到 dist 工件中。例如 有这样的模块:
lazy val module1 = project in file("module1")
lazy val module2 = (project in file("module2")).dependsOn(module1 % "test->compile")
如果我运行,我希望能够生成仅包含 module1.jar 的 dist 工件
sbt dist
如果我运行,则包含 module1.jar 和 module2.jar 的 dist 工件
sbt test:dist
用例是我希望能够为负载测试或端到端测试创建一个包含某些模拟的 dist,并且我不希望在为生产而构建的实际 dist 中拥有该模拟。这里的test
范围是一个例子,我也想使用其他可能的自定义范围。
我天真地认为这会起作用,但不幸的是事实并非如此。任务的范围根本不影响 dist 任务。我已经对 sbt-native-packager 进行了大量研究,但我无法mappings
为不同的范围定义不同的内容。是否有任何我想念的内置方式来实现我想要的?还是支持上述用例的不同方法?