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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224
|
(lang dune 2.8)
(using menhir 2.0)
(implicit_transitive_deps false)
(cram enable)
(name atd)
(version 2.16.0)
(license MIT)
(maintainers
"Louis Roché <louis@louisroche.net>"
"Martin Jambon <martin@mjambon.com>"
"Rudi Grinberg <me@rgrinberg.com>"
)
(authors
; All authors according to git log, sorted by decreasing number of commits.
; Re-generate with:
; git shortlog -s -e -n --all | cut -f2 | sed -e 's/^\(.*\)$/ "\1"/'
"Martin Jambon <martin@mjambon.com>"
"Rudi Grinberg <rudi.grinberg@gmail.com>"
"Martin Jambon <martin@r2c.dev>"
"Martin Jambon <github@mjambon.com>"
"Ivan Jager <aij+git@mrph.org>"
"oleksiy <oleksiy.golovko@ahrefs.com>"
"David Sheets <sheets@alum.mit.edu>"
"Rudi Grinberg <me@rgrinberg.com>"
"Martin Jambon <martin@esper.com>"
"Jeff Meister <nanaki@gmail.com>"
"Caio Wakamatsu <caio.wakamatsu@ahrefs.com>"
"Carmelo Piccione <carmelo.piccione@gmail.com>"
"Daniel Weil <danweil68@gmail.com>"
"Egor Chemokhonenko <egor.chemohonenko@ahrefs.com>"
"Gabriel Scherer <gabriel.scherer@gmail.com>"
"Raman Varabets <roman.vorobets@gmail.com>"
"tzm <frank@boldsolutions.de>"
"Mathieu Baudet <mathieubaudet@fb.com>"
"Oleksiy Golovko <alexei.golovko@gmail.com>"
"Rauan Mayemir <rauan@mayemir.io>"
"Carmelo Piccione <cep1@solvuu.com>"
"John Billings <john@monkeynut.org>"
"Louis Roché <louis@louisroche.net>"
"Brendan Long <self@brendanlong.com>"
"Chris Yocum <cyocum@gmail.com>"
"Louis Roché (Ahrefs) <louis.roche@ahrefs.com>"
"Louis Roché <louis.roche@ahrefs.com>"
"Pavel Antoshkin <pavel.antoshkin@ahrefs.com>"
"Pierre Boutillier <pierre.boutillier@laposte.net>"
"Shon Feder <shon.feder@key.me>"
"Anurag Soni <anuragsoni.13@gmail.com>"
"Arjun Ravi Narayan <arjunravinarayan@gmail.com>"
"Asya-kawai <kawai-toshiki@aintek.xyz>"
"Christophe Troestler <christophe.Troestler@umons.ac.be>"
"Damien Doligez <ddoligez@janestreet.com>"
"Daniel M <dan.mntg@gmail.com>"
"Ding Xiang Fei <dingxiangfei2009@protonmail.ch>"
"François Pottier <francois.pottier@inria.fr>"
"Javier Chavarri <javier.chavarri@gmail.com>"
"Kate <kit.ty.kate@disroot.org>"
"Louis <louis.roche@ahrefs.com>"
"Louis Roché <louis@cryptosense.com>"
"Raman Varabets <raman+git@ahrefs.com>"
"Stephane Legrand <slegrand45@gmail.com>"
"Vincent Bernardoff <vb@luminar.eu.org>"
"haoyang <haoyang@esper.co>"
"pmundkur <prashanth.mundkur@gmail.com>"
"ygrek <ygrek@autistici.org>"
)
(source (github ahrefs/atd))
(generate_opam_files true)
(package
(name atd)
(depends
(ocaml (>= 4.08))
; 20211230 has a bug when parsing variants with a payload https://github.com/ahrefs/atd/pull/272
; preserve the ability to compile with older versions because recent ones create slow builds
; https://github.com/returntocorp/pfff/issues/512
(menhir (and (>= 20180523) (<> 20211230)))
easy-format
(alcotest :with-test)
(odoc :with-doc)
(re (>= 1.9.0))
(yojson (>= 1.6.0))
(cmdliner (>= 1.1.0))
)
(synopsis "Parser for the ATD data format description language")
(description "\
ATD is the OCaml library providing a parser for the ATD language and various
utilities. ATD stands for Adjustable Type Definitions in reference to its main
property of supporting annotations that allow a good fit with a variety of data
formats. This package also provides the 'atdcat' and 'atddiff' command-line
utilities."))
(package
(name atdgen)
(depends
(ocaml (>= 4.08))
(alcotest :with-test)
(atd (>= 2.14.0))
(atdgen-runtime (>= 2.1.0))
(atdgen-codec-runtime :with-test)
(biniou (>= 1.0.6))
(yojson (>= 2.0.1))
(odoc :with-doc)
re
)
(synopsis "Generates efficient JSON serializers, deserializers and validators")
(description "\
Atdgen is a command-line program that takes as input type definitions in the ATD
syntax and produces OCaml code suitable for data serialization and
deserialization.
Two data formats are currently supported, these are biniou and JSON.
Atdgen-biniou and Atdgen-json will refer to Atdgen used in one context or the
other.
Atdgen was designed with efficiency and durability in mind. Software authors are
encouraged to use Atdgen directly and to write tools that may reuse part of
Atdgen’s source code."))
(package
(name atdgen-runtime)
(synopsis "Runtime library for code generated by atdgen")
(description "\
This package should be used only in conjunction with the atdgen code
generator")
(depends
(ocaml (>= 4.08))
(yojson (>= 2.0.2))
(biniou (>= 1.0.6))
(odoc :with-doc)))
(package
(name atdj)
(synopsis "Java code generation for ATD")
(description "\
Atdj is a program that generates a Java interface from type definitions. In
particular, given a set of ATD type definitions, this tool generates a set of
Java classes representing those types with built-in JSON serializers and
deserializers
The primary benefits of using the generated interface, over manually
manipulating JSON strings from within Java, are safety and ease of use.
Specifically, the generated interface offers the following features:
- JSON strings are automatically checked for correctness with respect to the ATD
specification.
- Details such as optional fields and their associated default values are
automatically handled")
(depends
(ocaml (>= 4.08))
(atd (>= 2.7.0))
re
(odoc :with-doc)))
(package
(name atds)
(synopsis "ATD Code generator for Scala")
(description "ATD Code generator for Scala")
(depends
(ocaml (>= 4.08))
(atd (>= 2.7.0))
(odoc :with-doc)))
(package
(name atdpy)
(synopsis "Python/mypy code generation for ATD APIs")
(description "Python/mypy code generation for ATD APIs")
(depends
(ocaml (>= 4.08))
(atd (>= 2.11.0))
(cmdliner (>= 1.1.0))
re
(alcotest :with-test)
(conf-python-3 :with-test)
(odoc :with-doc)))
(package
(name atdgen-codec-runtime)
(synopsis "Runtime for atdgen generated Melange converters")
(description "\
This library contains the types that are used by atdgen's
Melange backend")
(depends
(ocaml (>= 4.08))
(odoc :with-doc)))
(package
(name atdts)
(synopsis "TypeScript code generation for ATD APIs")
(description "TypeScript code generation for ATD APIs")
(depends
(ocaml (>= 4.08))
(atd (>= 2.13.0))
(cmdliner (>= 1.1.0))
re
(alcotest :with-test)
(odoc :with-doc)))
(package
(name atdd)
(synopsis "DLang code generation for ATD APIs")
(description "DLang code generation for ATD APIs")
(depends
(ocaml (>= 4.08))
(atd (>= 2.11.0))
(cmdliner (>= 1.1.0))
re
(odoc :with-doc)))
(package
(name atdcpp)
(synopsis "C++ code generation for ATD APIs")
(description "C++ code generation for ATD APIs")
(depends
(ocaml (>= 4.08))
(atd (>= 2.11.0))
(cmdliner (>= 1.1.0))
re
(odoc :with-doc)))
|