Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[new release] atdts, atds, atdpy, atdj, atdgen, atdgen-runtime, atdgen-codec-runtime and atd (2.12.0) #23785

Merged
merged 3 commits into from
May 17, 2023

Conversation

mjambon
Copy link
Contributor

@mjambon mjambon commented May 12, 2023

Project page: https://github.com/ahrefs/atd

CHANGES:

…n-codec-runtime and atd (2.12.0)

CHANGES:

* atdgen: Annotate generated code with types to disambiguate OCaml
  classic variants (ahrefs/atd#331)
* atdpy: Support the option type more correctly so that it follows
  ATD's convention for JSON encoding. This allows compatibility with
  JSON produced by other tools of the ATD suite. The Python type,
  however, is still a nullable (`Optional`) to make things simpler for
  Python programmers. This prevents distinguishing `["Some", "None"]`
  from `"None"` which both translate to `None` in Python. (ahrefs/atd#332)
* (BREAKING) atdgen: revert default encoding of int64 values as string (ahrefs/atd#330)
* atdgen: Support `<json repr="string">` for `int` values (ahrefs/atd#330)
* atdpy: Treat default field values as expressions to evaluate each time
  they're assigned to a field. This allows the use of mutable defaults such as
  lists (ahrefs/atd#339)
"atdgen-runtime" {>= "2.1.0"}
"atdgen-codec-runtime" {with-test}
"biniou" {>= "1.0.6"}
"yojson" {>= "2.0.1"}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This lower bound may need an update:

#=== ERROR while compiling atdgen.2.12.0 ======================================#
# context              2.2.0~alpha~dev | linux/x86_64 | ocaml-variants.5.1.0+trunk | pinned(https://github.com/ahrefs/atd/releases/download/2.12.0/atdts-2.12.0.tbz)
# path                 ~/.opam/5.1/.opam-switch/build/atdgen.2.12.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p atdgen -j 255 @install
# exit-code            1
# env-file             ~/.opam/log/atdgen-7-f5ad5a.env
# output-file          ~/.opam/log/atdgen-7-f5ad5a.out
### output ###
# (cd _build/default && /home/opam/.opam/5.1/bin/ocamlopt.opt -w -40 -w -27 -safe-string -g -I atdgen/src/.atdgen_emit.objs/byte -I atdgen/src/.atdgen_emit.objs/native -I /home/opam/.opam/5.1/lib/atd -I /home/opam/.opam/5.1/lib/biniou -I /home/opam/.opam/5.1/lib/easy-format -I /home/opam/.opam/5.1/lib/re -I /home/opam/.opam/5.1/lib/yojson -intf-suffix .ml -no-alias-deps -open Atdgen_emit -o atdgen/src/.atdgen_emit.objs/native/atdgen_emit__Oj_mapping.cmx -c -impl atdgen/src/oj_mapping.ml)
# File "atdgen/src/oj_mapping.ml", line 97, characters 19-36:
# 97 |            let j = Json.get_json_int an in
#                         ^^^^^^^^^^^^^^^^^
# Error: Unbound value Json.get_json_int
# Hint: Did you mean get_json_list?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops. Thank you!

@mjambon
Copy link
Contributor Author

mjambon commented May 16, 2023

I just pushed a fix for the reverse dependency checks (previous atdgen releases can't use the latest atd).

@mseri
Copy link
Member

mseri commented May 17, 2023

Looks good, thanks a lot

@mseri mseri merged commit af5f152 into ocaml:master May 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants