2015-12-15 4 views
8

Gibt es eine Möglichkeit, ein SBT-Plugin (ein AutoPlugin) für eine bestimmte Aufgabe zu deaktivieren.SBT - So deaktivieren Sie ein Plugin für eine bestimmte Aufgabe (z. B. "Paket")

Zum Beispiel möchte ich das Plugin Scoverage beim Packen deaktivieren.

Ich habe versucht, mit:

coverageEnabled in `package` := false 

Aber das funktioniert nicht. So suche ich nach einer Möglichkeit, das Plugin vollständig zu deaktivieren.

+0

Ich weiß nicht die Antwort auf Ihre ganze Frage, aber in Build-Dateien wird die 'Paket'-Aufgabe als' PaketBin' bezeichnet (da 'Paket' ein Scala-Schlüsselwort ist) –

Antwort

3

Nein. Zu der Zeit, zu der eine Aufgabe ausgeführt wird (in diesem Fall packageBin Aufgabe), wurde die Abhängigkeitsgrafik von allen automatischen Plugins geladen, und jede Einstellung/Aufgabe würde nicht wissen, ob sie von einem Plugin stammt oder nicht. Im Allgemeinen können Sie Plugins in sbt ab heute (0.13.9) nicht mehr dynamisch aktivieren oder deaktivieren.

Einige Plugins fügen möglicherweise Erweiterungspunkte hinzu, um bestimmte Verhaltensweisen zu überschreiben (z. B. test in assembly), aber integrierte Tasks wie packageBin kennen die Plugins nicht.

Ich habe versucht, ein Konzept namens build level vorzuschlagen, das hier verwandt sein könnte, aber es hat sich nicht durchgesetzt.

Verwandte Themen