我正在编写将在我的应用utils
中使用的模块myapp
。 utils
中的某些类仅用于测试
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
工件中(utils
和myapp
)
我尝试像这样修改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
中的依赖项吗?