Kodumu en son Scala kanamasına karşı test etmek istiyorum.Sbt'nin gece yapısı Scala 2.11, 2.12 veya 2.13'ü kullanmasını nasıl söyleyebilirim?
answer for Scala 2.10 artık çalışmıyor.
Ne yapabilirim?
Kodumu en son Scala kanamasına karşı test etmek istiyorum.Sbt'nin gece yapısı Scala 2.11, 2.12 veya 2.13'ü kullanmasını nasıl söyleyebilirim?
answer for Scala 2.10 artık çalışmıyor.
Ne yapabilirim?
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.
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. –
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