Come eseguire il comando di assemblaggio sbt senza test dalla riga di comando?


92

Ho letto domande: questo e quello . Suggeriscono di modificare il file sbt. Ma voglio eseguire sbt clean assemblysenza test e non modificare i file di build sbt. È possibile con sbt? In Maven c'è un -DskipTest=trueparametro, c'è l'analogico per sbt?


sulla base di questo e quello e della documentazione ufficiale direi di no. O devi modificare i file di build o eseguire in packagequanto ciò non esegue alcun test.
DB5

Risposte:


157

Per qualsiasi proprietà è necessario modificare sulla riga di comando, anteporre "set" e racchiuderle tra virgolette.

Esempio per Windows:

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

Esempio per Mac:

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

Modificato. Le virgolette sono abbastanza diverse in Windows, quindi ho cercato di rendere questa risposta abbastanza generica da far iniziare la gente semplicemente usando le virgolette doppie per questa risposta specifica. In generale, il principio è che si desidera passare un singolo argomento, spesso senza caratteri di escape, sbtall'intero "set ...". Notare inoltre che è possibile passare più istruzioni "set" come argomenti della riga di comando separati o separando le istruzioni con un punto e virgola all'interno di un argomento tra virgolette.
kshakir

1
Su un Mac, sbt 0.13.7 ottengo <set>: 1: errore: non trovato: value assembly [errore] Tipo di errore nell'espressione "È davvero un problema di 13,7 vs 13,8?
Metropolis

12
Potrebbe non essere un sbtproblema di versione, ma a causa di un file sbt-assembly. Prova il più universale "set test in Test := {}". Quale versione di sbt-assemblyè elencata nella tua pluginsdirectory? La documentazione per entrambi 0.11.2 & 0.13.0 dicono al utilizzano la stessa sintassi sopra all'interno del build.sbt. Ma immagino che forse quando si utilizza il plug-in più vecchio tale impostazione potrebbe non essere disponibile tramite la console sbt, e quindi non sulla riga di comando.
kshakir

5
sbt 'set test in assembly := {}' clean assemblyesegue ancora le specifiche più scalate su macos /sbt 1.0
prayagupd

2
Se stai facendo questo all'interno di un sbtmessaggio, eseguirli come tre compiti individuali, senza citazioni: set test in Test := {}, clean,assembly
MCW
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.