2014-04-23 18 views
5

Data la seguente configurazione con il plugin sbt-git:Come conoscere le attività e le impostazioni disponibili del plug-in installato in sbt?

> about 
[info] This is sbt 0.13.2 
[info] The current project is {file:/Users/jacek/oss/sbt-git/}sbt-git 0.6.4-SNAPSHOT 
[info] The current project is built against Scala 2.10.3 
[info] Available Plugins: com.typesafe.sbt.SbtGit 
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3 

Come posso interrogare per le attività disponibili e le impostazioni del plugin? Mi piacerebbe essere in grado di dire - mostra le attività e le impostazioni di un plugin - sulla shell di sbt. Possibile? Come?

risposta

2

Come è possibile richiedere le attività e le impostazioni disponibili del plug-in?

non è specifico per un plugin, ma prova a digitare tasks e settings dal guscio. Dovrebbe essere una lista relativamente breve in cui puoi pescare cose.

+0

Posso solo classificarlo come soluzione temporanea in quanto non sarò in grado di sapere da dove proviene un'attività o un'impostazione (a meno che non utilizzi 'inspect'). È troppo per un compito così semplice (nessun gioco di parole). –

0

Il trucco qui è che i plugin sono solo jar e task e le impostazioni sono solo valori Java/Scala. Quindi, letteralmente, qualsiasi metodo nel plugin jar può restituire attività e impostazioni. Tutto ciò che sa sono le impostazioni e le attività che hai aggiunto al tuo progetto. Ma per aggiungerli devi conoscere i metodi e i campi da cui ottenere le impostazioni.

In questo momento i documenti e la fonte del plug-in sono come trovare ciò che è possibile aggiungere. Di solito il README è un buon punto di partenza.

Current ha un metodo magico sugli oggetti plug-in chiamati "impostazioni" che contiene impostazioni per l'aggiunta automatica a tutti i progetti. Tuttavia, le linee guida per i plug-in sconsigliano l'uso di questa funzionalità perché i plug-in non hanno modo di sapere se le loro impostazioni hanno senso per ogni progetto in una build. Così tanti plugin non lo usano.

In una prossima versione di sbt c'è una nuova funzione AutoPlugin che risolve questo problema e consente ai plugin di auto-aggiungersi solo a progetti con determinate funzionalità. Ad esempio un plugin potrebbe aggiungersi solo a progetti Java o solo a progetti Play.

Tuttavia, è possibile interrogare SBT solo per le impostazioni che sono state aggiunte, piuttosto che per tutte le impostazioni disponibili.

Problemi correlati