有两个sbt项目:common和projectX.
该项目common已在一些依赖test范围,我想看到的test在classpath中projectX具有common作为依赖.
这是摘录从build.sbt在projectX与test->test配置映射中所描述的配置:
libraryDependencies ++= Seq(
"org" %% "common" % "0.1" % "compile->compile;test->test"
)
Run Code Online (Sandbox Code Playgroud)
执行test:compile时projectX出现以下错误:
[error](*:update)sbt.ResolveException:unresolved dependency:org#common_2.10; 0.1:org中的公共配置#common_2.10; 0.1:'test'.需要从org#projectX_2.10; 0.0.1-SNAPSHOT测试
如何将test项目中的-scoped依赖项添加到项目common中的test类路径projectX?
我以前从未见过该错误,也无法重现它,但看起来测试工件尚未经过publishLocal编辑,因为它们不是默认的。
根据选择默认工件:
默认情况下,发布的工件是主要的二进制 jar、包含主要源代码和资源的 jar 以及包含 API 文档的 jar。您可以为测试类、源或 API 添加工件,也可以禁用一些主要工件。
添加所有测试工件:
Run Code Online (Sandbox Code Playgroud)publishArtifact in Test := true
这就是您应该做的来发布配置的工件test。
将以下内容添加到build.sbt项目common并将publishLocal测试打包并发布到本地 Ivy2 存储库:
publishArtifact in Test := true
Run Code Online (Sandbox Code Playgroud)
通过更改,您应该在日志中看到以下内容publishLocal- 请注意与测试相关的工件:
> common/publishLocal
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1-sources.jar ...
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1-tests-sources.jar ...
[info] Done packaging.
[info] Done packaging.
[info] Updating {file:/Users/jacek/sandbox/multi-module-test-scope-25003683/}common...
[info] Wrote /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] :: delivering :: org#common_2.10;0.1 :: 0.1 :: release :: Mon Jul 28 23:00:41 CEST 2014
[info] delivering ivy file to /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/ivy-0.1.xml
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1-javadoc.jar ...
[info] Done packaging.
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1.jar ...
[info] Done packaging.
[info] Test Scala API documentation to /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/test-api...
[info] Compiling 1 Scala source to /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/test-classes...
model contains 2 documentable templates
[info] Test Scala API documentation successful.
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1-tests-javadoc.jar ...
[info] Done packaging.
[info] Packaging /Users/jacek/sandbox/multi-module-test-scope-25003683/common/target/scala-2.10/common_2.10-0.1-tests.jar ...
[info] Done packaging.
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/docs/common_2.10-javadoc.jar
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/srcs/common_2.10-tests-sources.jar
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/jars/common_2.10-tests.jar
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/jars/common_2.10.jar
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/srcs/common_2.10-sources.jar
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/poms/common_2.10.pom
[info] published common_2.10 to /Users/jacek/.ivy2/local/org/common_2.10/0.1/docs/common_2.10-tests-javadoc.jar
[info] published ivy to /Users/jacek/.ivy2/local/org/common_2.10/0.1/ivys/ivy.xml
[success] Total time: 2 s, completed Jul 28, 2014 11:00:43 PM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1120 次 |
| 最近记录: |