2015-01-07 38 views
6

Test sınıflarımı, kaynaklarımı ve ayrıca sbt grubunun test bağımlılıklarını paketlemem gerekiyor.Test sınıfları ve test bağımlılıklarını sbt asssembly'a nasıl dahil edilir

Bu soru sbt-assembly : including test classes yardımcı olmadı - test: assembly hala istenilen sınıflardan herhangi biriyle bir kavanoz oluşturmadı.

FooBuild.scala:

lazy val cucumberAssemblySettings = assemblySettings ++ Seq(
    mainClass in assembly := Some("cucumber.api.cli.Main"), 
    jarName in assembly := "cucumber.jar", 
    mergeStrategy in assembly := { 
     case "application.conf"  => MergeStrategy.concat 
     case "logback.xml"   => MergeStrategy.last 
     case x      => defaultMergeStrategy(x) 
    } 
) 

Ve alt proje foo-cucumber dair:

lazy val foo_cucumber = Project("foo-cucumber", file("foo-cucumber")) 
    .settings(defaultSettings: _*) 
    .settings(cucumberAssemblySettings: _*) 
    .dependsOn(
     foo_test_server % "compile->compile;test->test", 
     foo_test_utils % "compile->compile;test->test" 
    ) 

Ben ayarlarında (Test, assembly) ekleme bile benim kurulumu şu anda şöyle görünür

Not yukarıda, sadece test sınıfları veya depende içermeyen bir jar (adı belirtilen, ancak sürümle birlikte tam adı olmayan) aldım ncies olursa olsun ben çağırmak ister sbt foo-cucumber/test:assembly veya sbt foo-cucumber/assembly

ben her şeyi (derlemek ve test sınıfları ve bağımlılıkları)

cevap

2

çok modül projesi için anahtar ayarlarını ayarlamaktır sahip bir kavanoz nasıl alabilirim Bu yol:

.settings(inConfig(Test)(cucumberAssemblySettings): _*) 

ve sonra değil bu yolu denedim

+0

ayarlarında herhangi in (Test, assembly) var, ancak, yine de th derlenmiş test sınıfları bulamıyorum e kavanoz dosyası. Değiştirilmiş build.sbt'inizi yayınlamayı düşünüyor musunuz? – flyingfromchina

+2

'a teşekkürler, test: assembly' çalıştırmalısınız. Dosyada başka bir değişiklik yok – Bozho

İlgili konular