Можно ли ссылаться на проект с другой версией SBT? - PullRequest
1 голос
/ 26 августа 2011

У меня мой проект (только для экспериментов с sbt), который основан на sbt 0.10. И другой тот, который я хочу использовать в качестве зависимости. Это на основе 0,7.

В настоящее время я пытаюсь включить второе приложение в свой проект, используя uri reference . Но сборка не удалась, возможно, из-за несовместимых версий sbt в этих проектах. Сообщение об ошибке:

[info] Compiling 1 Scala source to /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/target/scala-2.8.1.final/classes...
[error] /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/Plugins.scala:1: not found: value sbt
[error] import sbt._
[error]        ^
[error] /home/zan/.sbt/staging/113d72bca54918c1f033/project/plugins/Plugins.scala:3: too many arguments for constructor Object: ()java.lang.Object
[error] class Plugins(info: ProjectInfo) extends PluginDefinition(info)  {
[error]              ^

... и т. Д.

Могу ли я как-то сослаться на второй проект, чтобы можно было собрать и / или запустить мой проект одной командой?

1 Ответ

3 голосов
/ 26 августа 2011

Ссылки между проектами SBT поддерживаются, только если оба проекта используют SBT 0.10. Но вы можете использовать publish и artifact и зависеть от этого из нижестоящего проекта через Ivy.

Введите команду publish-local в первом проекте, чтобы упаковать код в JAR и записать его в ~/.ivy2/local/org.abc.def/....

В проекте SBT 0.10 добавьте этот параметр:

libraryDependencies += "org.abc" %% "def" % "0.1"
...