Какова наилучшая/правильная практика для указания версии внутри вашего исходного кода? Я хочу, например, разместить файл VERSION на верхнем уровне исходного дерева и получить функцию "версия" для его чтения.
В файле cabal есть раздел версии. Можно ли прочитать его из моего источника с помощью функций "help" или "version"? Какова правильная практика указания версии в одном месте и ее доступности в глобальном масштабе?
P.S. Существуют ли какие-либо функции в библиотеке Cabal, позволяющие вытащить любой раздел из файла cabal и представить его в вашем источнике? Затем я мог просто вытащить версию из файла cabal.
- ОБНОВЛЕНИЕ -
Спасибо Томасу за приятную информацию о модуле Pathes_x. Просто хотел добавить, что, по-видимому, мне не нужно вносить что-либо в свой файл кэша. Все работает без него. Все, что мне было нужно, это импортировать Pathes_X по мере того, как вы писались. Кроме того, мне нужно было импортировать Data.Version, чтобы заставить функцию showVersion правильно форматировать/печатать тип данных версии. Поэтому в конце я получаю что-то вроде этого:
import Paths_kvman
import Data.Version
runVersion _ = putStrLn ("Version: " ++ (showVersion version))
Теперь мне нужно только изменить номер версии в файле cabal, чтобы распространять его по всему моему источнику. Именно то, что мне нужно. Спасибо.