在Play(scala)多模块项目中,我希望根据我运行dist任务的范围将scoped依赖项包含到dist工件中.E。g。有这样的模块:
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
。有没有我想念的内置方式来实现我想要的东西?或者支持上述用例的不同方法?