Làm thế nào để chạy lệnh lắp ráp sbt mà không cần kiểm tra từ dòng lệnh?


89

Tôi đã đọc các câu hỏi: cái nàycái kia . Họ đề nghị sửa đổi tệp sbt. Nhưng tôi muốn chạy sbt clean assemblymà không cần kiểm tra và không sửa đổi các tệp xây dựng sbt. Có thể với sbt không? Trong maven có -DskipTest=truetham số, có tương tự cho sbt không?


dựa trên điều này và điều kia, và tài liệu chính thức tôi sẽ nói không. Bạn phải sửa đổi các tệp bản dựng hoặc thực thi packagevì điều đó không chạy bất kỳ thử nghiệm nào.
DB5

Câu trả lời:


150

Đối với bất kỳ thuộc tính nào bạn cần thay đổi trên dòng lệnh, hãy thêm chúng bằng "set" và đặt chúng trong dấu ngoặc kép.

Ví dụ cho Windows:

sbt "set test in assembly := {}" clean assembly

Ví dụ cho Mac:

sbt 'set test in assembly := {}' clean assembly

Đã chỉnh sửa. Trích dẫn khá khác nhau trong các cửa sổ, vì vậy hãy cố gắng làm cho câu trả lời này đủ chung chung để giúp mọi người bắt đầu bằng cách chỉ sử dụng dấu ngoặc kép cho câu trả lời cụ thể này. Nói chung, nguyên tắc là bạn muốn chuyển một đối số duy nhất, thường là không thoát, cho sbttoàn bộ "bộ…" của bạn. Cũng lưu ý rằng bạn có thể chuyển nhiều câu lệnh "set" dưới dạng đối số dòng lệnh riêng biệt hoặc bằng dấu chấm phẩy phân tách các câu lệnh trong một đối số được trích dẫn.
kshakir

1
Trên máy Mac, SBT 0.13.7 tôi get <set>: 1: lỗi: không tìm thấy: giá trị lắp ráp [lỗi] Loại lỗi trong khái niệm" Đây có phải là thực sự là một vấn đề của 13,7 vs 13,8?
Metropolis

12
Đó có thể không phải là sbtvấn đề về phiên bản mà do phiên bản cũ hơn sbt-assembly. Hãy thử phổ quát hơn "set test in Test := {}". Phiên bản nào sbt-assemblyđược liệt kê trong pluginsthư mục của bạn ? Tài liệu cho cả 0.11.20.13.0 đều cho biết sử dụng cùng một cú pháp ở trên trong build.sbt. Nhưng tôi đoán có lẽ khi sử dụng plugin cũ hơn, cài đặt đó có thể không khả dụng qua bảng điều khiển sbt và do đó không có trên dòng lệnh.
kshakir

5
sbt 'set test in assembly := {}' clean assemblyvẫn chạy Specs scalatest trên macos /sbt 1.0
prayagupd

2
Nếu bạn đang làm điều này bên trong một sbtcửa sổ, chạy chúng như ba nhiệm vụ cá nhân, không có dấu ngoặc kép: set test in Test := {}, clean,assembly
MCW
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.