在sbt中包含来自测试工件的依赖项

时间:2015-05-01 10:22:39

标签: scala sbt

我正在编写将在我的应用utils中使用的模块myapputils中的某些类仅用于测试

sbt包含以下定义:

build.sbt中的

utils

name := "utils"

organization := "com.mycompany"

publishArtifact in Test := true

libraryDependencies ++= Seq(
    "com.exteranl1" %% "external1" % "1.0.0"
  )
build.sbt中的

myapp

libraryDependencies ++= Seq(
    "com.mycompany" %% "utils" % "1.0.0",
    "com.mycompany" %% "utils" % "1.0.0" % "test" classifier "tests"
)

这对我有用。 我可以在external1中使用myapp,在myapp的测试中,我可以使用utils的测试中定义的类

我的问题是当我尝试添加仅在测试中使用的external2时,因此我不希望它包含在compile工件中(utilsmyapp

我尝试像这样修改utils build.sbt

libraryDependencies ++= Seq(
    "com.exteranl1" %% "external1" % "1.0.0",
    "com.exteranl2" %% "external2" % "1.0.0" % "test"
  )

external2的编译测试中不存在myapp

我的解决方法是将external2添加到myapp

libraryDependencies ++= Seq(
    "com.mycompany" %% "utils" % "1.0.0",
    "com.mycompany" %% "utils" % "1.0.0" % "test" classifier "tests",
    "com.exteranl2" %% "external2" % "1.0.0" % "test"
)

但这不是很方便,因为我需要跟踪myapp utils测试中使用的所有包。

所以我的问题是, 我可以在external2中以某种方式标记utils以告诉编译器将其添加为myapp中的依赖项吗?

0 个答案:

没有答案