Sto scrivendo un plug-in di sbt per estrarre alcuni fogli di stampa che sono in uso con alcuni plug-in comuni che utilizzo. In questa ricerca, sto cercando di configurare one of the plugin se è impostato su requires
impostato su noTrigger
che richiede esplicitamente l'attivazione del plug-in nelle impostazioni del progetto.Abilita esplicitamente il plug-in SBT all'interno di un altro plug-in SBT
con SBT AutoPlugin di se ho impostato requires = BuildInfoPlugin
e trigger = allRequirements
quindi le impostazioni verranno caricamento automatico se abilitare esplicitamente il plugin di base, o se ho impostato richiede come sopra e trigger = noTrigger
quindi aggiungendo esplicitamente il plugin su cui sto lavorando importerà base plugin pure.
/* Requires enablePlugins(BuildInfoPlugin) to be explicitly set on project,
then the settings in this plugin will automatically load. */
object BuildInformation extends AutoPlugin {
override def requires = BuildInfoPlugin
override def trigger = allRequirements
}
.
/* Requires enablePlugins(BuildInformation) to be explicitly set on project,
which will automatically import BuildInfoPlugin */
object BuildInformation extends AutoPlugin {
override def requires = BuildInfoPlugin
}
C'è un modo per avere il plugin derivata esplicitamente importare il plugin di base, senza richiedere il plugin derivato stesso da aggiungere in modo esplicito? (Ad esempio, il plug-in PlayScala di PlayFramework viene caricato in sbt-native-packager con il caricamento, ma è necessario che PlayScala sia abilitato esplicitamente)
Una cosa a cui stavo pensando è semplicemente l'estensione del plug-in di base e l'override del suo metodo di trigger per essere allRequirements
, ma chiedevo se esiste un metodo più pulito/preferito.