2015-01-07 18 views
6

Tôi cần đóng gói các lớp thử nghiệm, tài nguyên của mình và cũng kiểm tra các phụ thuộc với assembly sbt.Làm thế nào để bao gồm các lớp kiểm tra và phụ thuộc kiểm tra trong việc kiểm tra sbt

Câu hỏi này sbt-assembly : including test classes không giúp - kiểm tra: lắp ráp vẫn không tạo ra một cái lọ với bất kỳ lớp học mong muốn nào được bao gồm.

Lưu ý rằng thiết lập của tôi hiện nay trông như thế này:

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) 
    } 
) 

Và đó là về tiểu dự án foo-cucumber:

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" 
    ) 

ngay cả khi tôi thêm (Test, assembly) trong các thiết lập ở trên, tôi chỉ nhận được một cái bình (tên của nó không phải là cái được chỉ định, nhưng tên đầy đủ, với phiên bản) không chứa các lớp thử nghiệm hoặc phụ thuộc ncies, dù tôi gọi sbt foo-cucumber/test:assembly hoặc sbt foo-cucumber/assembly

Làm thế nào để có được một lọ có tất cả mọi thứ trong nó (biên dịch và các lớp học thử nghiệm và phụ thuộc)

Trả lời

2

Chìa khóa cho các dự án đa mô-đun là để thiết lập các thiết lập theo cách này:

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

và sau đó không có bất kỳ in (Test, assembly) trong các thiết lập

+0

tôi đã cố gắng theo cách này, tuy nhiên, tôi vẫn không thể tìm ra các lớp học thử nghiệm biên soạn trong ngày e tệp jar. Bạn có nhớ đăng build.sbt đã sửa đổi của mình không? Cảm ơn – flyingfromchina

+2

bạn phải chạy 'test: assembly'. Không có sự điều chỉnh nào khác đối với tệp – Bozho

Các vấn đề liên quan