use cabal-file-th to get executable name and version from cabal files

This commit is contained in:
Simon Michael 2011-10-19 19:53:42 +00:00
parent df7fc8877f
commit db7f4d1b3d
8 changed files with 21 additions and 13 deletions

View File

@ -1,3 +1,4 @@
{-# LANGUAGE TemplateHaskell #-}
{-| {-|
-} -}
@ -5,14 +6,15 @@
module Hledger.Chart.Options module Hledger.Chart.Options
where where
import Data.Maybe import Data.Maybe
import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion)
import System.Console.CmdArgs import System.Console.CmdArgs
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
import Hledger.Cli hiding (progname,progversion) import Hledger.Cli hiding (progname,progversion)
import qualified Hledger.Cli (progname) import qualified Hledger.Cli (progname)
progname = Hledger.Cli.progname ++ "-chart" progname = $(packageVariable (pkgName . package))
progversion = progversionstr progname progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String
defchartoutput = "hledger.png" defchartoutput = "hledger.png"
defchartitems = 10 defchartitems = 10

View File

@ -41,6 +41,7 @@ executable hledger-chart
,hledger-lib == 0.16.1 ,hledger-lib == 0.16.1
,HUnit ,HUnit
,base >= 3 && < 5 ,base >= 3 && < 5
,cabal-file-th
,cmdargs >= 0.8 && < 0.9 ,cmdargs >= 0.8 && < 0.9
,containers ,containers
-- ,csv -- ,csv

View File

@ -1,17 +1,18 @@
{-# LANGUAGE TemplateHaskell #-}
{-| {-|
-} -}
module Hledger.Vty.Options module Hledger.Vty.Options
where where
import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion)
import System.Console.CmdArgs import System.Console.CmdArgs
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
import Hledger.Cli hiding (progname,progversion) import Hledger.Cli hiding (progname,progversion)
import qualified Hledger.Cli (progname)
progname = Hledger.Cli.progname ++ "-vty" progname = $(packageVariable (pkgName . package))
progversion = progversionstr progname progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String
vtyflags = [ vtyflags = [
flagNone ["debug-vty"] (\opts -> setboolopt "rules-file" opts) "run with no terminal output, showing console" flagNone ["debug-vty"] (\opts -> setboolopt "rules-file" opts) "run with no terminal output, showing console"

View File

@ -41,6 +41,7 @@ executable hledger-vty
,hledger-lib == 0.16.1 ,hledger-lib == 0.16.1
,HUnit ,HUnit
,base >= 3 && < 5 ,base >= 3 && < 5
,cabal-file-th
,cmdargs >= 0.8 && < 0.9 ,cmdargs >= 0.8 && < 0.9
-- ,containers -- ,containers
-- ,csv -- ,csv

View File

@ -1,3 +1,4 @@
{-# LANGUAGE TemplateHaskell #-}
{-| {-|
-} -}
@ -5,17 +6,15 @@
module Hledger.Web.Options module Hledger.Web.Options
where where
import Data.Maybe import Data.Maybe
import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion)
import System.Console.CmdArgs import System.Console.CmdArgs
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
import Hledger.Cli hiding (progname,progversion) import Hledger.Cli hiding (progname,progversion)
import qualified Hledger.Cli (progname)
import Hledger.Web.Settings import Hledger.Web.Settings
progname = Hledger.Cli.progname ++ "-web" progname = $(packageVariable (pkgName . package))
-- progversion = progversionstr progname progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String
progversion = progname ++ "-" ++ "0.16.3"
defbaseurlexample = (reverse $ drop 4 $ reverse $ defbaseurl defport) ++ "PORT" defbaseurlexample = (reverse $ drop 4 $ reverse $ defbaseurl defport) ++ "PORT"

View File

@ -76,6 +76,7 @@ executable hledger-web
,HUnit ,HUnit
,base >= 4 && < 5 ,base >= 4 && < 5
,bytestring ,bytestring
,cabal-file-th
,cmdargs >= 0.8 && < 0.9 ,cmdargs >= 0.8 && < 0.9
,directory ,directory
,filepath ,filepath

View File

@ -1,3 +1,4 @@
{-# LANGUAGE TemplateHaskell #-}
{-| {-|
Command-line options for the hledger program, and option-parsing utilities. Command-line options for the hledger program, and option-parsing utilities.
@ -10,6 +11,7 @@ import Data.List
import Data.List.Split import Data.List.Split
import Data.Maybe import Data.Maybe
import Data.Time.Calendar import Data.Time.Calendar
import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion)
import Safe import Safe
import System.Console.CmdArgs import System.Console.CmdArgs
import System.Console.CmdArgs.Explicit import System.Console.CmdArgs.Explicit
@ -22,11 +24,10 @@ import Text.Printf
import Hledger import Hledger
import Hledger.Cli.Format as Format import Hledger.Cli.Format as Format
import Hledger.Cli.Version
progname = "hledger" progname = $(packageVariable (pkgName . package))
progversion = progversionstr progname progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String
-- 1. cmdargs mode and flag definitions, for the main and subcommand modes. -- 1. cmdargs mode and flag definitions, for the main and subcommand modes.
-- Flag values are parsed initially to simple RawOpts to permit reuse. -- Flag values are parsed initially to simple RawOpts to permit reuse.

View File

@ -59,6 +59,7 @@ library
build-depends: build-depends:
hledger-lib == 0.16.1 hledger-lib == 0.16.1
,base >= 3 && < 5 ,base >= 3 && < 5
,cabal-file-th
,containers ,containers
,cmdargs >= 0.8 && < 0.9 ,cmdargs >= 0.8 && < 0.9
,csv ,csv
@ -109,6 +110,7 @@ executable hledger
build-depends: build-depends:
hledger-lib == 0.16.1 hledger-lib == 0.16.1
,base >= 3 && < 5 ,base >= 3 && < 5
,cabal-file-th
,containers ,containers
,cmdargs >= 0.8 && < 0.9 ,cmdargs >= 0.8 && < 0.9
,csv ,csv