diff --git a/Main.hs b/Main.hs index d0d1920..6aa895c 100644 --- a/Main.hs +++ b/Main.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE RecordWildCards #-} module Main @@ -12,23 +13,55 @@ import Licensor import Control.Monad import Data.List import Data.Monoid ((<>)) +import qualified Data.Version as Version +import System.Environment import qualified System.Exit as Exit -- Cabal import Distribution.PackageDescription import Distribution.Text +-- cmdargs +import System.Console.CmdArgs + -- containers import qualified Data.Map.Strict as Map import qualified Data.Set as Set +-- | +-- +-- + +data LiArgs = + LiArgs + { + } + deriving (Data) + + +-- | +-- +-- + +liArgs :: String -> Mode (CmdArgs LiArgs) +liArgs s = + cmdArgsMode $ + LiArgs + { + } + &= program s + &= summary (unwords ["licensor", Version.showVersion version]) + + -- | -- -- main :: IO () main = do + LiArgs <- cmdArgsRun . liArgs =<< getProgName + maybePackage <- getPackage pid <- diff --git a/licensor.cabal b/licensor.cabal index 503d50b..75a3289 100644 --- a/licensor.cabal +++ b/licensor.cabal @@ -19,6 +19,8 @@ library src exposed-modules: Licensor + other-modules: + Paths_licensor build-depends: base >= 4.8 && < 5.0 , Cabal >= 1.22 && < 1.25 @@ -37,6 +39,7 @@ executable licensor build-depends: base >= 4.8 && < 5.0 , Cabal >= 1.22 && < 1.25 + , cmdargs >= 0.10 && < 0.11 , containers , licensor default-language: diff --git a/src/Licensor.hs b/src/Licensor.hs index 094d3c1..8bebf7d 100644 --- a/src/Licensor.hs +++ b/src/Licensor.hs @@ -8,11 +8,16 @@ module Licensor , getDependencies , getPackage , orderPackagesByLicense + , version ) where +-- licensor +import qualified Paths_licensor as Paths + -- base import Data.Monoid ((<>)) +import Data.Version (Version) import System.IO -- Cabal @@ -151,3 +156,12 @@ orderPackagesByLicense p = orderedPackages in foldr insertPackage (pure mempty) + + +-- | +-- +-- + +version :: Version +version = + Paths.version