on master help sign in
add stack file
commite24cb9ddf677f43cba7a4a26dc163e7d306d34fe authorSönke Hahn <soenkehahn@gmail.com> dateSat 25 Jul 2015, 17:22 (11 years ago) parent2cf2d08
5 files changed+71−35
.gitignore+1 servant-js/servant-js.cabal+1−1 servant-server/test/Doctests.hs+28−18 servant/test/Doctests.hs+26−16 stack.yaml+15
.gitignore+1
@@ -22,3 +22,4 @@ cabal.config
2222*.aux
2323*.hp
2424Setup
25+.stack-work
servant-js/servant-js.cabal+1−1
@@ -80,7 +80,7 @@ test-suite spec
8080 , lens
8181 , servant-js
8282 , servant
83− , hspec >= 2.0
83+ , hspec >= 2.1.8
8484 , hspec-expectations
8585 , language-ecmascript >= 0.16
8686 default-language: Haskell2010
servant-server/test/Doctests.hs+28−18
@@ -9,23 +9,33 @@ import Test.DocTest
99main :: IO ()
1010main = do
1111 files <- find always (extension ==? ".hs") "src"
12− cabalMacrosFile <- getCabalMacrosFile
13− doctest $ [ "-isrc"
14− , "-optP-include"
15− , "-optP" ++ cabalMacrosFile
16− , "-XOverloadedStrings"
17− , "-XFlexibleInstances"
18− , "-XMultiParamTypeClasses"
19− , "-XDataKinds"
20− , "-XTypeOperators"
21− ] ++ files
12+ mCabalMacrosFile <- getCabalMacrosFile
13+ doctest $ "-isrc" :
14+ (maybe [] (\ f -> ["-optP-include", "-optP" ++ f]) mCabalMacrosFile) ++
15+ "-XOverloadedStrings" :
16+ "-XFlexibleInstances" :
17+ "-XMultiParamTypeClasses" :
18+ "-XDataKinds" :
19+ "-XTypeOperators" :
20+ files
2221
23−getCabalMacrosFile :: IO FilePath
22+getCabalMacrosFile :: IO (Maybe FilePath)
2423getCabalMacrosFile = do
25− contents <- getDirectoryContents "dist"
26− let rest = "build" </> "autogen" </> "cabal_macros.h"
27− return $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
28− [x] -> "dist" </> x </> rest
29− [] -> "dist" </> rest
30− xs -> error $ "ran doctests with multiple dist/dist-sandbox-xxxxx's: \n"
31− ++ show xs ++ "\nTry cabal clean"
24+ exists <- doesDirectoryExist "dist"
25+ if exists
26+ then do
27+ contents <- getDirectoryContents "dist"
28+ let rest = "build" </> "autogen" </> "cabal_macros.h"
29+ whenExists $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
30+ [x] -> "dist" </> x </> rest
31+ [] -> "dist" </> rest
32+ xs -> error $ "ran doctests with multiple dist/dist-sandbox-xxxxx's: \n"
33+ ++ show xs ++ "\nTry cabal clean"
34+ else return Nothing
35+ where
36+ whenExists :: FilePath -> IO (Maybe FilePath)
37+ whenExists file = do
38+ exists <- doesFileExist file
39+ return $ if exists
40+ then Just file
41+ else Nothing
servant/test/Doctests.hs+26−16
@@ -9,21 +9,31 @@ import Test.DocTest
99main :: IO ()
1010main = do
1111 files <- find always (extension ==? ".hs") "src"
12− cabalMacrosFile <- getCabalMacrosFile
13− doctest $ [ "-isrc"
14− , "-optP-include"
15− , "-optP" ++ cabalMacrosFile
16− , "-XOverloadedStrings"
17− , "-XFlexibleInstances"
18− , "-XMultiParamTypeClasses"
19− ] ++ files
12+ mCabalMacrosFile <- getCabalMacrosFile
13+ doctest $ "-isrc" :
14+ (maybe [] (\ f -> ["-optP-include", "-optP" ++ f]) mCabalMacrosFile) ++
15+ "-XOverloadedStrings" :
16+ "-XFlexibleInstances" :
17+ "-XMultiParamTypeClasses" :
18+ files
2019
21−getCabalMacrosFile :: IO FilePath
20+getCabalMacrosFile :: IO (Maybe FilePath)
2221getCabalMacrosFile = do
23− contents <- getDirectoryContents "dist"
24− let rest = "build" </> "autogen" </> "cabal_macros.h"
25− return $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
26− [x] -> "dist" </> x </> rest
27− [] -> "dist" </> rest
28− xs -> error $ "ran doctests with multiple dist/dist-sandbox-xxxxx's: \n"
29− ++ show xs ++ "\nTry cabal clean"
22+ exists <- doesDirectoryExist "dist"
23+ if exists
24+ then do
25+ contents <- getDirectoryContents "dist"
26+ let rest = "build" </> "autogen" </> "cabal_macros.h"
27+ whenExists $ case filter ("dist-sandbox-" `isPrefixOf`) contents of
28+ [x] -> "dist" </> x </> rest
29+ [] -> "dist" </> rest
30+ xs -> error $ "ran doctests with multiple dist/dist-sandbox-xxxxx's: \n"
31+ ++ show xs ++ "\nTry cabal clean"
32+ else return Nothing
33+ where
34+ whenExists :: FilePath -> IO (Maybe FilePath)
35+ whenExists file = do
36+ exists <- doesFileExist file
37+ return $ if exists
38+ then Just file
39+ else Nothing
stack.yamlnew file+15
@@ -0,0 +1,15 @@
1+flags:
2+ servant-js:
3+ example: false
4+packages:
5+- servant/
6+- servant-blaze/
7+- servant-client/
8+- servant-docs/
9+- servant-examples/
10+- servant-js/
11+- servant-lucid/
12+- servant-mock/
13+- servant-server/
14+extra-deps: []
15+resolver: nightly-2015-07-24