2015-10-16 12 views
8

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ı?

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.

İlgili konular