Dire che ho un programma di console che ha un'opzione per visualizzare la sua versione . Attualmente ogni volta che aggiorno la versione nel file .cabal
ho bisogno di passare al codice sorgente e aggiornare la costante - rappresentazione della stringa del numero di versione attuale . Questo è contro il principio ASCIUTTO e ora sono chiedendo, è possibile ottenere la versione del mio progetto come definito nel file .cabal
dal codice sorgente? Forse Cabal definisce qualche macro CPP o qualcos'altro?C'è un modo per ottenere la versione del pacchetto Cabal nel codice sorgente del pacchetto?
8
A
risposta
5
Infatti Cabal consente di accedere alle informazioni dal file .cabal
nel programma . According to Cabal documentation, è possibile importare speciale modulo che esiste durante la costruzione del pacchetto, come questo:
import Paths_packagename (version)
import Data.Version (showVersion)
myVersion :: String
myVersion = showVersion version
Il modulo fornisce Paths_packagename
version
di tipo Version.
Problemi correlati
- 1. Selezione del compilatore C nel pacchetto cabal
- 2. Ottenere la versione del pacchetto usando pkg_resources?
- 3. Quale versione del pacchetto ho?
- 4. Trova la prima versione del pacchetto con la funzione X
- 5. Richiedere la versione minima del pacchetto R
- 6. Dov'è il codice sorgente per pypi, l'indice del pacchetto Python?
- 7. NuGet Ripristino pacchetto fallito per progetto myProjectWeb: impossibile trovare la versione '3.0.1' del pacchetto 'AppForSharePoint16WebToolkit'
- 8. Pacchetto Java nel pacchetto?
- 9. Come ottenere la versione del pacchetto nuget a livello di codice?
- 10. Determinare la versione di un pacchetto specifico
- 11. Come leggere la versione del pacchetto da PList?
- 12. Modo scripted per aggiungere l'origine del pacchetto nuget
- 13. NuGet risolve la versione errata della dipendenza del pacchetto
- 14. La cabala potrebbe avvertire del pacchetto inutilizzato nelle dipendenze?
- 15. Ottieni la versione del pacchetto di app in Unity3d
- 16. Cabal flag "os" con la versione del sistema operativo
- 17. android, come ottenere il nome del pacchetto?
- 18. R dipendenze del pacchetto
- 19. Collegamento del pacchetto R vignette
- 20. Modifica del codice sorgente di un pacchetto di birra in casa
- 21. Il pacchetto mancante causa il fallimento del ripristino del pacchetto NuGet
- 22. confusione della versione del pacchetto symfony2.1, per symfony e il pacchetto del menu admin/knp di symfony
- 23. A seconda del pacchetto locale nella cabala
- 24. Dimensione massima del pacchetto Webpack
- 25. È possibile parametrizzare una versione del pacchetto r?
- 26. recuperare la versione corrente App dal pacchetto
- 27. Subappack Indermediate Versione pacchetto Node.js
- 28. Include test unitari nello stesso pacchetto del codice sorgente in Java
- 29. Trova quale versione del pacchetto è installata con pip
- 30. Utilizzare l'identificatore del pacchetto invece dell'identificatore del pacchetto del prodotto con Xcode 7