cabal-version: 2.2 name: proto3-suite version: 0.9.4 synopsis: A higher-level API to the proto3-wire library description: This library provides a higher-level API to that supports: . - Type classes for encoding and decoding messages, and instances for all wire formats identified in the specification - A higher-level approach to encoding and decoding, based on `GHC.Generics` - A way of creating `.proto` files from Haskell types. . See for more details. . license: Apache-2.0 author: Arista Networks maintainer: Arista Networks copyright: 2017-2020 Awake Security, 2021-2025 Arista Networks category: Codec build-type: Simple data-files: test-files/*.bin tests/encode.sh tests/decode.sh extra-source-files: CHANGELOG.md, gen/.gitignore flag dhall Description: Turn on Dhall interpret and inject codegen Default: False Manual: True flag swagger Description: Turn on Swagger doc generation. Default: True Manual: True flag swagger-wrapper-format Description: Change Swagger schema format for Protobuf wrapper types Default: False Manual: True flag attoparsec-aeson Description: Depend upon the Haskell package "attoparsec-aeson". Default: True Manual: False -- "Manual: False" to automatically skip "attoparsec-aeson" if it is not available flag development Description: Enable development-specific options. Default: False Manual: True source-repository head type: git location: https://github.com/awakesecurity/proto3-suite common common default-language: Haskell2010 default-extensions: BlockArguments ExplicitNamespaces DeriveDataTypeable DeriveGeneric ImportQualifiedPost ViewPatterns if flag(development) ghc-options: -Werror build-depends: base >=4.15 && <5.0 , proto3-wire >= 1.4.6 && < 1.5 ghc-options: -O2 -Wall library import: common hs-source-dirs: src if flag(dhall) exposed-modules: Proto3.Suite.DhallPB build-depends: dhall >=1.13 && < 1.43 cpp-options: -DDHALL if flag(swagger) build-depends: swagger2 >=2.1.6 && <2.9 cpp-options: -DSWAGGER exposed-modules: Proto3.Suite.DotProto.Generate.Swagger Proto3.Suite.DotProto.Generate.Swagger.Wrappers if flag(swagger-wrapper-format) hs-source-dirs: src/swagger-wrapper-format else hs-source-dirs: src/no-swagger-wrapper-format exposed-modules: Proto3.Suite Proto3.Suite.Class Proto3.Suite.DotProto Proto3.Suite.DotProto.AST Proto3.Suite.DotProto.AST.Lens Proto3.Suite.DotProto.Generate Proto3.Suite.DotProto.Generate.Record Proto3.Suite.DotProto.Generate.Syntax Proto3.Suite.DotProto.Parsing Proto3.Suite.DotProto.Rendering Proto3.Suite.Form Proto3.Suite.Form.Encode Proto3.Suite.JSONPB Proto3.Suite.Tutorial Proto3.Suite.Types Google.Protobuf.Timestamp Google.Protobuf.Wrappers.Polymorphic Proto3.Suite.DotProto.Internal Proto3.Suite.Haskell.Parser Proto3.Suite.JSONPB.Class other-modules: Proto3.Suite.Form.Encode.Core Turtle.Compat build-depends: aeson >= 1.1.1.0 && < 2.3 , aeson-pretty >= 0.8.10 && < 0.9 , attoparsec >= 0.13.0.1 && < 0.15 , base64-bytestring >= 1.0.0.1 && < 1.3 , binary >=0.8.3 && <= 0.9 , bytestring >=0.10.6.0 && <0.13 , deepseq >=1.4 && <1.6 , cereal >= 0.5.1 && <0.6 , containers >=0.5 && <0.8 , contravariant >=1.4 && <1.6 , filepath >= 1.5.2 && < 1.6 , foldl >= 1.4.18 && < 1.5 , ghc-lib-parser >=9.2.8 && <9.13 , hashable >= 1.4.7 && < 1.5 , insert-ordered-containers >= 0.2.7 && < 0.3 , lens >= 5.3.5 && < 5.4 , mtl >=2.2 && <2.4 , neat-interpolation >= 0.5.1 && < 0.6 , parsec >= 3.1.9 && <3.2 , parsers >= 0.12 && <0.13 , pretty ==1.1.* , pretty-show >= 1.6.12 && < 2 , QuickCheck >=2.10 && <2.17 , quickcheck-instances >=0.3.26 && < 0.4 , safe ==0.3.* , split >= 0.2.5 && < 0.3 , system-filepath >= 0.4.14 && < 0.5 , template-haskell >=2.17 && <2.24 , text >= 0.2 && <2.2 , text-short >=0.1.3 && <0.2 , time >= 1.12.2 && < 1.13 , transformers >=0.4 && <0.7 , turtle < 1.6.0 || >= 1.6.1 && < 1.7 , vector >=0.11 && <0.14 if flag(attoparsec-aeson) build-depends: attoparsec-aeson >= 2.2.0.0 && < 2.3 test-suite tests import: common type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: gen tests cpp-options: -DTYPE_LEVEL_FORMAT if flag(dhall) other-modules: TestDhall build-depends: dhall >=1.13 && < 1.43 cpp-options: -DDHALL if flag(swagger) build-depends: swagger2 cpp-options: -DSWAGGER if flag(swagger-wrapper-format) cpp-options: -DSWAGGER_WRAPPER_FORMAT autogen-modules: TestProto TestProtoImport TestProtoNegativeEnum TestProtoNestedMessage TestProtoOneof TestProtoOneofImport TestProtoOptional TestProtoWrappers other-modules: ArbitraryGeneratedTestTypes TestCodeGen TestProto TestProtoImport --TestProtoLeadingDot TestProtoNegativeEnum TestProtoNestedMessage TestProtoOneof TestProtoOneofImport TestProtoOptional --TestProtoProtocPlugin TestProtoWrappers Test.Proto.Generate.Name Test.Proto.Generate.Name.Gen Test.Proto.Parse Test.Proto.Parse.Core Test.Proto.Interval Test.Proto.Parse.Gen Test.Proto.Parse.Option Test.Proto.ToEncoder build-depends: aeson , attoparsec >= 0.13.0.1 , base64-bytestring >= 1.0.0.1 && < 1.3 , bytestring >=0.10.6.0 && <0.13 , cereal >= 0.5.1 && <0.6 , containers >=0.5 && <0.8 , deepseq >=1.4 && <1.6 , doctest , generic-arbitrary , ghc-lib-parser >= 9.10.2 && < 9.11 , hedgehog , mtl >=2.2 && <2.4 , parsec >= 3.1.9 && <3.2.0 , pretty ==1.1.* , pretty-show >= 1.6.12 && < 2.0 , proto3-suite , QuickCheck >=2.10 && <2.17 , record-hasfield , tasty >= 0.11 && <1.6 , tasty-hedgehog , tasty-hunit >= 0.9 && <0.11 , tasty-quickcheck >= 0.8.4 && <0.12 , text >= 0.2 && <2.2 , text-short >=0.1.3 && <0.2 , transformers >=0.4 && <0.7 , turtle < 1.6.0 || >= 1.6.1 && < 1.7 , vector >=0.11 && <0.14 executable compile-proto-file main-is: Main.hs hs-source-dirs: tools/compile-proto-file default-language: Haskell2010 build-depends: base >=4.15 && <5.0 , ghc-lib-parser >= 9.10.2 && < 9.11 , optparse-applicative >= 0.18.1 && < 0.19 , proto3-suite , system-filepath >= 0.4.14 && < 0.5 , text >= 2.1.1 && < 2.2 , turtle < 1.6.0 || >= 1.6.1 && < 1.7 ghc-options: -O2 -Wall executable canonicalize-proto-file import: common main-is: Main.hs hs-source-dirs: tools/canonicalize-proto-file build-depends: containers >=0.5 && <0.8 , mtl >=2.2 && <2.4 , optparse-generic >= 1.5.2 && < 1.6 , proto3-suite , system-filepath >= 0.4.14 && < 0.5 , turtle < 1.6.0 || >= 1.6.1 && < 1.7