Add verbosity flags
This commit is contained in:
parent
72f3659db1
commit
3c75a4966a
5
Main.hs
5
Main.hs
@ -64,6 +64,7 @@ liArgs s =
|
|||||||
}
|
}
|
||||||
&= program s
|
&= program s
|
||||||
&= summary (unwords ["licensor", Version.showVersion version])
|
&= summary (unwords ["licensor", Version.showVersion version])
|
||||||
|
&= verbosity
|
||||||
|
|
||||||
|
|
||||||
-- |
|
-- |
|
||||||
@ -74,6 +75,8 @@ main :: IO ()
|
|||||||
main = do
|
main = do
|
||||||
LiArgs <- cmdArgsRun . liArgs =<< getProgName
|
LiArgs <- cmdArgsRun . liArgs =<< getProgName
|
||||||
|
|
||||||
|
quiet <- fmap not isNormal
|
||||||
|
|
||||||
maybePackage <- getPackage
|
maybePackage <- getPackage
|
||||||
|
|
||||||
pid <-
|
pid <-
|
||||||
@ -105,7 +108,7 @@ main = do
|
|||||||
|
|
||||||
Just dependencies -> do
|
Just dependencies -> do
|
||||||
(dependenciesByLicense', failed) <-
|
(dependenciesByLicense', failed) <-
|
||||||
orderPackagesByLicense pid dependencies
|
orderPackagesByLicense quiet pid dependencies
|
||||||
|
|
||||||
let dependenciesByLicense = fmap (Set.map display) dependenciesByLicense'
|
let dependenciesByLicense = fmap (Set.map display) dependenciesByLicense'
|
||||||
|
|
||||||
|
|||||||
@ -24,6 +24,7 @@ module Licensor
|
|||||||
|
|
||||||
-- base
|
-- base
|
||||||
import qualified Control.Exception as Exception
|
import qualified Control.Exception as Exception
|
||||||
|
import Control.Monad (unless)
|
||||||
import Data.Monoid ((<>))
|
import Data.Monoid ((<>))
|
||||||
import Data.Version (Version)
|
import Data.Version (Version)
|
||||||
import System.IO
|
import System.IO
|
||||||
@ -130,9 +131,9 @@ getDependencies = do
|
|||||||
--
|
--
|
||||||
--
|
--
|
||||||
|
|
||||||
getPackageLicense :: PackageIdentifier -> IO (Maybe LiLicense)
|
getPackageLicense :: Bool -> PackageIdentifier -> IO (Maybe LiLicense)
|
||||||
getPackageLicense p@PackageIdentifier{..} = do
|
getPackageLicense quiet p@PackageIdentifier{..} = do
|
||||||
putStr $ display p ++ "..."
|
unless quiet (putStr $ display p ++ "...")
|
||||||
let
|
let
|
||||||
url =
|
url =
|
||||||
"GET https://hackage.haskell.org/package/"
|
"GET https://hackage.haskell.org/package/"
|
||||||
@ -157,7 +158,7 @@ getPackageLicense p@PackageIdentifier{..} = do
|
|||||||
hClose handle
|
hClose handle
|
||||||
removeFile file
|
removeFile file
|
||||||
|
|
||||||
putStrLn $ display license
|
unless quiet (putStrLn $ display license)
|
||||||
|
|
||||||
return $ Just (LiLicense license)
|
return $ Just (LiLicense license)
|
||||||
|
|
||||||
@ -167,16 +168,17 @@ getPackageLicense p@PackageIdentifier{..} = do
|
|||||||
--
|
--
|
||||||
|
|
||||||
orderPackagesByLicense
|
orderPackagesByLicense
|
||||||
:: Maybe PackageIdentifier
|
:: Bool
|
||||||
|
-> Maybe PackageIdentifier
|
||||||
-> Set PackageIdentifier
|
-> Set PackageIdentifier
|
||||||
-> IO (Map LiLicense (Set PackageIdentifier), Set PackageIdentifier)
|
-> IO (Map LiLicense (Set PackageIdentifier), Set PackageIdentifier)
|
||||||
orderPackagesByLicense maybeP =
|
orderPackagesByLicense quiet maybeP =
|
||||||
let
|
let
|
||||||
cond =
|
cond =
|
||||||
maybe (const False) (==) maybeP
|
maybe (const False) (==) maybeP
|
||||||
|
|
||||||
insertPackage package orderedPackages' = do
|
insertPackage package orderedPackages' = do
|
||||||
maybeLicense <- getPackageLicense package
|
maybeLicense <- getPackageLicense quiet package
|
||||||
|
|
||||||
(orderedPackages, failed) <- orderedPackages'
|
(orderedPackages, failed) <- orderedPackages'
|
||||||
return $
|
return $
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user