Як запустити команду sbt Assembly без тестів із командного рядка?


89

Я читав запитання: це і те . Вони пропонують змінити файл sbt. Але я хочу запустити sbt clean assemblyбез тестів і не змінювати файли збірки sbt. Чи можна за допомогою sbt? У maven є -DskipTest=trueпараметр, чи існує аналог для sbt?


ґрунтуючись на цьому і тому, та офіційній документації, я б сказав, що ні. Або вам доведеться змінити файли збірки або виконати, packageоскільки це не запускає жодних тестів.
DB5

Відповіді:


150

Для будь-яких властивостей, які потрібно змінити в командному рядку, додайте до них "set" та оберніть їх у лапки.

Приклад для Windows:

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

Приклад для Mac:

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

Відредаговано. Цитування у вікнах досить різне, тому спробували зробити цю відповідь загальною, щоб люди почали, просто використовуючи подвійні лапки для цієї конкретної відповіді. Загалом, принцип полягає в тому, що ви хочете передати один аргумент, часто неврівноважений, sbtз усім своїм "набором ...". Також зверніть увагу, що ви можете передавати декілька операторів "set" як окремі аргументи командного рядка або через крапку з комою, відокремлюючи оператори в одному аргументованому цитаті.
kshakir

1
На Mac sbt 0.13.7 я отримую <set>: 1: помилка: не знайдено: значення складання [помилка] Введіть помилку у виразі "Це справді проблема 13.7 проти 13.8?
Метрополіс,

12
Можливо, це не sbtпроблема версії, але через старішу версію sbt-assembly. Спробуйте більш універсальний "set test in Test := {}". Яка версія sbt-assemblyвказана у вашому pluginsкаталозі? Документи для обох 0.11.2 і 0.13.0 , як кажуть , щоб використовувати той же синтаксис вище в в build.sbt. Але я здогадуюсь, можливо, при використанні старого плагіна цей параметр може бути недоступний через консоль sbt, а отже, і не в командному рядку.
kshakir

5
sbt 'set test in assembly := {}' clean assemblyяк і раніше запускає наймасштабніші специфікації на macos /sbt 1.0
prayagupd

2
Якщо ви робите це всередині sbtзапрошення, запускати їх як три окремих завдань, без лапок: set test in Test := {}, clean,assembly
MCW
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.