2017-07-21 13 views
1

SBTではdepend directly on another projectに可能です。これは、~compileを実行すると、依存関係が変更されて再構築されるという利点があります。SBTでは、別のプロジェクトのサブプロジェクトを参照する方法は?

今、別のプロジェクトのサブプロジェクトに依存したいと思っています。そのプロジェクトの兄弟には依存しません。

a/ 
    build.sbt 
    b/ 
     build.sbt 
    c/ 
     build.sbt 

d/ 
    build.sbt 

を、私はdcbしかしないに依存します:だから、たとえば、私が持っています。

私は

d/build.sbtで、

lazy val d = ProjectRef(file("../a"), "b") 

lazy val root = project.dependsOn(d) 
を試みたが、これは、私はもちろん a/build.sbtは、追加設定を格納することが可能であることを除いて

lazy val d = RootProject(file("../a/b")) 

を行うことができ

Note: Unresolved dependencies path: 
    com.foo:a_2.10:1.0 
     +- root:root_2.10:1.0 

を与えますa/bのためにこれはピックアップされませんay。私はa/build.sbtを拾う参考資料が必要ですが、具体的にはa/bも参照してください。

このような参照方法はありますか?

答えて

0

私のところでは馬鹿げたミスでした。

lazy val root = project 

が正しくありません。そのコード行は、root/というディレクトリにサブプロジェクトを作成します。 The correct way to refer to the root projectは次のとおりです。その後

lazy val root = Project(id = "root", base = file(".")) 

lazy val d = ProjectRef(file("../a"), "b") 

lazy val root = Project(id = "root", base = file(".")).dependsOn(d) 

作品をそれが必要として。

関連する問題