Conforme o tempo flui, novas soluções são surgidas. Portanto, agora você pode executar novamente o compilador scala sem emitir a reconstrução do projeto inteiro.
Depois disso, você poderá usar a ensimeCompileOnlytarefa para compilar um único arquivo. O SBT permite a configuração de configurações por tarefas, para que você possa alterar apenas essas tarefas:
set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala
Adicionar Ensime apenas para obter -deprecationé uma péssima idéia. O Ensime é para apoiar anotações on-the-fly em editores. Além disso, o próprio Ensime tem uma série de problemas com alguns tipos de projetos (principalmente aqueles que usam muito as macros).
Zac
O ensime plugin é um pequeno companheiro para o servidor de idiomas fat. Você pode usá-lo separadamente. Ou poderia apenas copiar algumas funcionalidades dele.
Respostas:
sbt shell
Enquanto estiver no shell sbt (se você não quiser alterar o seu
build.sbt
):Devido a
in ThisBuild
,set
aplica as configurações a todos os subprojetos também.Linha de comando
Você também pode executar o procedimento acima como um único comando na linha de comando.
O truque é usar
;
(ponto e vírgula) para separar comandos e'
(ticks) para incluir;
comandos todos -separados como um único argumento para sbt.fonte
in Global
vez dein ThisBuild
também funciona igualmente bem com subprojetos - mas por que o último é preferido? ou é mesmo?Adicione essa configuração ao seu build.sbt e, se você tiver um projeto com vários módulos, adicione-o às configurações de todos os projetos.
fonte
Conforme o tempo flui, novas soluções são surgidas. Portanto, agora você pode executar novamente o compilador scala sem emitir a reconstrução do projeto inteiro.
Você precisa instalar o plugin ensime-sbt :
Depois disso, você poderá usar a
ensimeCompileOnly
tarefa para compilar um único arquivo. O SBT permite a configuração de configurações por tarefas, para que você possa alterar apenas essas tarefas:fonte
-deprecation
é uma péssima idéia. O Ensime é para apoiar anotações on-the-fly em editores. Além disso, o próprio Ensime tem uma série de problemas com alguns tipos de projetos (principalmente aqueles que usam muito as macros).