From db7f4d1b3d05238db26b527a778a099745541a2f Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Wed, 19 Oct 2011 19:53:42 +0000 Subject: [PATCH] use cabal-file-th to get executable name and version from cabal files --- hledger-chart/Hledger/Chart/Options.hs | 6 ++++-- hledger-chart/hledger-chart.cabal | 1 + hledger-vty/Hledger/Vty/Options.hs | 7 ++++--- hledger-vty/hledger-vty.cabal | 1 + hledger-web/Hledger/Web/Options.hs | 9 ++++----- hledger-web/hledger-web.cabal | 1 + hledger/Hledger/Cli/Options.hs | 7 ++++--- hledger/hledger.cabal | 2 ++ 8 files changed, 21 insertions(+), 13 deletions(-) diff --git a/hledger-chart/Hledger/Chart/Options.hs b/hledger-chart/Hledger/Chart/Options.hs index f90dcd495..cdcf3b3fc 100644 --- a/hledger-chart/Hledger/Chart/Options.hs +++ b/hledger-chart/Hledger/Chart/Options.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE TemplateHaskell #-} {-| -} @@ -5,14 +6,15 @@ module Hledger.Chart.Options where import Data.Maybe +import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion) import System.Console.CmdArgs import System.Console.CmdArgs.Explicit import Hledger.Cli hiding (progname,progversion) import qualified Hledger.Cli (progname) -progname = Hledger.Cli.progname ++ "-chart" -progversion = progversionstr progname +progname = $(packageVariable (pkgName . package)) +progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String defchartoutput = "hledger.png" defchartitems = 10 diff --git a/hledger-chart/hledger-chart.cabal b/hledger-chart/hledger-chart.cabal index 578bc3509..760a9889a 100644 --- a/hledger-chart/hledger-chart.cabal +++ b/hledger-chart/hledger-chart.cabal @@ -41,6 +41,7 @@ executable hledger-chart ,hledger-lib == 0.16.1 ,HUnit ,base >= 3 && < 5 + ,cabal-file-th ,cmdargs >= 0.8 && < 0.9 ,containers -- ,csv diff --git a/hledger-vty/Hledger/Vty/Options.hs b/hledger-vty/Hledger/Vty/Options.hs index ede6a04be..aeb98651a 100644 --- a/hledger-vty/Hledger/Vty/Options.hs +++ b/hledger-vty/Hledger/Vty/Options.hs @@ -1,17 +1,18 @@ +{-# LANGUAGE TemplateHaskell #-} {-| -} module Hledger.Vty.Options where +import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion) import System.Console.CmdArgs import System.Console.CmdArgs.Explicit import Hledger.Cli hiding (progname,progversion) -import qualified Hledger.Cli (progname) -progname = Hledger.Cli.progname ++ "-vty" -progversion = progversionstr progname +progname = $(packageVariable (pkgName . package)) +progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String vtyflags = [ flagNone ["debug-vty"] (\opts -> setboolopt "rules-file" opts) "run with no terminal output, showing console" diff --git a/hledger-vty/hledger-vty.cabal b/hledger-vty/hledger-vty.cabal index e1fdfe1f4..3e59121d0 100644 --- a/hledger-vty/hledger-vty.cabal +++ b/hledger-vty/hledger-vty.cabal @@ -41,6 +41,7 @@ executable hledger-vty ,hledger-lib == 0.16.1 ,HUnit ,base >= 3 && < 5 + ,cabal-file-th ,cmdargs >= 0.8 && < 0.9 -- ,containers -- ,csv diff --git a/hledger-web/Hledger/Web/Options.hs b/hledger-web/Hledger/Web/Options.hs index 9d44aa30c..1481df751 100644 --- a/hledger-web/Hledger/Web/Options.hs +++ b/hledger-web/Hledger/Web/Options.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE TemplateHaskell #-} {-| -} @@ -5,17 +6,15 @@ module Hledger.Web.Options where import Data.Maybe +import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion) import System.Console.CmdArgs import System.Console.CmdArgs.Explicit import Hledger.Cli hiding (progname,progversion) -import qualified Hledger.Cli (progname) - import Hledger.Web.Settings -progname = Hledger.Cli.progname ++ "-web" --- progversion = progversionstr progname -progversion = progname ++ "-" ++ "0.16.3" +progname = $(packageVariable (pkgName . package)) +progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String defbaseurlexample = (reverse $ drop 4 $ reverse $ defbaseurl defport) ++ "PORT" diff --git a/hledger-web/hledger-web.cabal b/hledger-web/hledger-web.cabal index a20b15444..69093cdea 100644 --- a/hledger-web/hledger-web.cabal +++ b/hledger-web/hledger-web.cabal @@ -76,6 +76,7 @@ executable hledger-web ,HUnit ,base >= 4 && < 5 ,bytestring + ,cabal-file-th ,cmdargs >= 0.8 && < 0.9 ,directory ,filepath diff --git a/hledger/Hledger/Cli/Options.hs b/hledger/Hledger/Cli/Options.hs index d1ea6a59a..32fd360b8 100644 --- a/hledger/Hledger/Cli/Options.hs +++ b/hledger/Hledger/Cli/Options.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE TemplateHaskell #-} {-| Command-line options for the hledger program, and option-parsing utilities. @@ -10,6 +11,7 @@ import Data.List import Data.List.Split import Data.Maybe import Data.Time.Calendar +import Distribution.PackageDescription.TH (packageVariable, package, pkgName, pkgVersion) import Safe import System.Console.CmdArgs import System.Console.CmdArgs.Explicit @@ -22,11 +24,10 @@ import Text.Printf import Hledger import Hledger.Cli.Format as Format -import Hledger.Cli.Version -progname = "hledger" -progversion = progversionstr progname +progname = $(packageVariable (pkgName . package)) +progversion = progname ++ " " ++ $(packageVariable (pkgVersion . package)) :: String -- 1. cmdargs mode and flag definitions, for the main and subcommand modes. -- Flag values are parsed initially to simple RawOpts to permit reuse. diff --git a/hledger/hledger.cabal b/hledger/hledger.cabal index 429fb121f..778b28b0a 100644 --- a/hledger/hledger.cabal +++ b/hledger/hledger.cabal @@ -59,6 +59,7 @@ library build-depends: hledger-lib == 0.16.1 ,base >= 3 && < 5 + ,cabal-file-th ,containers ,cmdargs >= 0.8 && < 0.9 ,csv @@ -109,6 +110,7 @@ executable hledger build-depends: hledger-lib == 0.16.1 ,base >= 3 && < 5 + ,cabal-file-th ,containers ,cmdargs >= 0.8 && < 0.9 ,csv