From 75ca6251bdadca9771a5b767624011e4d6c2bc34 Mon Sep 17 00:00:00 2001 From: Julien Girard <julien.girard2@cea.fr> Date: Wed, 6 Oct 2021 15:36:21 +0200 Subject: [PATCH] Added automated interface generation rule --- .gitlab-ci.yml | 1 + lib/onnx/dune | 18 ++++++++++++++---- lib/onnx/generate_onnx_interface.sh | 7 +++++++ 3 files changed, 22 insertions(+), 4 deletions(-) create mode 100755 lib/onnx/generate_onnx_interface.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b2243fb7..8fe240f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -12,6 +12,7 @@ tests: - if [ ! -d _opam ]; then echo "no local switch in the CI cache, we setup a new switch"; opam switch create --yes --no-install . ocaml-base-compiler.4.11.1; fi - eval $(opam env) - sudo apt-get update + - sudo apt install -y protobuf-compiler - opam repository add remote https://opam.ocaml.org - opam depext --yes ocplib-endian base fmt alt-ergo.2.4.0 - opam install . --deps-only --with-test --yes diff --git a/lib/onnx/dune b/lib/onnx/dune index 8040d480..b6defdaa 100644 --- a/lib/onnx/dune +++ b/lib/onnx/dune @@ -1,5 +1,15 @@ (library - (name onnx) - (public_name onnx) - (libraries base csv piqirun.pb) - (synopsis "ONNX parser")) + (name onnx) + (public_name onnx) + (libraries base csv piqirun.pb) + (synopsis "ONNX parser")) +(rule + (targets onnx_piqi.ml onnx_piqi.mli) + (action + (run ./generate_onnx_interface.sh) + ) + (deps + onnx.proto + generate_onnx_interface.sh) + (mode + promote)) diff --git a/lib/onnx/generate_onnx_interface.sh b/lib/onnx/generate_onnx_interface.sh new file mode 100755 index 00000000..3925d518 --- /dev/null +++ b/lib/onnx/generate_onnx_interface.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +piqi of-proto onnx.proto +sed -ie 's/-START-VERSION/START-VERSION/' onnx.proto.piqi +piqic-ocaml onnx.proto.piqi +sed -ie 's/external/externall/g' onnx_piqi.ml +ocamlfind ocamlc -package piqirun.pb -i onnx_piqi.ml > onnx_piqi.mli -- GitLab