SBB'de "Ayrıntılar için -deprecation ile yeniden çalıştırmak" nasıl?


Yanıtlar:


217

sbt kabuğu

SBT Kabuğundayken (eğer değiştirmek istemiyorsanız build.sbt):

$ sbt
> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")
> compile
> exit

Nedeniyle in ThisBuild, setsıra, tüm alt projeler ayarları uygular.

Komut satırı

Yukarıdaki komutu komut satırında tek bir komut olarak da çalıştırabilirsiniz.

sbt '; set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation") ; compile' 

Hile, ;komutları ayırmak için (noktalı virgül) ve tüm ayrılmış komutları sbt'ye tek bir argüman olarak 'dahil etmek için (noktalı virgül) kullanmaktır ;.


2
@retronym: in Globalbunun yerine in ThisBuildalt projelerle de eşit derecede iyi çalışır - ancak ikincisi neden tercih edilir? hatta öyle mi?
— Erik Kaplun

23
scalacOptions := Seq("-unchecked", "-deprecation")

Bu ayarı build.sbt dosyasına ekleyin ve çok modüllü bir projeniz varsa her projenin ayarlarına ekleyin.


-2

Zaman geçtikçe yeni çözümler ortaya çıkıyor. Böylece, tüm proje yeniden yapılandırmasını yayınlamadan scala derleyicisini yeniden çalıştırabilirsiniz.

Ensime-sbt eklentisini yüklemeniz gerekir :

addSbtPlugin("org.ensime" % "sbt-ensime" % "1.0.0")

Bundan sonra ensimeCompileOnlygörevi tek bir dosyayı derlemek için kullanabilirsiniz . SBT görev başına ayarlar yapılandırmasına izin verir, böylece yalnızca bu görevler için değişiklik yapabilirsiniz:

set scalacOptions in (Compile, EnsimeKeys.ensimeCompileOnly) += "-deprecation"
ensimeCompileOnly src/main/scala/MyFile.scala

1
Sadece almak -deprecationiçin Ensime eklemek korkunç bir fikir. Ensime, editörlerde anında ek açıklamaları desteklemek içindir. Bunun yanı sıra, Ensime'in kendisinin bazı tür projelerle (özellikle makroları yoğun olarak kullananlarla) bir dizi sorunu vardır.
— Zac

ensime eklentisi, yağ dili sunucusuna küçük bir arkadaştır. Ayrı olarak kullanabilirsiniz. Ya da sadece bazı işlevleri kopyalayabilir.
— ayvango
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.