From 5964367f48bba91225edc8eee4812c0c6992c69a Mon Sep 17 00:00:00 2001 From: Dmitry Kovanikov Date: Thu, 31 May 2018 00:07:49 +0800 Subject: [PATCH] [#85] Remove base-noprelude dependency (#86) --- CHANGELOG.md | 6 ++++++ app/Main.hs | 2 ++ src/Prelude.hs | 7 ------- src/Summoner/Ansi.hs | 2 ++ src/Summoner/CLI.hs | 2 ++ src/Summoner/Config.hs | 2 ++ src/Summoner/Default.hs | 2 ++ src/Summoner/License.hs | 2 ++ src/Summoner/Process.hs | 2 ++ src/Summoner/Project.hs | 2 ++ src/Summoner/ProjectData.hs | 2 ++ src/Summoner/Question.hs | 2 ++ src/Summoner/Template.hs | 2 ++ src/Summoner/Text.hs | 2 ++ src/Summoner/Tree.hs | 2 ++ src/Summoner/Validation.hs | 2 ++ stack-8.4.2.yaml | 7 +------ stack.yaml | 1 - summoner.cabal | 15 ++++++++------- test/Test/DecisionSpec.hs | 2 ++ 20 files changed, 45 insertions(+), 21 deletions(-) delete mode 100644 src/Prelude.hs diff --git a/CHANGELOG.md b/CHANGELOG.md index 48c41030..92e1b668 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Summoner +1.0.1 +===== + +* [#85](https://github.com/kowainik/summoner/issues/85): + Remove `base-noprelude` from dependencies. + 1.0.0 ===== diff --git a/app/Main.hs b/app/Main.hs index 18cf090f..cd5f210a 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,5 +1,7 @@ module Main where +import Universum + import System.IO (hSetEncoding, utf8) import Summoner (summon) diff --git a/src/Prelude.hs b/src/Prelude.hs deleted file mode 100644 index 3a654c02..00000000 --- a/src/Prelude.hs +++ /dev/null @@ -1,7 +0,0 @@ --- | Uses [universum](http://hackage.haskell.org/package/universum) as default prelude. - -module Prelude - ( module Universum - ) where - -import Universum hiding (Key) diff --git a/src/Summoner/Ansi.hs b/src/Summoner/Ansi.hs index c1b67063..a86ce839 100644 --- a/src/Summoner/Ansi.hs +++ b/src/Summoner/Ansi.hs @@ -18,6 +18,8 @@ module Summoner.Ansi , skipMessage ) where +import Universum + import System.Console.ANSI (Color (..), ColorIntensity (Vivid), ConsoleIntensity (BoldIntensity), ConsoleLayer (Foreground), SGR (..), setSGR) import System.IO (hFlush) diff --git a/src/Summoner/CLI.hs b/src/Summoner/CLI.hs index 41048c48..8bdc6fb8 100644 --- a/src/Summoner/CLI.hs +++ b/src/Summoner/CLI.hs @@ -8,6 +8,8 @@ module Summoner.CLI ( summon ) where +import Universum + import Data.Version (showVersion) import NeatInterpolation (text) import Options.Applicative (Parser, ParserInfo, command, execParser, flag, fullDesc, help, helper, diff --git a/src/Summoner/Config.hs b/src/Summoner/Config.hs index 312b2711..459e544b 100644 --- a/src/Summoner/Config.hs +++ b/src/Summoner/Config.hs @@ -23,6 +23,8 @@ module Summoner.Config , loadFileConfig ) where +import Universum hiding (Key) + import Control.Exception (throwIO) import Data.List (lookup) import Data.Monoid (Last (..)) diff --git a/src/Summoner/Default.hs b/src/Summoner/Default.hs index 8c61c63b..20b2e8bf 100644 --- a/src/Summoner/Default.hs +++ b/src/Summoner/Default.hs @@ -8,6 +8,8 @@ module Summoner.Default , endLine ) where +import Universum + import Data.Time (getCurrentTime, toGregorian, utctDay) import System.Directory (getHomeDirectory) import System.FilePath (()) diff --git a/src/Summoner/License.hs b/src/Summoner/License.hs index 9187f6d5..76cd9b66 100644 --- a/src/Summoner/License.hs +++ b/src/Summoner/License.hs @@ -5,6 +5,8 @@ module Summoner.License , githubLicenseQueryNames ) where +import Universum + import Data.Aeson (FromJSON (..), withObject, (.:)) import qualified Data.Text as T diff --git a/src/Summoner/Process.hs b/src/Summoner/Process.hs index 43808ebb..37a86630 100644 --- a/src/Summoner/Process.hs +++ b/src/Summoner/Process.hs @@ -8,6 +8,8 @@ module Summoner.Process ( deleteFile ) where +import Universum + import Control.Exception (displayException) import System.Directory (removeFile, setCurrentDirectory) import System.Process (callProcess) diff --git a/src/Summoner/Project.hs b/src/Summoner/Project.hs index 7255e8ec..2fcb320d 100644 --- a/src/Summoner/Project.hs +++ b/src/Summoner/Project.hs @@ -6,6 +6,8 @@ module Summoner.Project ( generateProject ) where +import Universum + import Data.Aeson (decodeStrict) import Data.ByteString.Char8 (pack) import NeatInterpolation (text) diff --git a/src/Summoner/ProjectData.hs b/src/Summoner/ProjectData.hs index 2e97fe2e..3c9cb9ff 100644 --- a/src/Summoner/ProjectData.hs +++ b/src/Summoner/ProjectData.hs @@ -16,6 +16,8 @@ module Summoner.ProjectData , yesOrNo ) where +import Universum + import Generics.Deriving.Monoid (GMonoid (..)) import Generics.Deriving.Semigroup (GSemigroup (..)) diff --git a/src/Summoner/Question.hs b/src/Summoner/Question.hs index a27095bb..ea92e2fc 100644 --- a/src/Summoner/Question.hs +++ b/src/Summoner/Question.hs @@ -17,6 +17,8 @@ module Summoner.Question , falseMessage ) where +import Universum + import System.Directory (doesPathExist, getCurrentDirectory) import System.FilePath (()) diff --git a/src/Summoner/Template.hs b/src/Summoner/Template.hs index 6bd50138..90e997ce 100644 --- a/src/Summoner/Template.hs +++ b/src/Summoner/Template.hs @@ -7,6 +7,8 @@ module Summoner.Template ( createStackTemplate ) where +import Universum + import NeatInterpolation (text) import Summoner.Default (defaultGHC, endLine) diff --git a/src/Summoner/Text.hs b/src/Summoner/Text.hs index 789cff44..26660504 100644 --- a/src/Summoner/Text.hs +++ b/src/Summoner/Text.hs @@ -4,6 +4,8 @@ module Summoner.Text , headToUpper ) where +import Universum + import qualified Data.Char as C import qualified Data.Text as T diff --git a/src/Summoner/Tree.hs b/src/Summoner/Tree.hs index e0366e2a..07f0d0b2 100644 --- a/src/Summoner/Tree.hs +++ b/src/Summoner/Tree.hs @@ -6,6 +6,8 @@ module Summoner.Tree , showTree ) where +import Universum + import System.Directory (createDirectoryIfMissing, withCurrentDirectory) -- | Describes simple structure of filesystem tree. diff --git a/src/Summoner/Validation.hs b/src/Summoner/Validation.hs index 676cc786..228b3df7 100644 --- a/src/Summoner/Validation.hs +++ b/src/Summoner/Validation.hs @@ -2,6 +2,8 @@ module Summoner.Validation ( Validation (..) ) where +import Universum + -- | 'Validation' is 'Either' with a Left that is a 'Monoid' data Validation e a = Failure e diff --git a/stack-8.4.2.yaml b/stack-8.4.2.yaml index e66d63f5..88ff9299 100644 --- a/stack-8.4.2.yaml +++ b/stack-8.4.2.yaml @@ -1,6 +1 @@ -resolver: nightly-2018-05-28 - -extra-deps: - - base-noprelude-4.11.1.0 - - tomland-0.2.1 - - universum-1.2.0 +resolver: nightly-2018-05-30 diff --git a/stack.yaml b/stack.yaml index 34cc2f54..309e362f 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,7 +1,6 @@ resolver: lts-11.10 extra-deps: - - base-noprelude-4.10.1.0 - tomland-0.2.1 - universum-1.2.0 diff --git a/summoner.cabal b/summoner.cabal index 48b210d5..74b28773 100644 --- a/summoner.cabal +++ b/summoner.cabal @@ -1,5 +1,5 @@ name: summoner -version: 1.0.0 +version: 1.0.1 synopsis: Tool for creating completely configured production Haskell projects. description: Tool for creating completely configured production Haskell projects. See README.md for details. @@ -25,8 +25,7 @@ source-repository head library hs-source-dirs: src - exposed-modules: Prelude - Summoner + exposed-modules: Summoner Summoner.Ansi Summoner.CLI Summoner.Config @@ -45,7 +44,7 @@ library autogen-modules: Paths_summoner ghc-options: -Wall - build-depends: base-noprelude >= 4.9 && < 5 + build-depends: base >= 4.9 && < 5 , aeson , ansi-terminal , bytestring @@ -57,13 +56,14 @@ library , process , text , time - , tomland + , tomland >= 0.2.1 , universum >= 1.2.0 default-extensions: DeriveGeneric GeneralizedNewtypeDeriving InstanceSigs LambdaCase + NoImplicitPrelude OverloadedStrings RecordWildCards @@ -73,8 +73,9 @@ executable summon hs-source-dirs: app main-is: Main.hs ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N - build-depends: base-noprelude + build-depends: base , summoner + , universum default-language: Haskell2010 test-suite summoner-test @@ -85,7 +86,7 @@ test-suite summoner-test other-modules: Test.DecisionSpec build-tool-depends: tasty-discover:tasty-discover - build-depends: base-noprelude + build-depends: base , hedgehog , tasty , tasty-hedgehog diff --git a/test/Test/DecisionSpec.hs b/test/Test/DecisionSpec.hs index 71cfcf24..d06327cf 100644 --- a/test/Test/DecisionSpec.hs +++ b/test/Test/DecisionSpec.hs @@ -1,5 +1,7 @@ module Test.DecisionSpec where +import Universum + import Hedgehog (MonadGen, forAll, property, (===)) import Test.Tasty (TestTree) import Test.Tasty.Hedgehog (testProperty)