packages feed

language-ninja-0.1.0: language-ninja.cabal

--------------------------------------------------------------------------------

name:                     language-ninja
version:                  0.1.0
stability:                Experimental
build-type:               Custom
cabal-version:            >= 1.10
category:                 Language
copyright:                Copyright 2017 Awake Security
author:                   Awake Security
maintainer:               opensource@awakesecurity.com
license:                  Apache-2.0
license-file:             LICENSE.md
homepage:                 https://github.com/awakesecurity/language-ninja
bug-reports:              https://github.com/awakesecurity/language-ninja/issues
category:                 Build, Language
synopsis:                 A library for dealing with the Ninja build language.
description:              A Haskell library for parsing, pretty-printing, and
                          compiling the Ninja build language.
                          The best place to start reading this documentation is
                          the "Language.Ninja" module.
extra-source-files:       README.md
                        , CHANGELOG.md
tested-with:              GHC == 8.0.1
                          
--------------------------------------------------------------------------------

source-repository head
    type:                 git
    branch:               master
    location:             https://github.com/awakesecurity/language-ninja.git

source-repository this
    type:                 git
    tag:                  release-0.1.0
    location:             https://github.com/awakesecurity/language-ninja.git

--------------------------------------------------------------------------------

custom-setup
    setup-depends:        base                        >= 4.8   && < 5.0
                        , Cabal                       >= 1.24  && < 1.25
                        , cabal-doctest               >= 1.0.2 && < 1.1

--------------------------------------------------------------------------------

library
    hs-source-dirs:       library
    build-depends:        base                        >= 4.8   && < 5.0
                        , aeson                       >= 1.0   && < 1.3
                        , bytestring                  >= 0.10  && < 0.11
                        , containers                  >= 0.5   && < 0.6
                        , deepseq                     >= 1.4   && < 1.5
                        , flow                        >= 1.0   && < 1.1
                        , hashable                    >= 1.2   && < 1.3
                        , intern                      >= 0.9   && < 0.10
                        , megaparsec                  >= 5.2   && < 5.3
                        , mtl                         >= 2.2   && < 2.3
                        , lens                        >= 4.15  && < 4.16
                        , QuickCheck                  >= 2.9   && < 2.10
                        , quickcheck-instances        >= 0.3   && < 0.4
                        , smallcheck                  >= 1.1   && < 1.2
                        , system-filepath             >= 0.4   && < 0.5
                        , text                        >= 1.2   && < 1.3
                        , transformers                >= 0.5   && < 0.6
                        , unordered-containers        >= 0.2   && < 0.3
                        , versions                    >= 3.1.1 && < 3.2
    exposed-modules:      Language.Ninja
                        , Language.Ninja.Compile
                        , Language.Ninja.Lexer
                        , Language.Ninja.Lexer.Types
                        , Language.Ninja.Parser
                        , Language.Ninja.Pretty
                        , Language.Ninja.Tutorial
                        , Language.Ninja.AST
                        , Language.Ninja.AST.Build
                        , Language.Ninja.AST.Deps
                        , Language.Ninja.AST.Env
                        , Language.Ninja.AST.Expr
                        , Language.Ninja.AST.Ninja
                        , Language.Ninja.AST.Rule
                        , Language.Ninja.IR
                        , Language.Ninja.IR.Build
                        , Language.Ninja.IR.Meta
                        , Language.Ninja.IR.Ninja
                        , Language.Ninja.IR.Pool
                        , Language.Ninja.IR.Rule
                        , Language.Ninja.IR.Target
                        , Language.Ninja.Errors
                        , Language.Ninja.Errors.Compile
                        , Language.Ninja.Errors.Parser
                        , Language.Ninja.Mock
                        , Language.Ninja.Mock.ReadFile
                        , Language.Ninja.Misc
                        , Language.Ninja.Misc.Annotated
                        , Language.Ninja.Misc.Command
                        , Language.Ninja.Misc.IText
                        , Language.Ninja.Misc.Located
                        , Language.Ninja.Misc.Path
                        , Language.Ninja.Misc.Positive
    default-language:     Haskell2010
    other-extensions:     ConstraintKinds
                        , DeriveDataTypeable
                        , DeriveFoldable
                        , DeriveFunctor
                        , DeriveGeneric
                        , DeriveTraversable
                        , FlexibleContexts
                        , FlexibleInstances
                        , GADTs
                        , GeneralizedNewtypeDeriving
                        , InstanceSigs
                        , KindSignatures
                        , LambdaCase
                        , MultiParamTypeClasses
                        , OverloadedStrings
                        , RankNTypes
                        , RecordWildCards
                        , ScopedTypeVariables
                        , UndecidableInstances
    ghc-options:          -Wcompat -Weverything
                          -fno-warn-unsafe
                          -fno-warn-safe
                          -fno-warn-implicit-prelude
                          -fno-warn-unused-do-bind
                          -fno-warn-missed-specialisations
                          -fno-warn-all-missed-specialisations
                          -g

