sürümünü görüntülemek için bir seçeneği olan bir konsol programım var. Şu anda .cabal
dosyasında sürümü güncellediğimde, kaynak koduna gitmem ve geçerli sürüm numarasının sabit - dizgi gösterimini güncellemem gerekiyor. Bu DRY prensibine karşı hissediyor ve şimdi merak ediyorum, kaynak kodumdan .cabal
dosyasında tanımlandığı gibi projemin versiyonunu almak mümkün mü? Belki Cabal biraz CPP makrosu veya başka bir şey tanımlar?Paketin kaynak kodunda Cabal paketinin sürümünü almanın bir yolu var mı?
8
A
cevap
5
Gerçekte Cabal, .cabal
dosyasından programındaki bilgilere erişmenizi sağlar.
import Paths_packagename (version)
import Data.Version (showVersion)
myVersion :: String
myVersion = showVersion version
modül Paths_packagename
tip Version ait version
sağlamaktadır: According to Cabal documentation, böyle Paketinizin, inşası sırasında var olan özel modül alabilirsiniz.