내가 스칼라 코드를 실행하여 컴파일 할 때 sbt compile
, SBT는 말합니다 :
$ sbt compile
...
[warn] there were 5 deprecation warnings; re-run with -deprecation for details
...
어떻게합니까? (SBT 내에서?)
답변
sbt 쉘
sbt shell에서 (을 변경하지 않으려는 경우 build.sbt
) :
$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit
로 인해 in ThisBuild
, set
뿐만 아니라, 모든 하위 프로젝트로 설정을 적용합니다.
커맨드 라인
명령 행에서 위의 명령을 단일 명령으로 실행할 수도 있습니다.
sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile'
트릭은 ;
(세미콜론) 을 사용 하여 명령을 분리하고 '
(틱)을 사용하여 모든 ;
분리 된 명령을 sbt에 대한 단일 인수로 포함시킵니다 .
답변
scalacOptions := Seq("-unchecked", "-deprecation")
이 설정을 build.sbt에 추가하고 다중 모듈 프로젝트가있는 경우 모든 프로젝트 설정에 추가하십시오.
답변
시간이 흐름에 따라 새로운 솔루션이 등장합니다. 이제 전체 프로젝트를 다시 빌드하지 않고도 스칼라 컴파일러를 다시 실행할 수 있습니다.
ensime-sbt 플러그인 을 설치해야합니다 :
addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0")
그런 다음 ensimeCompileOnly
작업을 사용하여 단일 파일을 컴파일 할 수 있습니다 . SBT는 작업 별 설정 구성을 허용하므로 해당 작업에 대해서만 변경할 수 있습니다.
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala