Haskell: Правильная практика указывать версию в исходном коде?

Как лучше/правильнее указать версию в дереве исходного кода? Я хочу, например, поместить файл VERSION на верхний уровень исходного дерева и получить функцию «версия», чтобы прочитать его.

В файле клики есть раздел версии. Можно ли прочитать его из моего источника с помощью функций «помощь» или «версия»? Как правильно указать версию в одном месте и сделать ее доступной по всему миру?

П.С.Есть ли в библиотеке Cabal какие-либо функции, позволяющие вытащить любой раздел из файла cabal и представить его в исходниках? Тогда я мог бы просто вытащить раздел версии из файла клики.

-- ОБНОВЛЕНИЕ --

Спасибо, Томас, за полезную информацию о модуле Pathes_x. Просто хотел добавить, что, видимо, мне не нужно ничего вкладывать в свой файл клики. Просто все работает без него. Все, что мне было нужно, это импортировать Pathes_X, как вы предложили. Кроме того, мне нужно было импортировать Data.Version, чтобы функция showVersion правильно форматировала/распечатывала тип данных Version. Итак, в конце я получаю что-то вроде этого:

import Paths_kvman
import Data.Version

runVersion _ = putStrLn ("Version: " ++ (showVersion version))

Теперь все, что мне нужно, это изменить номер версии в файле клики, чтобы распространить его по всему моему источнику. Именно то, что мне было нужно. Спасибо.

17
задан r.sendecky 13 April 2012 в 01:29
поделиться