git.iko.soy/typeable/stackage2nix
on master help sign in
Cleanup warnings
3be632eDmitry Bushev
src/AllCabalHashes.hs−1
@@ -6,7 +6,6 @@ import Data.ByteString as BS
6import Data.ByteString.Lazy as BSL
6import Data.ByteString.Lazy as BSL
7import Data.Map as M
7import Data.Map as M
8import Data.Text as T
8import Data.Text as T
9−import Data.Text.Encoding as T
10import Distribution.Nixpkgs.Hashes as NH
9import Distribution.Nixpkgs.Hashes as NH
11import Distribution.Package
10import Distribution.Package
12import Distribution.PackageDescription
11import Distribution.PackageDescription
src/Distribution/Nixpkgs/Haskell/FromStack/Package.hs−1
@@ -5,7 +5,6 @@ import Data.Foldable as F
5import Data.Function (on)
5import Data.Function (on)
6import Data.Graph (Graph, Vertex)
6import Data.Graph (Graph, Vertex)
7import Data.Maybe
7import Data.Maybe
8−import Data.Monoid
9import Data.Ord as O
8import Data.Ord as O
10import Distribution.Text (display, disp)
9import Distribution.Text (display, disp)
11import Distribution.Package (unPackageName, packageName)
10import Distribution.Package (unPackageName, packageName)
src/Stack/Config.hs+1−3
@@ -3,13 +3,11 @@
3module Stack.Config where
3module Stack.Config where
4
4
5import Control.Lens
5import Control.Lens
6−import Data.Bifunctor
7import Data.ByteString as BS
6import Data.ByteString as BS
8import Data.Coerce
7import Data.Coerce
9import Data.List as L
8import Data.List as L
10import Data.List.NonEmpty as NE
9import Data.List.NonEmpty as NE
11import Data.Maybe
10import Data.Maybe
12−import Data.Semigroup
13import Data.Text as T
11import Data.Text as T
14import Data.Yaml
12import Data.Yaml
15import Network.URI
13import Network.URI
@@ -192,4 +190,4 @@ readStackConfig stackYaml = do
192 mkStackConfig = over (scPackages . traversed . spLocation) relativeToStackYaml
190 mkStackConfig = over (scPackages . traversed . spLocation) relativeToStackYaml
193 . over (scExtraDeps . traversed . spLocation) relativeToStackYaml
191 . over (scExtraDeps . traversed . spLocation) relativeToStackYaml
194 . fromYamlConfig
192 . fromYamlConfig
195− second mkStackConfig . decodeEither <$> BS.readFile (stackYaml ^. syFilePath)
193+ bimap show mkStackConfig . decodeEither' <$> BS.readFile (stackYaml ^. syFilePath)
test/Stack/Config/YamlSpec.hs+7−4
@@ -1,7 +1,7 @@
1{-# LANGUAGE OverloadedStrings #-}
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE QuasiQuotes #-}
2{-# LANGUAGE QuasiQuotes #-}
3
3
4−module Stack.Config.YamlSpec where
4+module Stack.Config.YamlSpec (spec) where
5
5
6import Data.ByteString
6import Data.ByteString
7import Data.Text.Encoding as T
7import Data.Text.Encoding as T
@@ -150,8 +150,11 @@ configNew = Config
150spec :: Spec
150spec :: Spec
151spec = describe "Config" $ do
151spec = describe "Config" $ do
152 specify "minimal" $
152 specify "minimal" $
153− (Y.decode configYamlMinimal :: Maybe Config) `shouldBe` Just configMinimal
153+ (decodeMaybe configYamlMinimal :: Maybe Config) `shouldBe` Just configMinimal
154 specify "full" $
154 specify "full" $
155− (Y.decode configYaml :: Maybe Config) `shouldBe` Just config
155+ (decodeMaybe configYaml :: Maybe Config) `shouldBe` Just config
156 specify "new" $
156 specify "new" $
157− (Y.decode configNewYaml :: Maybe Config) `shouldBe` Just configNew
157+ (decodeMaybe configNewYaml :: Maybe Config) `shouldBe` Just configNew
158+
159+decodeMaybe :: ByteString -> Maybe Config
160+decodeMaybe = either (const Nothing) id . Y.decodeEither'
test/Stack/ConfigSpec.hs+1−1
@@ -31,7 +31,7 @@ spec = describe "StackConfig" $ do
31 $ checkYamlConfig packageExtraDepsNewBs packageExtraDepsNewConf
31 $ checkYamlConfig packageExtraDepsNewBs packageExtraDepsNewConf
32
32
33parseYamlConfig :: ByteString -> Maybe StackConfig
33parseYamlConfig :: ByteString -> Maybe StackConfig
34−parseYamlConfig = fmap fromYamlConfig . Y.decode
34+parseYamlConfig = either (const Nothing) (Just . fromYamlConfig) . Y.decodeEither'
35
35
36checkYamlConfig :: ByteString -> StackConfig -> Expectation
36checkYamlConfig :: ByteString -> StackConfig -> Expectation
37checkYamlConfig bs sc = parseYamlConfig bs `shouldBe` Just sc
37checkYamlConfig bs sc = parseYamlConfig bs `shouldBe` Just sc