2014-06-18 22 views
7

Build.scala derlenirken SBT tarafından kullanılan scalacOptions ayarlanmasına/ekleneceğine karar vermeye çalışırken biraz sorun yaşıyorum. Ekibimdeki bir kişi Akka'nın Build.scala kodundan bir parça kod kopyaladı ve sonuç bir takım onaylanmamış uyarılar ve bir özellik uyarısıydı.Build.scala derlenirken SBT tarafından kullanılan scalacOptions nasıl ayarlanır?

$ reload 
[info] Loading global plugins from /Users/xxx/.sbt/0.13/plugins 
[info] Loading project definition from /Users/xxx/yyy/zzz/project 
[info] Compiling 1 Scala source to /Users/xxx/yyy/zzz/project/target/scala-2.10/sbt-0.13/classes... 
[warn] there were 3 deprecation warning(s); re-run with -deprecation for details 
[warn] there were 1 feature warning(s); re-run with -feature for details 
[warn] two warnings found 

şeyler ben

  1. build.sbt için scalacOptions ++= Seq("-unchecked", "-feature") ekle çalıştılar. Build.scala'un derlenmesinden önce yüklenmesini umuyordum.
  2. Zaten Build.scala
  3. scalacOptions önce reload ayarlı girişimi içinde scalacOptions ++= Seq(...., "-unchecked", "-feature") vardı ama ben kaldırılmış uyarıların nedenini bulabildim kadar kan ter yoluyla

    $ ;set scalacOptions ++= Seq("-feature", "-deprecated") ;reload 
    [info] Defining zzz/*:scalacOptions 
    [info] The new value will be used by zzz/compile:scalacOptions 
    [info] Reapplying settings... 
    [info] Set current project to zzz (in build file:/Users/xxx/yyy/zzz/) 
    [info] Loading global plugins from /Users/xxx/.sbt/0.13/plugins 
    [info] Loading project definition from /Users/xxx/yyy/zzz/project 
    [info] Compiling 1 Scala source to /Users/xxx/yyy/zzz/project/target/scala-2.10/sbt-0.13/classes... 
    [warn] there were 3 deprecation warning(s); re-run with -deprecation for details 
    [warn] there were 1 feature warning(s); re-run with -feature for details 
    [warn] two warnings found 
    [warn] Discarding 1 session setting. Use 'session save' to persist session settings. 
    

atılacak gibi görünüyor ama özellik uyarısının sebebini bulamıyorum. Build.scalaproject dizini anlamına gelmektedir

cevap

7

Sbt is recursive, project dizinde üst dizin veya build.sbt başka tanımla oluşturulmuştur.

Bu nedenle project dizininde build.sbt oluşturmalısınız. project/build.sbt'da scalacOptions ++= Seq("-unchecked", "-feature")'u ayarlayabilmeniz gerekir.

+0

Yanlış yerde build.sbt vardı. Kök dizinden '' build.sbt' '' 'in/build.sbt''ye geçtiğimde bu işe yaradı – drstevens

+1

@drstevens haklısınız, proje/build.sbt'de olmalı, cevabımı güncelledim. Build.scala'yı oluşturmak istiyorsanız, proje/proje/Build.scala'da bir tane oluşturabilirsiniz. – lpiepiora

İlgili konular