haskell-packages 0.2.4.2 → 0.2.4.3
raw patch · 3 files changed
+27/−16 lines, 3 filesdep ~optparse-applicativePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: optparse-applicative
API changes (from Hackage documentation)
Files
- CHANGELOG.md +5/−0
- haskell-packages.cabal +2/−2
- src/Distribution/HaskellSuite/Cabal.hs +20/−14
CHANGELOG.md view
@@ -1,6 +1,11 @@ Changes ======= +Version 0.2.4.3+---------------++Update to optparse-applicative 0.11+ Version 0.2.4.2 ---------------
haskell-packages.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: haskell-packages-version: 0.2.4.2+version: 0.2.4.3 synopsis: Haskell suite library for package management and integration with Cabal description: See <http://documentup.com/haskell-suite/haskell-packages> license: MIT@@ -38,7 +38,7 @@ Paths_haskell_packages build-depends: base >=4.5 && < 5- , optparse-applicative >= 0.10+ , optparse-applicative >= 0.11 , aeson >= 0.6 , bytestring >= 0.9 , Cabal >= 1.14
src/Distribution/HaskellSuite/Cabal.hs view
@@ -116,14 +116,8 @@ (strOption (long "build-dir" <> metavar "PATH")) <*> (strOption (long "target-dir" <> metavar "PATH")) <*> (optional $ strOption (long "dynlib-target-dir" <> metavar "PATH")) <*>- (option (ReadM . parsePackageId) (long "package-id" <> metavar "ID")) <*>- (many $ argument simpleParse (metavar "MODULE"))- where- parsePackageId str =- maybe- (Left . ErrorMsg $ "could not parse package-id: " ++ str)- Right- (simpleParse str)+ (option (simpleParseM "package-id") (long "package-id" <> metavar "ID")) <*>+ (many $ argument (simpleParseM "module") (metavar "MODULE")) pkgUpdate = command "update" $ flip info idm $@@ -157,14 +151,10 @@ (optional $ classifyLanguage <$> strOption (short 'G' <> metavar "language")) <*> (many $ parseExtension <$> strOption (short 'X' <> metavar "extension")) <*> cppOptsParser <*>- (option pkgNameReader (long "package-name" <> metavar "NAME-VERSION")) <*>+ (option (simpleParseM "package name") (long "package-name" <> metavar "NAME-VERSION")) <*> pkgDbStackParser <*> (many $ InstalledPackageId <$> strOption (long "package-id")) <*> (many $ argument str (metavar "MODULE"))- where- pkgNameReader = ReadM .- maybe (Left $ ErrorMsg "invalid package name") Right .- simpleParse data ModuleNotFound = ModuleNotFound String deriving Typeable@@ -201,7 +191,7 @@ pkgIdParser :: Parser PackageId pkgIdParser =- argument simpleParse (metavar "PACKAGE")+ argument (simpleParseM "package-id") (metavar "PACKAGE") pkgDbStackParser :: Parser PackageDBStack pkgDbStackParser =@@ -227,3 +217,19 @@ includeDir = flip fmap (strOption (short 'I' <> metavar "PATH")) $ \str -> Endo $ \opts -> opts { includes = str : includes opts }++-- | 'simpleParse' is defined in "Distribution.Text" with type+--+-- >simpleParse :: Text a => String -> Maybe a+--+-- (It is similar to 'read'.)+--+-- 'simpleParseM' wraps it as a 'ReadM' value to be used for parsing+-- command-line options+simpleParseM :: Text a => String -> ReadM a+simpleParseM entityName = do+ str <- readerAsk+ case simpleParse str of+ Just thing -> return thing+ Nothing -> readerError $+ "could not parse " ++ entityName ++ " '" ++ str ++ "'"