Bagaimana menjalankan perintah perakitan sbt tanpa tes dari baris perintah?


92

Saya telah membaca pertanyaan: ini dan itu . Mereka menyarankan untuk mengubah file sbt. Tapi saya ingin berjalan sbt clean assemblytanpa tes dan tidak memodifikasi file build sbt. Apakah mungkin dengan sbt? Di maven ada -DskipTest=trueparameter, apakah ada analog untuk sbt?


berdasarkan ini dan itu, dan dokumentasi resmi saya akan mengatakan tidak. Anda harus mengubah file build atau menjalankannya packagekarena itu tidak menjalankan pengujian apa pun.
DB5

Jawaban:


157

Untuk properti apa pun yang perlu Anda ubah pada baris perintah, tambahkan dengan "set", dan bungkus dengan tanda kutip.

Contoh untuk Windows:

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

Contoh untuk Mac:

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

Diedit. Mengutip cukup berbeda di windows, jadi cobalah membuat jawaban ini cukup umum untuk membuat orang mulai hanya dengan menggunakan tanda kutip ganda untuk jawaban spesifik ini. Secara umum, prinsipnya adalah Anda ingin meneruskan satu argumen, sering kali tanpa lolos, sbtdengan seluruh "set…" Anda. Perhatikan juga Anda dapat meneruskan beberapa pernyataan "set" sebagai argumen baris perintah terpisah, atau dengan titik koma yang memisahkan pernyataan dalam satu argumen yang dikutip.
kshakir

1
Di Mac, sbt 0.13.7 Saya mendapatkan <set>: 1: error: not found: value assembly [error] Ketik error dalam ekspresi "Apakah ini benar-benar masalah 13.7 vs 13.8?
Metropolis

12
Itu mungkin bukan sbtmasalah versi, tetapi karena versi yang lebih lama sbt-assembly. Coba yang lebih universal "set test in Test := {}". Versi apa sbt-assemblyyang terdaftar dalam pluginsdirektori Anda ? Dokumen untuk 0.11.2 & 0.13.0 keduanya mengatakan untuk menggunakan sintaks yang sama di atas dalam build.sbt. Tapi saya menduga mungkin ketika menggunakan plugin yang lebih lama pengaturan itu mungkin tidak tersedia melalui konsol sbt, dan karenanya tidak pada baris perintah.
kshakir

5
sbt 'set test in assembly := {}' clean assemblymasih menjalankan Spek terbaru di macos /sbt 1.0
prayagupd

2
Jika Anda melakukan ini dalam sebuah sbtprompt, menjalankannya sebagai tiga tugas individu, tanpa tanda kutip: set test in Test := {}, clean,assembly
mcw
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.