html-entities 1.1.4 → 1.1.4.1
raw patch · 4 files changed
+31/−119 lines, 4 filesdep ~basedep ~doctestsetup-changed
Dependency ranges changed: base, doctest
Files
- Setup.hs +5/−40
- doctest/Main.hs +0/−67
- doctests/Main.hs +12/−0
- html-entities.cabal +14/−12
Setup.hs view
@@ -1,42 +1,7 @@--- The code is mostly ripped from--- https://github.com/ekmett/lens/blob/697582fb9a980f273dbf8496253c5bbefedd0a8b/Setup.lhs-import Data.List ( nub )-import Data.Version ( showVersion )-import Distribution.Package ( PackageName(PackageName), Package, PackageId, InstalledPackageId, packageVersion, packageName )-import Distribution.PackageDescription ( PackageDescription(), TestSuite(..) )-import Distribution.Simple ( defaultMainWithHooks, UserHooks(..), simpleUserHooks )-import Distribution.Simple.Utils ( rewriteFile, createDirectoryIfMissingVerbose, copyFiles )-import Distribution.Simple.BuildPaths ( autogenModulesDir )-import Distribution.Simple.Setup ( BuildFlags(buildVerbosity), Flag(..), fromFlag, HaddockFlags(haddockDistPref))-import Distribution.Simple.LocalBuildInfo ( withLibLBI, withTestLBI, LocalBuildInfo(), ComponentLocalBuildInfo(componentPackageDeps) )-import Distribution.Text ( display )-import Distribution.Verbosity ( Verbosity, normal )-import System.FilePath ( (</>) )--main :: IO ()-main = defaultMainWithHooks simpleUserHooks- { buildHook = \pkg lbi hooks flags -> do- generateBuildModule (fromFlag (buildVerbosity flags)) pkg lbi- buildHook simpleUserHooks pkg lbi hooks flags- }--generateBuildModule :: Verbosity -> PackageDescription -> LocalBuildInfo -> IO ()-generateBuildModule verbosity pkg lbi = do- let dir = autogenModulesDir lbi- createDirectoryIfMissingVerbose verbosity True dir- withLibLBI pkg lbi $ \_ libcfg -> do- withTestLBI pkg lbi $ \suite suitecfg -> do- rewriteFile (dir </> "Build_" ++ testName suite ++ ".hs") $ unlines- [ "module Build_" ++ testName suite ++ " where"- , "import Prelude"- , "deps :: [String]"- , "deps = " ++ (show $ formatdeps (testDeps libcfg suitecfg))- ]- where- formatdeps = map (formatone . snd)- formatone p = case packageName p of- PackageName n -> n ++ "-" ++ showVersion (packageVersion p)+module Main (main) where -testDeps :: ComponentLocalBuildInfo -> ComponentLocalBuildInfo -> [(InstalledPackageId, PackageId)]-testDeps xs ys = nub $ componentPackageDeps xs ++ componentPackageDeps ys+import Distribution.Extra.Doctest ( defaultMainWithDoctests ) +main :: IO ()+main =+ defaultMainWithDoctests "doctests"
− doctest/Main.hs
@@ -1,67 +0,0 @@--- The code is mostly ripped from--- https://github.com/ekmett/lens/blob/d1d97469f0e93c1d3535308954a060e8a04e37aa/tests/doctests.hsc-import BasePrelude-import System.Directory-import System.FilePath-import Test.DocTest-import Build_doctest (deps)--main :: IO ()-main = do- sources <- getSources- doctest $ dfltParams ++ map ("-package="++) deps ++ sources- where- dfltParams = - [- "-isrc",- "-idist/build/autogen",- "-optP-include",- "-optPdist/build/autogen/cabal_macros.h",- "-XArrows",- "-XBangPatterns",- "-XConstraintKinds",- "-XDataKinds",- "-XDefaultSignatures",- "-XDeriveDataTypeable",- "-XDeriveFoldable",- "-XDeriveFunctor",- "-XDeriveGeneric",- "-XDeriveTraversable",- "-XEmptyDataDecls",- "-XFlexibleContexts",- "-XFlexibleInstances",- "-XFunctionalDependencies",- "-XGADTs",- "-XGeneralizedNewtypeDeriving",- "-XLambdaCase",- "-XLiberalTypeSynonyms",- "-XMultiParamTypeClasses",- "-XMultiWayIf",- "-XNoImplicitPrelude",- "-XNoMonomorphismRestriction",- "-XOverloadedStrings",- "-XPatternGuards",- "-XParallelListComp",- "-XQuasiQuotes",- "-XRankNTypes",- "-XRecordWildCards",- "-XScopedTypeVariables",- "-XStandaloneDeriving",- "-XTemplateHaskell",- "-XTupleSections",- "-XTypeFamilies",- "-XTypeOperators",- "-hide-all-packages"- ]--getSources :: IO [FilePath]-getSources = filter (isSuffixOf ".hs") <$> go "library"- where- go dir = do- (dirs, files) <- getFilesAndDirectories dir- (files ++) . concat <$> mapM go dirs--getFilesAndDirectories :: FilePath -> IO ([FilePath], [FilePath])-getFilesAndDirectories dir = do- c <- map (dir </>) . filter (`notElem` ["..", "."]) <$> getDirectoryContents dir- (,) <$> filterM doesDirectoryExist c <*> filterM doesFileExist c
+ doctests/Main.hs view
@@ -0,0 +1,12 @@+module Main where++import Build_doctests (flags, pkgs, module_sources)+import Data.Foldable (traverse_)+import Test.DocTest (doctest)++main :: IO ()+main = do+ traverse_ putStrLn args -- optionally print arguments+ doctest args+ where+ args = flags ++ pkgs ++ module_sources
html-entities.cabal view
@@ -1,7 +1,7 @@ name: html-entities version:- 1.1.4+ 1.1.4.1 synopsis: A codec library for HTML-escaped text and HTML-entities description:@@ -32,8 +32,13 @@ build-type: Custom cabal-version:- >=1.10+ >= 1.24 +custom-setup+ setup-depends:+ base >= 4.5 && < 5,+ Cabal >= 1.24 && < 3,+ cabal-doctest >= 1 && < 2 source-repository head type:@@ -41,7 +46,6 @@ location: git://github.com/nikita-volkov/html-entities.git - library hs-source-dirs: library@@ -57,20 +61,18 @@ unordered-containers == 0.2.*, text >= 1 && < 2, attoparsec >= 0.10 && < 0.14,- base-prelude >= 0.1.19 && < 2- ghc-options:- -funbox-strict-fields+ base-prelude >= 0.1.19 && < 2,+ base < 5 default-extensions:- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples default-language: Haskell2010 --test-suite doctest+test-suite doctests type: exitcode-stdio-1.0 hs-source-dirs:- doctest+ doctests main-is: Main.hs ghc-options:@@ -78,11 +80,11 @@ "-with-rtsopts=-N" -funbox-strict-fields default-extensions:- Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators+ Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFoldable, DeriveFunctor, DeriveGeneric, DeriveTraversable, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples default-language: Haskell2010 build-depends:- doctest == 0.11.*,+ doctest == 0.12.*, directory >= 1.2 && < 2, filepath >= 1.3 && < 2, base-prelude,