2017-12-01 11 views
1

私は3つのサブプロジェクトを集約するプロジェクトadmpありますサブプロジェクトのクラスを含むREPLを含むスカラーを開始するには?

lazy val admp = (project in file(".")) 
    .aggregate(common, regression, integration) 
    .settings(commonSettings) 

私はtest:consoleコマンドを実行すると、その後のサブプロジェクトからのテストクラスが含まれていません。

sbt:admp> test:console 
[info] Starting scala interpreter... 
Welcome to Scala 2.11.9 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151). 
Type in expressions for evaluation. Or try :help. 

scala> import me.enreach.qa.Aerospike._ 
<console>:11: error: not found: value me 
     import me.enreach.qa.Aerospike._ 
      ^

私はその後、common/test:consoleコマンドを実行する場合にのみ、それはロードをクラス:

sbt:admp> common/test:console 
[info] Starting scala interpreter... 
Welcome to Scala 2.11.9 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151). 
Type in expressions for evaluation. Or try :help. 

scala> import me.enreach.qa.Aerospike._ 
import me.enreach.qa.Aerospike._ 
import me.enreach.qa.Aerospike._ 

すべてのクラスからクラスをロードする方法はありますかubプロジェクト?

答えて

1

これは、テストスコープ内のサブプロジェクトに依存関係を追加することで実現できます。あなたのadmpプロジェクト定義にこれを追加します。

.dependsOn(
    common  % "test->test", 
    regression % "test->test", 
    integration % "test->test" 
) 

この方法は、あなたがadmpのテスト構成は、各サブプロジェクトのテスト構成に依存していることを言います。 configurations mappingについては、sbtのドキュメントで詳しく読むことができます。

admp/test:consoleを実行すると、すべてのサブプロジェクトのテストソースにアクセスできるはずです。

+0

回答ありがとうございました –

+0

問題ありません。これは良い質問だと思う。私は実際に、この解決法について最近非常に最近学んだ。私は設定マッピングは非常に共通のものではないと思います。 – laughedelic