2016-11-16 15 views

cevap

13

hızla: bir

Scala takımı: ikinci satırında

resolvers += "scala-integration" at 
    "https://scala-ci.typesafe.com/artifactory/scala-integration/" 
scalaVersion := "2.12.2-bin-abcd123" 

,

uzun sürüm (2.13, 2.122.11) Jenkins tarafından bir versiyon numarası yerine daha uzun Scala -SNAPSHOT sürümlerini yayımlar. (Bunu tekrar başlatmak bir topluluk katkısı olabilir; bkz. this ticket.)

Ancak ekip, her biri kendi sabit sürüm numarasına sahip gece yapımları yayınlıyor. Gecenin versiyon numarası örn. 2.12.1-bin-abcd123. (Sbt için -bin- sinyalleri ikili uyumluluğu. 2.13 henüz ikili uyumluluk stabilize olmadı, bu yüzden versiyonları -pre- yerine -bin- vardır.)

üç şey yapmanız gerekir, bu nightly'ler birini kullanmak SBT anlatmak için.

Birincisi, nightly'leri tutulur çözümleyicinizi ekleyin: Scala sürümünü belirtin

resolvers += "scala-integration" at 
    "https://scala-ci.typesafe.com/artifactory/scala-integration/" 

İkinci:

scalaVersion := "2.12.2-bin-abcd123" 

Ama bu gerçek bir sürüm numarası değil. Bir gece yapısının yayınlandığı scala/scala repository numaralı belgede 7 karakterlik SHA'yı içeren bir sürüm numarası değiştirin. En son yayınlanan sürümü burada bulabilirsiniz: 2.13 veya 2.12 veya 2.11).

Çok amaçlı bir derlemeniz varsa, bu ayarları tüm projelerde ayarladığınızdan emin olun. Bunları sbt kabuğunda etkileşimli olarak ayarlarsanız, ++2.12.2-bin-abcd123 hile yapar.

Zeyilname:

bir sürüm numarasını ararken bulaşmak istemiyorum ve size inşa olmayan tekrarlanabilir hale sakıncası yoksa, kendi build.sbt bu koyabilirsiniz edin:

resolvers += "scala-integration" at 
    "https://scala-ci.typesafe.com/artifactory/scala-integration/"       
scalaVersion := { 
    val url = "https://scala-ci.typesafe.com/job/scala-2.12.x-integrate-bootstrap/lastStableBuild/artifact/jenkins.properties/*view*/" 
    val props = new java.util.Properties 
    props.load(new URL(url).openStream) 
    props.getProperty("version") 
} 

Ben uygun bir yerde, bir başka boş sbt projesinde tutmak bu yüzden her zaman hızlı bir son-gece repl şey sınamak için oraya sbt console çalıştırabilirsiniz.

+0

Ayrıca 'CrossVersion.patch' kullanmak isteyeceğiniz derleyici eklentilerini desteklemek için https://github.com/typelevel/scala/issues/135 ... adresine bakın. Typelevel Scala uyumluluğunu almak için 'scalaOrganization.value' işlevini kullanın. –

+0

Sıklıkla bunu yapmak istediğinizi bulursanız, ek bir çözümleyici eklemeyi global SBT yapılandırmanıza eklemeniz de mümkündür (ör. Https: //gist.github.com/retronym/61bfa9585a303cdaa204b5916124bf0c) – retronym

İlgili konular