name: proto-lens-protoc
version: 0.2.2.2
synopsis: Protocol buffer compiler for the proto-lens library.
description:
Turn protocol buffer files (.proto) into Haskell files (.hs) which
can be used with the proto-lens package.
The library component of this package contains compiler code (namely
Data.ProtoLens.Compiler.*) that is not guaranteed to have stable APIs.
license: BSD3
license-file: LICENSE
author: Judah Jacobson
maintainer: proto-lens@googlegroups.com
copyright: Google Inc.
category: Data
build-type: Simple
cabal-version: >=1.21
extra-source-files: Changelog.md
-- Work around stack bug, since we don't want to build the library
-- during bootstrapping:
-- https://github.com/commercialhaskell/stack/issues/1406
flag only-executable
Description: Only build the executable. Used for bootstrapping.
Default: False
library
if flag(only-executable) {
buildable: False
} else {
exposed-modules:
Data.ProtoLens.Compiler.Combinators
Data.ProtoLens.Compiler.Definitions
Data.ProtoLens.Compiler.Generate
Data.ProtoLens.Compiler.Plugin
Data.ProtoLens.Setup
default-language: Haskell2010
hs-source-dirs: src
build-depends:
Cabal >= 1.22 && < 2.1
, base >= 4.8 && < 4.11
, bytestring == 0.10.*
, containers == 0.5.*
, data-default-class >= 0.0 && < 0.2
, directory >= 1.2 && < 1.4
, filepath >= 1.4 && < 1.6
, haskell-src-exts >= 1.17 && < 1.20
, lens-family == 1.2.*
, lens-labels == 0.1.*
, process >= 1.2 && < 1.7
-- Specify a more precise version of `proto-lens`, since it depends on
-- the exact definition of the Message class.
, proto-lens == 0.2.2.*
, proto-lens-descriptors == 0.2.2.*
, text == 1.2.*
reexported-modules:
-- Modules that are needed by the generated Haskell files.
-- For forwards compatibility, reexport them as new module names so that
-- other packages don't accidentally write non-generated code that
-- relies on these modules being reexported by proto-lens-protoc.
Prelude as Data.ProtoLens.Reexport.Prelude
, Data.Int as Data.ProtoLens.Reexport.Data.Int
, Data.Word as Data.ProtoLens.Reexport.Data.Word
, Data.ByteString as Data.ProtoLens.Reexport.Data.ByteString
, Data.Default.Class as Data.ProtoLens.Reexport.Data.Default.Class
, Data.Map as Data.ProtoLens.Reexport.Data.Map
, Data.ProtoLens as Data.ProtoLens.Reexport.Data.ProtoLens
, Data.ProtoLens.Message.Enum as Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
, Data.Text as Data.ProtoLens.Reexport.Data.Text
, Lens.Family2 as Data.ProtoLens.Reexport.Lens.Family2
, Lens.Family2.Unchecked as Data.ProtoLens.Reexport.Lens.Family2.Unchecked
, Lens.Labels as Data.ProtoLens.Reexport.Lens.Labels
}
executable proto-lens-protoc
main-is: protoc-gen-haskell.hs
build-depends:
base >= 4.8 && < 4.11
, bytestring == 0.10.*
, containers == 0.5.*
, data-default-class >= 0.0 && < 0.2
, filepath >= 1.4 && < 1.6
, haskell-src-exts >= 1.17 && < 1.20
, lens-family == 1.2.*
-- Specify a more precise version of `proto-lens`, since it depends on
-- the exact definition of the Message class.
, proto-lens == 0.2.2.*
, proto-lens-descriptors == 0.2.2.*
, text == 1.2.*
hs-source-dirs: src
other-modules:
Data.ProtoLens.Compiler.Combinators
Data.ProtoLens.Compiler.Definitions
Data.ProtoLens.Compiler.Generate
Data.ProtoLens.Compiler.Plugin
default-language: Haskell2010