Add command line arguments (cmdargs)

This commit is contained in:
Juan Pedro Villa Isaza 2016-08-20 16:18:55 -05:00
parent 835ac70815
commit 2558a0579e
3 changed files with 50 additions and 0 deletions

33
Main.hs
View File

@ -1,3 +1,4 @@
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE RecordWildCards #-}
module Main module Main
@ -12,23 +13,55 @@ import Licensor
import Control.Monad import Control.Monad
import Data.List import Data.List
import Data.Monoid ((<>)) import Data.Monoid ((<>))
import qualified Data.Version as Version
import System.Environment
import qualified System.Exit as Exit import qualified System.Exit as Exit
-- Cabal -- Cabal
import Distribution.PackageDescription import Distribution.PackageDescription
import Distribution.Text import Distribution.Text
-- cmdargs
import System.Console.CmdArgs
-- containers -- containers
import qualified Data.Map.Strict as Map import qualified Data.Map.Strict as Map
import qualified Data.Set as Set 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 :: IO ()
main = do main = do
LiArgs <- cmdArgsRun . liArgs =<< getProgName
maybePackage <- getPackage maybePackage <- getPackage
pid <- pid <-

View File

@ -19,6 +19,8 @@ library
src src
exposed-modules: exposed-modules:
Licensor Licensor
other-modules:
Paths_licensor
build-depends: build-depends:
base >= 4.8 && < 5.0 base >= 4.8 && < 5.0
, Cabal >= 1.22 && < 1.25 , Cabal >= 1.22 && < 1.25
@ -37,6 +39,7 @@ executable licensor
build-depends: build-depends:
base >= 4.8 && < 5.0 base >= 4.8 && < 5.0
, Cabal >= 1.22 && < 1.25 , Cabal >= 1.22 && < 1.25
, cmdargs >= 0.10 && < 0.11
, containers , containers
, licensor , licensor
default-language: default-language:

View File

@ -8,11 +8,16 @@ module Licensor
, getDependencies , getDependencies
, getPackage , getPackage
, orderPackagesByLicense , orderPackagesByLicense
, version
) )
where where
-- licensor
import qualified Paths_licensor as Paths
-- base -- base
import Data.Monoid ((<>)) import Data.Monoid ((<>))
import Data.Version (Version)
import System.IO import System.IO
-- Cabal -- Cabal
@ -151,3 +156,12 @@ orderPackagesByLicense p =
orderedPackages orderedPackages
in in
foldr insertPackage (pure mempty) foldr insertPackage (pure mempty)
-- |
--
--
version :: Version
version =
Paths.version