2016-04-27 14 views
9

ho cominciato a vedere i seguenti messaggi di avviso quando si fa SBT costruzione:SBT Scala Versione Attenzione

[warn] Scala version was updated by one of library dependencies: 
[warn] * org.scala-lang:scala-library:(2.11.1, 2.11.7, 2.11.2, 2.11.6, 2.11.5, 2.11.0) -> 2.11.8 
[warn] To force scalaVersion, add the following: 
[warn] ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) } 
[warn] Run 'evicted' to see detailed eviction warnings 

Perché è questo? Sono su 0.13.11 sbt!

Qualcosa è cambiato con la versione sbt? Credo di essere stato su 0.13.5 prima e non ho visto alcun avviso di questo tipo!

risposta

10

Significa che il progetto definisce una versione di Scala inferiore a 2.11.8, ma sbt ha deciso di aumentarlo a 2.11.8 perché una delle dipendenze utilizza quella versione. Non dovrebbe avere importanza perché queste versioni sono compatibili con i binari. Immagino che ti avverta perché potresti aver deliberatamente usato una versione più piccola a causa di qualche regressione, e in quel caso avresti dovuto forzare una versione di Scala più piccola usando la spiegazione. In altri casi, ignora semplicemente l'avviso o aumenta la versione di Scala del progetto fino all'ultimo (2.11.8).

2

Non sono sicuro che l'aggiunta/modifica della versione di Scala sarebbe benigna. Quindi ho appena aggiunto quanto segue al mio build.sbt per eliminare gli avvisi:

evictionWarningOptions in update := 
    EvictionWarningOptions.default 
    .withWarnTransitiveEvictions(false) 
    .withWarnDirectEvictions(false) 
    .withWarnScalaVersionEviction(false)