假设我有一个控制台程序,可以选择显示其版本.目前每当我更新.cabal文件中的版本时,我都需要转到源代码并更新常量 - 当前版本号的字符串表示.这感觉不符合DRY原则,现在我想知道,是否有可能.cabal从源代码中获取文件中定义的项目版本
?也许Cabal定义了一些CPP宏或其他东西?
Mar*_*ark 10
事实上,Cabal允许从.cabal程序中的文件中访问信息.根据Cabal文档,您可以导入在构建包期间存在的特殊模块,如下所示:
import Paths_packagename (version)
import Data.Version (showVersion)
myVersion :: String
myVersion = showVersion version
Run Code Online (Sandbox Code Playgroud)
该模块Paths_packagename提供version类型
版本.
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |