cabal-version:       2.4

name:                semantic-python
version:             0.0.0.0
synopsis:            Semantic support for Python.
description:         Semantic support for Python using the semantic-core intermediate language.
homepage:            https://github.com/github/semantic/tree/master/semantic-python#readme
bug-reports:         https://github.com/github/semantic/issues
license:             MIT
license-file:        LICENSE
author:              The Semantic authors
maintainer:          opensource+semantic@github.com
copyright:           (c) 2019 GitHub, Inc.
category:            Language
build-type:          Simple
stability:           alpha
extra-source-files:  README.md

tested-with:         GHC == 8.6.5

common haskell
  default-language:    Haskell2010
  build-depends:       base ^>= 4.13
                     , fused-effects ^>= 1.0
                     , fused-syntax
                     , parsers ^>= 0.12.10
                     , semantic-analysis ^>= 0
                     , semantic-core ^>= 0.0
                     , semantic-source ^>= 0.0.1
                     , semantic-tags ^>= 0.0
                     , semantic-scope-graph ^>= 0.0
                     , semilattices ^>= 0
                     , text ^>= 1.2.3
                     , tree-sitter ^>= 0.8
                     , tree-sitter-python ^>= 0.8.1

  ghc-options:
    -Weverything
    -Wno-missing-local-signatures
    -Wno-missing-import-lists
    -Wno-implicit-prelude
    -Wno-safe
    -Wno-unsafe
    -Wno-name-shadowing
    -Wno-monomorphism-restriction
    -Wno-missed-specialisations
    -Wno-all-missed-specialisations
    -Wno-star-is-type
  if (impl(ghc >= 8.8))
    ghc-options: -Wno-missing-deriving-strategies


library
  import: haskell
  exposed-modules:
    Language.Python
    Language.Python.Core
    Language.Python.Failure
    Language.Python.Patterns
    Language.Python.ScopeGraph
    Language.Python.Tags
  hs-source-dirs: src

test-suite compiling
  import: haskell
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Test.hs
  ghc-options: -threaded

  build-depends: semantic-python == 0.0.0.0
               , aeson ^>= 1.4.4
               , aeson-pretty ^>= 0.8.7
               , bytestring ^>= 0.10.8.2
               , containers ^>= 0.6
               , directory ^>= 1.3.3
               , exceptions ^>= 0.10.2
               , pathtype ^>= 0.8.1
               , pretty-show ^>= 1.9.5
               , process ^>= 1.6.5
               , resourcet ^>= 1.2.2
               , semantic-analysis ^>= 0
               , streaming ^>= 0.2.2
               , streaming-process ^>= 0.1
               , streaming-bytestring ^>= 0.1.6
               , tasty ^>= 1.2.3
               , tasty-hunit ^>= 0.10.0.2
               , trifecta >= 2 && <3
               , unordered-containers ^>= 0.2.10

  other-modules: Directive
               , Instances

test-suite graphing
  import: haskell
  type: exitcode-stdio-1.0
  hs-source-dirs: test-graphing
  main-is: GraphTest.hs
  ghc-options: -threaded

  build-depends: base
               , semantic-python
               , semantic-scope-graph
               , bytestring
               , pathtype
               , tasty
               , tasty-hunit