Jak uruchomić polecenie zestawu SBT bez testów z wiersza poleceń?


89

Czytałem pytania: to i to . Sugerują modyfikację pliku sbt. Ale chcę działać sbt clean assemblybez testów i nie modyfikować plików kompilacji sbt. Czy to możliwe z kimś? W maven jest -DskipTest=trueparametr, czy jest odpowiednik dla sbt?


na podstawie tego i tamtego, i oficjalnej dokumentacji powiedziałbym nie. Albo musisz zmodyfikować pliki kompilacji lub wykonać, packageponieważ nie uruchamia to żadnych testów.
DB5

Odpowiedzi:


150

Wszelkie właściwości, które chcesz zmienić w wierszu poleceń, poprzedzaj słowem „set” i umieszczaj w cudzysłowach.

Przykład dla Windows:

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

Przykład dla Maca:

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

Edytowano. Cytowanie jest zupełnie inne w oknach, więc staraliśmy się, aby ta odpowiedź była na tyle ogólna, aby ludzie zaczęli używać po prostu podwójnych cudzysłowów dla tej konkretnej odpowiedzi. Ogólnie zasada jest taka, że ​​chcesz przekazać pojedynczy argument, często bez zmiany znaczenia, do sbtcałego swojego „zestawu…”. Należy również zauważyć, że można przekazać wiele instrukcji „set” jako oddzielne argumenty wiersza poleceń lub oddzielając je średnikami w jednym argumencie umieszczonym w cudzysłowie.
kshakir

1
Na komputerze Mac, sbt 0.13.7, otrzymuję <set>: 1: błąd: nie znaleziono: wartość assemblacja [błąd] Wpisz błąd w wyrażeniu „Czy to naprawdę jest problem 13,7 w porównaniu z 13,8?
Metropolis

12
To może nie być sbtproblem z wersją, ale ze względu na starszą wersję sbt-assembly. Wypróbuj bardziej uniwersalny "set test in Test := {}". Jaka wersja programu sbt-assemblyznajduje się w Twoim pluginskatalogu? Dokumentacja dla wersji 0.11.2 i 0.13.0 mówi, że używa tej samej powyższej składni w pliku build.sbt. Ale zgaduję, że być może podczas używania starszej wtyczki to ustawienie może nie być dostępne za pośrednictwem konsoli sbt, a zatem nie w wierszu poleceń.
kshakir

5
sbt 'set test in assembly := {}' clean assemblynadal działa skalatest Specs na macos /sbt 1.0
prayagupd

2
Jeśli robisz to wewnątrz sbtmonit, uruchom je jako trzy poszczególnych zadań, bez cudzysłowów: set test in Test := {}, clean,assembly
MCW
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.