proto-lens-setup: Cabal support for codegen with proto-lens.
This package provides Cabal support for the proto-lens
package.
It automatically generates Haskell source files from protocol buffer
files (.proto
).
To generate Haskell modules for a Cabal package, import
Data.ProtoLens.Setup from the Setup.hs
file. For example:
import Data.ProtoLens.Setup -- Here, "src" is the directory where .proto source files may be found main = defaultMainGeneratingProtos "src"
Then, edit the .cabal
file of your project to:
Specify
build-type: Custom
, and add acustom-setup
clause that depends onproto-lens-setup
.List the .proto files in
extra-source-files
. Note that the field belongs at the top level of the.cabal
file, rather than once per library/executable/etc.List the generated modules (e.g.
Proto.Foo.Bar
) inexposed-modules
orother-modules
of the rule(s) that use them (e.g. the library or executables). Additionally, addproto-lens-runtime
to thebuild-depends
of those rules.
For example, in foo-bar-proto.cabal
:
build-type: Custom extra-source-files: src/foo/bar.proto ... custom-setup setup-depends: base, Cabal, proto-lens-setup
library exposed-modules: Proto.Foo.Bar, Proto.Foo.Bar_Fields autogen-modules: Proto.Foo.Bar, Proto.Foo.Bar_Fields build-depends: proto-lens-runtime, ...
Downloads
- proto-lens-setup-0.4.0.8.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.4.0.0, 0.4.0.1, 0.4.0.2, 0.4.0.3, 0.4.0.4, 0.4.0.5, 0.4.0.6, 0.4.0.7, 0.4.0.8 |
---|---|
Change log | Changelog.md |
Dependencies | base (>=4.10 && <4.20), bytestring (>=0.10 && <0.13), Cabal (>=2.0 && <3.12), containers (>=0.5 && <0.8), deepseq (>=1.4 && <1.6), directory (>=1.2 && <1.4), filepath (>=1.4 && <1.6), process (>=1.2 && <1.7), proto-lens-protoc (>=0.4 && <0.9), temporary (>=1.2 && <1.4), text (>=1.2 && <2.2) [details] |
License | BSD-3-Clause |
Copyright | Google Inc. |
Author | Judah Jacobson |
Maintainer | proto-lens@googlegroups.com |
Home page | https://github.com/google/proto-lens#readme |
Bug tracker | https://github.com/google/proto-lens/issues |
Source repo | head: git clone https://github.com/google/proto-lens(proto-lens-setup) |
Uploaded | by gnezdo at 2024-04-09T00:17:43Z |
Distributions | LTSHaskell:0.4.0.8, NixOS:0.4.0.8 |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Downloads | 4398 total (50 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2024-04-09 [all 1 reports] |