Dunify#700
Conversation
Build the client and server libraries using Dune. eliom.ppx is used instead of eliomc. The dune rules are generated using https://github.com/Julow/ocsigen-dune-rules
Add annotations that were not needed with eliomc but are with ocamlc + eliom.ppx. The API of Os_tips is slightly changed because the type of the ?arrow argument doesn't need to be open.
There was a problem hiding this comment.
This files probably needs to be updated or to be generated from dune-project?
There was a problem hiding this comment.
Also I did not find how to install the template (as opam install does not work)
There was a problem hiding this comment.
Done in the last commit. This is not enough to make it installable as you'd also need these pins: ocsigen/ocsigen-toolkit#241 (comment)
| (pps eliom.ppx.server js_of_ocaml-ppx_deriving_json ocsigen-ppx-rpc)) | ||
| (libraries | ||
| eliom.server | ||
| js_of_ocaml |
There was a problem hiding this comment.
js_of_ocaml must not be in the server side dependencies
There was a problem hiding this comment.
Should be fixed. The master branch requires ocsigen-toolkit to be pinned because of Ot_form so the CI will likely not work.
|
It would probably be interesting to use ocsigen-dune-rules in the template as well. To do that, you can make a PR to https://github.com/ocsigen/os_template/ |
They were used by the Makefile.
|
Should be ready to merge now :) |
This is needed since the addition of Ot_popup.
Build the client and server libraries using Dune.
The dune rules are generated using https://github.com/Julow/ocsigen-dune-rules to maintain the rule generation separately and share it between the projects.
Like in ocsigen/ocsigen-toolkit#241, some parts of the code needed to be changed due to the switch from
eliomcto plainocamlcwith Eliom's PPX.I did not update the template as it seems difficult and possibly unnecessary. Is the template used as a testsuite for the various widgets ?
It's current form makes it awkward to modify and run. It would be significantly easier to work with if it was in a separate repository and not defined as a template. What do you think ?