Merge branch 'master' into script-fsm
[lsp-test.git] / haskell-lsp-test.cabal
index af514783d604b8483844f1b0fd7c70b96481dbbd..6fba8f24d253b3e26a027ad083bd6e5ded67770b 100644 (file)
 name:                haskell-lsp-test
 version:             0.1.0.0
--- synopsis:
+synopsis:            Functional test framework for LSP servers.
 -- description:
 homepage:            https://github.com/Bubba/haskell-lsp-test#readme
 license:             BSD3
 license-file:        LICENSE
 author:              Luke Lau
 maintainer:          luke_lau@icloud.com
+stability:           experimental
+bug-reports:         https://github.com/Bubba/haskell-lsp-test/issues
 copyright:           2018 Luke Lau
 category:            Testing
 build-type:          Simple
-cabal-version:       >=1.10
+cabal-version:       >=2.0
 extra-source-files:  README.md
 
 library
-  hs-source-dirs:      src
+  hs-source-dirs:      lib
   exposed-modules:     Language.Haskell.LSP.Test
                      , Language.Haskell.LSP.Test.Replay
+                     , Language.Haskell.LSP.Test.Machine
+  reexported-modules:  haskell-lsp:Language.Haskell.LSP.Types
+                     , haskell-lsp:Language.Haskell.LSP.Types.Capabilities
+                     , parser-combinators:Control.Applicative.Combinators
   default-language:    Haskell2010
   build-depends:       base >= 4.7 && < 5
                      , haskell-lsp-types
-                     , haskell-lsp
-                     , data-default
-                     , bytestring
+                     , haskell-lsp >= 0.4
+                     , haskell-lsp-test-internal
                      , aeson
+                     , bytestring
+                     , containers
+                     , data-default
+                     , directory
+                     , filepath
                      , lens
+                     , parser-combinators
+                     , text
+                     , unordered-containers
+                     , yi-rope
+
+library haskell-lsp-test-internal
+  hs-source-dirs:      src
+  default-language:    Haskell2010
+  exposed-modules:     Language.Haskell.LSP.Test.Compat
+                       Language.Haskell.LSP.Test.Decoding
+                       Language.Haskell.LSP.Test.Exceptions
+                       Language.Haskell.LSP.Test.Files
+                       Language.Haskell.LSP.Test.Messages
+                       Language.Haskell.LSP.Test.Parsing
+                       Language.Haskell.LSP.Test.Script
+                       Language.Haskell.LSP.Test.Server
+                       Language.Haskell.LSP.Test.Session
+  build-depends:       base
+                     , haskell-lsp-types
+                     , haskell-lsp >= 0.3
+                     , aeson
+                     , ansi-terminal
+                     , async
+                     , bytestring
+                     , conduit
+                     , conduit-parse
+                     , containers
+                     , data-default
+                     , directory
                      , filepath
+                     , lens
+                     , mtl
+                     , scientific
+                     , parser-combinators
+                     , process
                      , text
                      , transformers
-                     , parsec
-                     , process
-                     , directory
-                     , containers
                      , unordered-containers
+                     , yi-rope
   if os(windows)
-    build-depends:     win32
+    build-depends:     Win32
   else
     build-depends:     unix
-  other-modules:       Language.Haskell.LSP.Test.Compat
-                       Language.Haskell.LSP.Test.Decoding
-                       Language.Haskell.LSP.Test.Files
-                       Language.Haskell.LSP.Test.Parsing
-                       Language.Haskell.LSP.Test.Messages
   ghc-options:         -W
 
+executable lsp-test
+  hs-source-dirs:     lsp-test
+  main-is:            Main.hs
+  default-language:   Haskell2010
+  build-depends:      base >= 4.7 && < 5
+                    , haskell-lsp-types
+                    , haskell-lsp >= 0.4
+                    , haskell-lsp-test-internal
+                    , haskell-lsp-test
+                    , aeson
+                    , bytestring
+                    , directory
+                    , filepath
+                    , text
+                    , unordered-containers
+                    , scientific
+
 test-suite tests
   type:                exitcode-stdio-1.0
   main-is:             Test.hs
@@ -52,18 +105,17 @@ test-suite tests
   build-depends:       base >= 4.7 && < 5
                      , hspec
                      , lens
-                     , directory
+                     , data-default
+                     , haskell-lsp >= 0.4
                      , haskell-lsp-test
-                     , haskell-lsp-types
+                     , aeson
+                     , unordered-containers
+                     , text
   default-language:    Haskell2010
 
-executable example
+executable lsp-test-example
   hs-source-dirs:      example
   main-is:             Main.hs
   default-language:    Haskell2010
   build-depends:       base >= 4.7 && < 5
                      , haskell-lsp-test
-                     , haskell-lsp-types
-                     , lens
-                     , text
-                     , directory
\ No newline at end of file