packages feed

bond-0.11.0.2: bond.cabal

-- Copyright (c) Microsoft. All rights reserved.
-- Licensed under the MIT license. See LICENSE file in the project root for full license information.

name:               bond
version:            0.11.0.2
cabal-version:      >= 1.8
tested-with:        GHC>=8.0.1
synopsis:           Bond schema compiler and code generator
description:        Bond is a cross-platform framework for handling schematized
                    data. It supports cross-language de/serialization and
                    powerful generic mechanisms for efficiently manipulating
                    data.
                    .
                    This package contains a library for parsing the Bond
                    schema definition language and performing template-based
                    code generation. The library includes built-in templates
                    for generating standard Bond C++ and C# code, as well as
                    utilities for writing custom codegen templates.
                    .
                    The package also contains a command-line compiler/codegen
                    tool, named gbc, which is primarily used to generate code
                    for C++ and C# programs using Bond.

homepage:           https://github.com/Microsoft/bond
license:            MIT
license-file:       LICENSE
author:             Adam Sapek <adamsap@microsoft.com>
maintainer:         Bond Development Team <bond-dev@microsoft.com>
bug-reports:        https://github.com/Microsoft/bond/issues
copyright:          Copyright (c) Microsoft. All rights reserved.
category:           Language, Compiler, Code Generation
build-type:         Simple

flag warningsAsErrors
  default: False
  manual: True

source-repository head
  type:             git
  location:         git@github.com:Microsoft/bond.git

library
  hs-source-dirs:   src
  build-depends:    aeson >= 0.7.0.6 && < 0.12.0.0,
                    base >= 4.9 && < 5,
                    bytestring >= 0.10,
                    filepath >= 1.0,
                    mtl >= 2.1,
                    megaparsec >= 6.2,
                    scientific >= 0.3.4.6,
                    shakespeare >= 2.0,
                    text >= 0.11,
                    unordered-containers >= 0.2.3.0
  if flag(warningsAsErrors)
    ghc-options:      -Wall -Werror
  exposed-modules:  Language.Bond.Parser
                    Language.Bond.Util
                    Language.Bond.Syntax.Types
                    Language.Bond.Syntax.JSON
                    Language.Bond.Syntax.Util
                    Language.Bond.Syntax.SchemaDef
                    Language.Bond.Codegen.Util
                    Language.Bond.Codegen.TypeMapping
                    Language.Bond.Codegen.Templates
  other-modules:    Language.Bond.Codegen.CustomMapping
                    Language.Bond.Codegen.Cpp.Apply_cpp
                    Language.Bond.Codegen.Cpp.Apply_h
                    Language.Bond.Codegen.Cpp.Enum_h
                    Language.Bond.Codegen.Cpp.Reflection_h
                    Language.Bond.Codegen.Cpp.Types_cpp
                    Language.Bond.Codegen.Cpp.Types_h
                    Language.Bond.Codegen.Cpp.Grpc_cpp
                    Language.Bond.Codegen.Cpp.Grpc_h
                    Language.Bond.Codegen.Cs.Types_cs
                    Language.Bond.Codegen.Cs.Grpc_cs
                    Language.Bond.Codegen.Cpp.ApplyOverloads
                    Language.Bond.Codegen.Cpp.Util
                    Language.Bond.Codegen.Cs.Util
                    Language.Bond.Codegen.Java.Class_java
                    Language.Bond.Codegen.Java.Enum_java
                    Language.Bond.Codegen.Java.Util
                    Language.Bond.Lexer
                    Language.Bond.Syntax.Internal
                    Paths_bond

test-suite gbc-tests
  type:             exitcode-stdio-1.0
  hs-source-dirs:   tests, .
  main-is:          TestMain.hs
  other-modules:    IO
                    Options
                    Tests.Codegen
                    Tests.Codegen.Util
                    Tests.Syntax
                    Tests.Syntax.JSON

  ghc-options:      -threaded
  if flag(warningsAsErrors)
    ghc-options:    -threaded -Wall -Werror

  if os(windows) && arch(i386)
    ld-options:     -Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware
  if os(windows) && arch(x86_64)
    ld-options:     -Wl,--dynamicbase -Wl,--nxcompat -Wl,--high-entropy-va

  build-depends:    bond,
                    aeson >= 0.7.0.6 && < 0.12.0.0,
                    aeson-pretty == 0.7.2,
                    base >= 4.9 && < 5,
                    bytestring >= 0.10,
                    cmdargs >= 0.10.10,
                    directory >= 1.1,
                    filepath >= 1.0,
                    monad-loops >= 0.4,
                    text >= 0.11,
                    derive < 2.6,
                    HUnit,
                    QuickCheck,
                    Diff >= 0.2 && < 0.4,
                    pretty,
                    tasty,
                    tasty-golden,
                    tasty-hunit,
                    tasty-quickcheck,
                    shakespeare >= 2.0,
                    megaparsec >= 6.2

executable gbc
  main-is:          Main.hs
  other-modules:    IO
                    Options

  ghc-options:      -threaded
  if flag(warningsAsErrors)
    ghc-options:    -threaded -Wall -Werror

  if os(windows) && arch(i386)
    ld-options:     -Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware
  if os(windows) && arch(x86_64)
    ld-options:     -Wl,--dynamicbase -Wl,--nxcompat -Wl,--high-entropy-va

  build-depends:    bond,
                    aeson >= 0.7.0.6 && < 0.12.0.0,
                    async >= 2.0.1.0,
                    base >= 4.9 && < 5,
                    bytestring >= 0.10,
                    cmdargs >= 0.10.10,
                    process < 1.5,
                    directory >= 1.1,
                    filepath >= 1.0,
                    monad-loops >= 0.4,
                    text >= 0.11,
                    megaparsec >= 6.2