プロジェクトが依存しているRootProjectからの推移的な依存関係を解決するためにSBTを適切に構成できないようです。問題はリゾルバのようです。非常にシンプルな構造で複製することができました。コードについては、以下を参照してください。
common内/実行できsbt console
、依存関係を解決して使用できます。ただし、proj/内では同じコマンドが失敗します。とUNRESOLVED DEPENDENCIES
。しかし、私のedofic snapshots
リゾルバーは、試行されたリゾルバーの中にリストされていません。どういうわけかそれは拾われていません。リゾルバーを手動でBuild.scalaに追加すると機能しますが、これは推移的な依存関係の目的を無効にします。
├── common
│ └── build.sbt
└── proj
└── project
└── Build.scala
common / build.sbt
scalaVersion := "2.10.0"
resolvers += "edofic snapshots" at "http://edofic.github.com/repository/snapshots"
libraryDependencies += "com.edofic" % "reactivemacros_2.10.0" % "0.1-SNAPSHOT"
proj / project / Build.scala
import sbt._
import Keys._
object BarBuild extends Build {
val common = RootProject(file("../common"))
val main = Project(id = "main", base = file(".")).settings(
scalaVersion := "2.10.0"
) dependsOn common
}
明確にするために、「共通」用に個別のSBT構成を設定し、ローカルで公開したくない-必要に応じてSBTにインクリメンタル再コンパイルを処理させたい。RootProjectはその仕事にとって間違ったツールですか?