2016-05-19 11 views
1

SBTでは、compileタスクはプロジェクトコードのコンパイルを行い、test:compileはプロジェクトのテストのコンパイルを行います。両方を行う単一のcompileタスクが必要です。私はデフォルトのcompileタスクをオーバーライドしたいと思うし、新しい名前のタスクを望んでいない(プロジェクトのメインコードへのすべてのコード変更ですべてのテストのコンパイルの成功を強制したいので)。私はBuild.scala(build.sbtではなく)を使用していて、thisで説明されている方法で試してみました。 compileタスクの戻り値の型がTaskKey[Analysis]であるため、私の試用版は下に貼り付けられ、機能しません。これをどのように変更する必要がありますか?SBTでデフォルトのコンパイルタスクをオーバーライド

val compileInTest = TaskKey[Analysis]("compile the tests") 

compileInTest := { 
    (compile in Compile in <module-name>).value 
    (compile in Test in <module-name>).value 
} 

lazy val projectA = Project(
    "a", 
    file("a"), 
    settings = hwsettings ++ Seq(
    compile := compileInTest 
)) 

答えて

2

あなたは.sbtrcファイルに別名を定義することができます両方のタスクを行います

alias compile=test:compile

+0

とてもシンプルで、魅力的です!あなたより – Bharadwaj

関連する問題