Voglio scrivere un plugin sbt, e al suo interno ho bisogno di ottenere l'elenco di tutte le dipendenze del progetto corrente (con alcune informazioni, è possibile). È possibile?C'è un modo per ottenere tutte le dipendenze del progetto tramite il plugin sbt?
risposta
Nel nostro progetto utilizziamo l'attività di aggiornamento per ottenere le dipendenze delle librerie:
(update) map {
(updateReport) =>
updateReport.select(Set("compile", "runtime")) foreach { srcPath => /* do something with it */ }
}
Spero che questo aiuti per un inizio.
[EDIT] Ecco un semplice esempio come aggiungere questa funzionalità per il vostro compito:
val depsTask = TaskKey[Unit]("find-deps", "finds the dependencies")
val testConf = config("TestTasks") hide
private lazy val testSettings = inConfig(testConf)(Seq(
depsTask <<= (update) map {
(updateReport) =>
updateReport.select(Set("compile", "runtime")) foreach { srcPath => println("src path = " + srcPath) }
}
))
Per utilizzare l'attività è sufficiente aggiungere testSettings al progetto.
Per ulteriori informazioni sulle attività, vedere sbt documentation. Ulteriori informazioni sull'attività di aggiornamento possono essere trovate here.
[EDIT2] L'attività di aggiornamento ottiene solo le dipendenze della libreria. Non ho mai provato le dipendenze esterne del progetto (come in un repository git). Forse hai bisogno di qualcosa di simile al seguente: find project artifacts. L'attività allTheArtifacts trova le risorse del progetto e le risorse delle dipendenze del progetto.
- 1. Ottenere intelliJ IDEA capire le dipendenze SBT
- 2. Impossibile ottenere le dipendenze per il riferimento del progetto
- 3. progetto di SBT è molto lento per risolvere le dipendenze
- 4. Maven gestione delle dipendenze per le dipendenze del plugin
- 5. Scarica tutte le dipendenze, dipendenze plugin, compilatori, ecc. Con Maven?
- 6. Plugin Sbt per jruby
- 7. Plugin del compilatore SBT come dipendenza transitoria
- 8. Eclipse RCP: tutte le possibilità per definire le dipendenze?
- 9. Sbt 0.12.4+ richiesto per l'importazione del progetto
- 10. Maven - C'è un modo per creare facilmente un jar 'uber' con tutte le dipendenze trasferite?
- 11. Cerca tutte le funzioni esistenti per le dipendenze del pacchetto?
- 12. Aggiunta di dipendenze a un progetto Scala (sbt)
- 13. Scala sbt: dipendenze multiple in sbt
- 14. Le dipendenze cicliche sono supportate in SBT?
- 15. Scarica un pacchetto e tutte le dipendenze
- 16. Come impostare il progetto predefinito per SBT
- 17. IntelliJ 14 - Crea/importa un progetto Scala/SBT
- 18. Come elenco tutte le licenze utilizzate in un progetto maven?
- 19. automaticamente List dipendenze per un progetto
- 20. Maven-webstart-plugin per includere le dipendenze di runtime
- 21. Le dipendenze della libreria sbt dipendono dall'ordine?
- 22. Come posso collegare facilmente le fonti per le dipendenze nel progetto Grails in IntelliJ IDEA?
- 23. SBT: dipendenza da altri Progetto SBT senza pubblicare
- 24. Il modo più semplice e veloce per scindere tutte le dipendenze da una classe
- 25. Come configurare le dipendenze gestite in un progetto SBT 0.11 con Build.scala
- 26. C'è un modo in Primavera per autorizzare tutte le dipendenze di un determinato tipo?
- 27. C'è un modo per elencare la versione java di tutte le mie dipendenze Maven?
- 28. Come risolvere Visual Studio e includere tutte le dipendenze del mio progetto durante la compilazione?
- 29. py2exe non trova tutte le dipendenze
- 30. VS2008.NET: Ottenere le dipendenze di un progetto di riferimento da copiare nella cartella bin del progetto principale
E come devo usare questo snippet? Basta posizionarlo all'interno dell'attività non funziona. – Rogach
Grazie, funziona perfettamente! – Rogach
Non abbastanza impeccabilmente :(Non cattura le dipendenze uri ("git: // ..."). – Rogach