7
これはコンパイルしますが、をcompile
タスクに追加しません。これを行う正しい方法は何ですか?現在のsbtタスクスコープ内の変数を変更する
compileWall in ThisBuild := Def.task {
scalacOptions += "-Xfatal-warnings"
(compile in Compile).value
}.value
これはコンパイルしますが、をcompile
タスクに追加しません。これを行う正しい方法は何ですか?現在のsbtタスクスコープ内の変数を変更する
compileWall in ThisBuild := Def.task {
scalacOptions += "-Xfatal-warnings"
(compile in Compile).value
}.value
SBT設定ランタイムで不変であるので、我々はカスタマイズTask
でscalacOptions
を更新することはできません。
http://www.scala-sbt.org/0.13/docs/Full-Def.html#Reminder%3A+it%E2%80%99s+all+immutable
が、そこカスタマイズ設定を作成によってカスタマイズTask
の変化scalacOptions
を達成するための方法があり、この設定でscalacOptions
をバインドする、のような:
lazy val MyCompile = config("MyCompile") extend Compile // customize config: MyCompile
configs(MyCompile) //configs
inConfig(MyCompile)(Defaults.configTasks) //inConfig and append the Defaults.configTasks
val compileWall = taskKey[Unit]("compileWall")
compileWall in ThisBuild := {
(compile in MyCompile).value
}
scalacOptions in MyCompile := Seq("-Xfatal-warnings") // bind the scalacOptions in customize config.