mirror of
https://github.com/enso-org/enso.git
synced 2024-12-22 16:41:45 +03:00
c670718e3c
Provide a JNI dynamic-library interface to `enso_parser`. # Important Notes - The library can be built with: `cargo build -p enso-parser-jni`. - A new `org.enso.syntax2.Parser` API is implemented on top of the JNI interface provided by `enso-parser-jni`. - We are using the `jni` crate, since apparently Java cannot just call C-ABI functions. The crate is not well-maintained. I came across an obviously-unsound `safe` function, and found it was reported over a year ago, with a PR to fix: jni-rs/jni-rs#303. However our needs are simple. We can't trust any safety guarantees they imply, but I think we are unlikely to encounter any logic bugs using the basic bindings.
21 lines
481 B
TOML
21 lines
481 B
TOML
[package]
|
|
name = "enso-parser-jni"
|
|
version = "0.1.0"
|
|
authors = ["Enso Team <enso-dev@enso.org>"]
|
|
edition = "2021"
|
|
description = "Enso Parser JNI dynamic library."
|
|
readme = "README.md"
|
|
homepage = "https://github.com/enso-org/enso"
|
|
repository = "https://github.com/enso-org/enso"
|
|
license-file = "../../LICENSE"
|
|
|
|
[dependencies]
|
|
enso-prelude = { path = "../../prelude" }
|
|
enso-parser = { path = "../" }
|
|
bincode = "1.3"
|
|
jni = "0.19.0"
|
|
|
|
[lib]
|
|
name = "enso_parser"
|
|
crate-type = ["cdylib"]
|