-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathocaml-protoc-plugin.opam
55 lines (50 loc) · 1.81 KB
/
ocaml-protoc-plugin.opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
opam-version: "2.0"
maintainer: "Anders Fugmann"
authors: "Anders Fugmann <anders@fugmann.net>"
license: "APACHE-2.0"
homepage: "https://github.com/andersfugmann/ocaml-protoc-plugin"
dev-repo: "git+https://github.com/andersfugmann/ocaml-protoc-plugin"
bug-reports: "https://github.com/andersfugmann/ocaml-protoc-plugin/issues"
doc: "https://andersfugmann.github.io/ocaml-protoc-plugin/"
build: [
["dune" "subst"] {dev}
["dune" "build" "-p" name "-j" jobs]
["dune" "runtest" "-p" name "-j" jobs] {with-test & arch != "arm32" & arch != "x86_32"}
]
depends: [
"conf-protoc" {>= "1.0.0"}
"conf-protoc-dev" {with-test}
"conf-c++" {with-test}
"dune" {>= "3.12"}
"ocaml" {>= "4.08.0"}
"ppx_expect"
"ppx_inline_test"
"ppx_deriving" {with-test}
"bisect_ppx" {with-test}
"odoc" {with-doc}
"omd"
"conf-pkg-config" {build}
"dune-configurator" {with-test}
"yojson" {with-test}
"base64" {>= "3.1.0"}
"ptime"
]
x-ci-accept-failures: [
"opensuse-15.5" # Error during linking (exit code 1)
"macos-homebrew" # C++ versions less than C++14 are not supported.
]
synopsis: "Plugin for protoc protobuf compiler to generate ocaml definitions from a .proto file"
description: """ The plugin generates ocaml type definitions,
serialization and deserialization functions from a protobuf file.
The types generated aims to create ocaml idiomatic types;
- messages are mapped into modules
- oneof constructs are mapped to polymorphic variants
- enums are mapped to adt's
- map types are mapped to assoc lists
- all integer types are mapped to int by default (exact mapping is also possible)
- all floating point types are mapped to float.
- packages are mapped to nested modules
The package aims to be a 100% compliant protobuf implementation.
It also includes serializing to and from json based on
protobuf json specification
"""