packages feed

dependency 1.2.0.1 → 1.2.0.3

raw patch · 5 files changed

+33/−53 lines, 5 filesdep −micro-recursion-schemesdep −recursion-schemesdep ~ansi-wl-pprintdep ~basedep ~binarysetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies removed: micro-recursion-schemes, recursion-schemes

Dependency ranges changed: ansi-wl-pprint, base, binary, containers, criterion, deepseq, hspec, microlens

API changes (from Hackage documentation)

Files

+ CHANGELOG.md view
@@ -0,0 +1,5 @@+# dependency++## 1.2.0.3++  * Fewer dependencies
− Setup.hs
@@ -1,2 +0,0 @@-import Distribution.Simple-main = defaultMain
dependency.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: dependency-version: 1.2.0.1+version: 1.2.0.3 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018 Vanessa McHale@@ -12,6 +12,7 @@ category: Development, Build build-type: Simple extra-doc-files: README.md+                 CHANGELOG.md  source-repository head     type: darcs@@ -33,26 +34,18 @@         Data.Dependency.Sort     default-language: Haskell2010     other-extensions: DeriveAnyClass DeriveGeneric OverloadedStrings-                      DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable-                      OverloadedStrings TypeFamilies TupleSections+                      DeriveFoldable DeriveFunctor TupleSections     ghc-options: -Wall -Wincomplete-uni-patterns                  -Wincomplete-record-updates -Wcompat     build-depends:-        base >=4.11 && <5,+        base >=4.9 && <5,         ansi-wl-pprint -any,         containers >=0.5.9,         microlens -any,         binary -any,         deepseq -any     -    if impl(ghc >=8.2)-        build-depends:-            micro-recursion-schemes -any-    else-        build-depends:-            recursion-schemes >=5.0.1-    -    if flag(development)+    if (flag(development) && impl(ghc <8.4))         ghc-options: -Werror  test-suite dependency-test
src/Data/Dependency/Type.hs view
@@ -1,10 +1,7 @@-{-# LANGUAGE DeriveAnyClass    #-}-{-# LANGUAGE DeriveFoldable    #-}-{-# LANGUAGE DeriveFunctor     #-}-{-# LANGUAGE DeriveGeneric     #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE PatternSynonyms   #-}-{-# LANGUAGE TypeFamilies      #-}+{-# LANGUAGE DeriveAnyClass #-}+{-# LANGUAGE DeriveFoldable #-}+{-# LANGUAGE DeriveFunctor  #-}+{-# LANGUAGE DeriveGeneric  #-}  module Data.Dependency.Type ( Dependency (..)                             , Version (..)@@ -14,15 +11,14 @@                             , check                             ) where -import           Control.DeepSeq              (NFData)+import           Control.DeepSeq (NFData) import           Data.Binary-import           Data.Functor.Foldable-import           Data.List                    (intercalate)-import qualified Data.Map                     as M-import qualified Data.Set                     as S-import           GHC.Generics                 (Generic)-import           GHC.Natural                  (Natural)-import           Text.PrettyPrint.ANSI.Leijen hiding ((<$>), (<>))+import           Data.List       (intercalate)+import qualified Data.Map        as M+import           Data.Semigroup+import qualified Data.Set        as S+import           GHC.Generics    (Generic)+import           GHC.Natural     (Natural)  -- | A package set is simply a map between package names and a set of packages. newtype PackageSet a = PackageSet { _packageSet :: M.Map String (S.Set a) }@@ -77,27 +73,3 @@ satisfies (Eq x) y            = x == y satisfies (Bounded x y) z     = satisfies x z && satisfies y z satisfies None _              = True--data ConstraintF a x = LessThanEqF a-                     | GreaterThanEqF a-                     | EqF a-                     | BoundedF x x-                     | NoneF-                     deriving (Functor)--type instance Base (Constraint a) = ConstraintF a--instance Recursive (Constraint a) where-    project (LessThanEq x)    = LessThanEqF x-    project (GreaterThanEq x) = GreaterThanEqF x-    project (Eq x)            = EqF x-    project (Bounded x y)     = BoundedF x y-    project None              = NoneF--instance Pretty a => Pretty (Constraint a) where-    pretty = cata a where-        a (LessThanEqF v)    = "≤" <+> pretty v-        a (GreaterThanEqF v) = "≥" <+> pretty v-        a (EqF v)            = "≡" <+> pretty v-        a (BoundedF c c')    = c <+> "∧" <+> c'-        a NoneF              = mempty
test/Spec.hs view
@@ -21,12 +21,22 @@ defV :: Version defV = Version [0,1,0] +specNew :: Dependency+specNew = Dependency "spec" mempty (Version [0,2,0])++specOld :: Dependency+specOld = Dependency "spec" ((,LessThanEq (Version [0,1,0])) <$> ["spec"]) (Version [0,1,0])+ ghcMod :: Dependency ghcMod = Dependency "ghc-mod" [("lens", LessThanEq defV)] defV  mapSingles :: [(d, b)] -> [(d, S.Set b)] mapSingles = fmap (second S.singleton) +set' :: PackageSet Dependency+set' = PackageSet $+    M.singleton "spec" (S.fromList [specOld, specNew])+ set :: PackageSet Dependency set = PackageSet $     M.fromList (("lens", S.fromList [lens, newLens]) :@@ -39,3 +49,5 @@         resolveDependencies set [newLens] `shouldBe` Right [[free, comonad], [newLens]]     it "correctly resolves dependencies in a package set" $         resolveDependencies set [ghcMod] `shouldBe` Right [[free, comonad], [lens], [ghcMod]]+    it "correctly resolves dependencies in a package set" $+        resolveDependencies set' [specOld] `shouldBe` Right [[specOld]]