2015-12-15 5 views
8

C'è un modo per disattivare un plug-in SBT (un AutoPlugin) per un'attività specifica.SBT - Come disattivare un plug-in per un'attività specifica (ad esempio "pacchetto")

Ad esempio, mi piacerebbe disattivare il plugin SCoverage durante il confezionamento.

ho provato con:

coverageEnabled in `package` := false 

Ma questo non funziona. Quindi cerco un modo per disattivare completamente il plugin.

+0

Non conosco la risposta all'intera domanda, ma nei file di build, il task 'package' viene chiamato' packageBin' (dato che 'package' è una parola chiave di Scala) –

risposta

3

No. Al momento dell'esecuzione di un'attività (in questo caso l'attività packageBin), il grafico delle dipendenze delle attività è stato caricato da tutti i plugin automatici e ogni impostazione/attività non saprebbe se proviene da un plug-in o non. In generale, non è possibile abilitare o disabilitare in modo dinamico i plug-in in SBT a partire da oggi (0.13.9).

Alcuni plug-in possono aggiungere punti di estensione specifici per ignorare alcuni comportamenti (ad esempio, test in assembly), ma le attività incorporate come packageBin non sono a conoscenza dei plug-in.

Ho provato a proporre un concetto chiamato build level, che potrebbe essere correlato qui, ma non ha preso piede.