IT Share you

내 Haskell 프로그램이나 라이브러리가 버전 번호를 어떻게 찾을 수 있습니까?

shareyou 2020. 12. 1. 20:01
반응형

내 Haskell 프로그램이나 라이브러리가 버전 번호를 어떻게 찾을 수 있습니까?


내 cabalised 프로그램에 --version스위치 가 있기를 바랍니다 .

.cabal 파일에있는 것과 동일한 버전을보고하고 싶습니다.

내 Haskell 소스 코드와 .cabal 파일에서 별도로 버전 번호를 업데이트해야한다면 결국 동기화되지 않을 것입니다.

그렇다면 내 프로그램이 cabal에서 컴파일되는 동안 어떻게 .cabal 파일에서 버전 번호를 얻을 수 있습니까?


이것은 Cabal에서 잘 지원됩니다. 다음과 같이 (xmonad에서) :

가져 오기 Paths_$myprogram-Cabal은 버전 번호를 처리하기위한 모듈과 함께 .cabal 파일의 많은 메타 데이터를 사용하여 생성합니다.

import Paths_xmonad (version)
import Data.Version (showVersion)

에서 제공 한 '버전'필드를 인쇄하려면 print 문을 추가하십시오 Paths_$myprogram.

case args of
     ["--version"] -> putStrLn ("xmonad " ++ showVersion version)

일반적으로 Cabal의 생성 된 Paths 파일에는 다음 값이 포함됩니다. dist/build/autogen/

version,
getBinDir, getLibDir, getDataDir, getLibexecDir,
getDataFileName

참고 URL : https://stackoverflow.com/questions/2892586/how-can-my-haskell-program-or-library-find-its-version-number

반응형