--------------------------------------------------------------------------------

test-suite tests
    type:                 exitcode-stdio-1.0
    hs-source-dirs:       tests
    main-is:              Tests.hs
    other-modules:        Tests.Lint
                        , Tests.Mock
                        , Tests.Orphans
                        , Tests.ReferenceLexer
                        , Tests.ReferenceLexer.Str0
    build-depends:        language-ninja
                        , base                        >= 4.8   && < 5.0
                        , aeson                       >= 1.0   && < 1.3
                        , bytestring                  >= 0.10  && < 0.11
                        , containers                  >= 0.5   && < 0.6
                        , flow                        >= 1.0   && < 1.1
                        , ghc                         >= 7.4   && < 8.4
                        , haddock-api                 >= 2.17  && < 2.18
                        , haddock-library             >= 1.4   && < 1.5
                        , hashable                    >= 1.2   && < 1.3
                        , lens                        >= 4.15  && < 4.16
                        , monad-mock                  >= 0.1   && < 0.2
                        , mtl                         >= 2.2   && < 2.3
                        , QuickCheck                  >= 2.9   && < 2.10
                        , quickcheck-instances        >= 0.3   && < 0.4
                        , smallcheck                  >= 1.1   && < 1.2
                        , system-filepath             >= 0.4   && < 0.5
                        , tasty                       >= 0.11  && < 0.12
                        , tasty-html                  >= 0.4   && < 0.5
                        , tasty-hunit                 >= 0.9   && < 0.10
                        , tasty-lens                  >= 0.3   && < 0.4
                        , tasty-quickcheck            >= 0.8   && < 0.9
                        , tasty-smallcheck            >= 0.8   && < 0.9
                        , text                        >= 1.2   && < 1.3
                        , transformers                >= 0.5   && < 0.6
                        , turtle                      >= 1.3   && < 1.4
                        , unordered-containers        >= 0.2   && < 0.3
                        , versions                    >= 3.1.1 && < 3.2
    default-language:     Haskell2010
    other-extensions:     FlexibleContexts
                        , FlexibleInstances
                        , GADTs
                        , LambdaCase
                        , MultiParamTypeClasses
                        , OverloadedStrings
                        , PatternGuards
                        , RankNTypes
                        , RecordWildCards
                        , ScopedTypeVariables
                        , StandaloneDeriving
                        , TypeApplications
                        , TypeFamilies
                        , UndecidableInstances
                        , ViewPatterns
    ghc-options:          -Wcompat -Weverything
                          -fno-warn-unsafe
                          -fno-warn-safe
                          -fno-warn-implicit-prelude
                          -fno-warn-unused-do-bind
                          -fno-warn-missed-specialisations
                          -fno-warn-all-missed-specialisations
                          -g -threaded

--------------------------------------------------------------------------------

test-suite doctests
    type:                 exitcode-stdio-1.0
    hs-source-dirs:       tests
    main-is:              DocTests.hs
    build-depends:        base                        >= 4.8   && < 5.0
                        , doctest                     >= 0.11  && < 0.12
                        , QuickCheck                  >= 2.9   && < 2.10
                        , template-haskell            >= 2.11  && < 2.12
                        -- TODO: this shouldn't need to be here
                        -- remove this once https://git.io/vQp2m is merged
                        , cabal-doctest               >= 1.0.2 && < 1.1
    default-language:     Haskell2010
    ghc-options:          -Wall -threaded

--------------------------------------------------------------------------------

