SBT でマネージド ライブラリの依存関係を宣言するのは簡単です。
libraryDependencies ++= Seq(
"org.specs2" %% "specs2" % "1.12.2" % "test" ,
"junit" % "junit" % "4.7" % "test"
)
SBT でプロジェクトの依存関係を宣言するのは簡単ではありませんが、私もそれを行うことができます。
object RichMath extends Build {
lazy val myApp = Project("RichMath", file(".")) dependsOn(richUtil)
lazy val richUtil = RootProject(file("../RichUtil"))
}
しかし実際には、通常、上流のプロジェクトで変更がすぐに表示されるプロジェクト モードと、コードが成熟するにつれて依存プロジェクトで変更を表示するために変更を公開する必要があるライブラリ モードの間で変更したいと考えています。
コードベースの初期段階、またはモジュール間で頻繁に変更を加えたいときはいつでも、アップストリームの変更を確認するためだけに再公開するという面倒なことはしたくありません。しかし、安定した/成熟したコードでは、依存しているバージョンを正確に指定したいと考えています。
SBT は 2 つの依存関係をまったく異なるものとして扱っているようです。ビルド定義を書き直すよりも、プロジェクトとライブラリの依存関係を切り替える簡単な方法はありますか?