Перекомпилировать build.sbt и project/ перед testOnly

#scala #sbt

#scala #sbt

Вопрос:

Моя структура проекта scala довольно проста:

 /someApp
  /scala
     /project
        Dependencies.scala
        ...
     /main
        ...
     /test
       MyTest.scala
  /target
     ...
  build.sbt
  

Теперь давайте рассмотрим:

 sbt> testOnly *MyTest
  

Он перекомпилирует MyTest.scala и выполняет его так, как я ожидаю. Однако, когда я вношу изменения в build.sbt or project/Dependencies.scala , он игнорирует эти изменения.

Может ли кто-нибудь объяснить мне и понять, почему это происходит? sbt Кажется, это одна огромная загадка…

Ответ №1:

Чтобы включить изменения, внесенные в .sbt файлы или .scala файлы в папке проекта, вам необходимо выполнить reload команду в командной строке sbt.

Вы также можете заставить sbt перезагружаться каждый раз, когда он обнаруживает изменения в этих файлах, добавив эту строку в свой build.sbt :

 Global / onChangedBuildSource := ReloadOnSourceChanges