executable ninja-lex
    hs-source-dirs:       executables/ninja-lex
    main-is:              Main.hs
    build-depends:        language-ninja
                        , base                        >= 4.8   && < 5.0
                        , aeson                       >= 1.0   && < 1.3
                        , aeson-pretty                >= 0.8   && < 0.9
                        , flow                        >= 1.0   && < 1.1
                        , lens                        >= 4.15  && < 4.16
                        , mtl                         >= 2.2   && < 2.3
                        , optparse-generic            >= 1.1   && < 1.2
                        -- , prettyprinter               >= 1.1   && < 1.2
                        -- , prettyprinter-ansi-terminal >= 1.1   && < 1.2
                        , text                        >= 1.2   && < 1.3
                        , transformers                >= 0.5   && < 0.6
    default-language:     Haskell2010
    other-extensions:     DataKinds
                        , DeriveGeneric
                        , ExplicitNamespaces
                        , FlexibleInstances
                        , GADTSyntax
                        , OverloadedStrings
                        , StandaloneDeriving
                        , TypeOperators
    ghc-options:          -Wcompat -Weverything
                          -fno-warn-unsafe
                          -fno-warn-safe
                          -fno-warn-implicit-prelude
                          -fno-warn-unused-do-bind
                          -fno-warn-missed-specialisations
                          -fno-warn-all-missed-specialisations
                          -g -threaded

--------------------------------------------------------------------------------

executable ninja-parse
    hs-source-dirs:       executables/ninja-parse
    main-is:              Main.hs
    build-depends:        language-ninja
                        , base                        >= 4.8   && < 5.0
                        , aeson                       >= 1.0   && < 1.3
                        , aeson-pretty                >= 0.8   && < 0.9
                        , flow                        >= 1.0   && < 1.1
                        , lens                        >= 4.15  && < 4.16
                        , mtl                         >= 2.2   && < 2.3
                        , optparse-generic            >= 1.1   && < 1.2
                        -- , prettyprinter               >= 1.1   && < 1.2
                        -- , prettyprinter-ansi-terminal >= 1.1   && < 1.2
                        , text                        >= 1.2   && < 1.3
                        , transformers                >= 0.5   && < 0.6
    default-language:     Haskell2010
    other-extensions:     DataKinds
                        , DeriveGeneric
                        , ExplicitNamespaces
                        , FlexibleInstances
                        , GADTSyntax
                        , OverloadedStrings
                        , StandaloneDeriving
                        , TypeOperators
    ghc-options:          -Wcompat -Weverything
                          -fno-warn-unsafe
                          -fno-warn-safe
                          -fno-warn-implicit-prelude
                          -fno-warn-unused-do-bind
                          -fno-warn-missed-specialisations
                          -fno-warn-all-missed-specialisations
                          -g -threaded

--------------------------------------------------------------------------------

executable ninja-compile
    hs-source-dirs:       executables/ninja-compile
    main-is:              Main.hs
    build-depends:        language-ninja
                        , base                        >= 4.8   && < 5.0
                        , aeson                       >= 1.0   && < 1.3
                        , aeson-pretty                >= 0.8   && < 0.9
                        , flow                        >= 1.0   && < 1.1
                        , lens                        >= 4.15  && < 4.16
                        , mtl                         >= 2.2   && < 2.3
                        , optparse-generic            >= 1.1   && < 1.2
                        -- , prettyprinter               >= 1.1   && < 1.2
                        -- , prettyprinter-ansi-terminal >= 1.1   && < 1.2
                        , text                        >= 1.2   && < 1.3
                        , transformers                >= 0.5   && < 0.6
    default-language:     Haskell2010
    other-extensions:     DataKinds
                        , DeriveGeneric
                        , ExplicitNamespaces
                        , FlexibleInstances
                        , GADTSyntax
                        , OverloadedStrings
                        , StandaloneDeriving
                        , TypeOperators
    ghc-options:          -Wcompat -Weverything
                          -fno-warn-unsafe
                          -fno-warn-safe
                          -fno-warn-implicit-prelude
                          -fno-warn-unused-do-bind
                          -fno-warn-missed-specialisations
                          -fno-warn-all-missed-specialisations
                          -g -threaded

--------------------------------------------------------------------------------