假设我有一个控制台程序可以选择显示其
版本。目前每当我在 .cabal
中更新版本时我需要去的文件
到源代码和更新常量——当前的字符串表示
版本号也是如此。这感觉违反 DRY 原则,现在我
想知道,是否有可能获得我的项目中定义的版本.cabal
从源代码文件?也许 Cabal 定义了一些 CPP 宏或
别的东西?
最佳答案
事实上,Cabal 允许从 .cabal
访问信息文件在你的
程序。 According to Cabal documentation ,
您可以导入在构建包期间存在的特殊模块,
像这样:
import Paths_packagename (version)
import Data.Version (showVersion)
myVersion :: String
myVersion = showVersion version
模块
Paths_packagename
提供version
类型Version .
关于haskell - 有没有办法在包的源代码中获取 Cabal 包的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176905/