mirror of
https://github.com/enso-org/enso.git
synced 2024-11-23 08:08:34 +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.
69 lines
1.7 KiB
TOML
69 lines
1.7 KiB
TOML
[workspace]
|
|
# Listing only the "root" crates of each app/library. All path dependencies are included in the workspace automatically.
|
|
# If you want to add sub crate (like `app/gui/config` or `lib/rust/ensogl/example`), just add it as a path dependency
|
|
# where plausible.
|
|
members = [
|
|
"app/gui",
|
|
"app/gui/enso-profiler-enso-data",
|
|
"build",
|
|
"build/enso-formatter",
|
|
"build/rust-scripts",
|
|
"lib/rust/*",
|
|
"lib/rust/parser/src/syntax/tree/visitor",
|
|
"lib/rust/parser/jni",
|
|
"lib/rust/parser/generate-java",
|
|
"lib/rust/profiler/data",
|
|
"integration-test",
|
|
"tools/language-server/logstat",
|
|
"tools/language-server/wstest"
|
|
]
|
|
# The default memebers are those we want to check and test by default.
|
|
default-members = ["app/gui", "lib/rust/*"]
|
|
|
|
# We are using a version with extended functionality. The changes have been PR'd upstream:
|
|
# https://github.com/rustwasm/console_error_panic_hook/pull/24
|
|
# Remove this patch when the issue is resolved.
|
|
[patch.crates-io]
|
|
console_error_panic_hook = { git = 'https://github.com/enso-org/console_error_panic_hook' }
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
lto = false
|
|
debug = 0
|
|
debug-assertions = true
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "thin"
|
|
codegen-units = 16
|
|
incremental = true
|
|
debug = false
|
|
debug-assertions = false
|
|
|
|
[profile.bench]
|
|
opt-level = 3
|
|
lto = true
|
|
debug = false
|
|
debug-assertions = false
|
|
|
|
[profile.test]
|
|
opt-level = 0
|
|
lto = false
|
|
debug = true
|
|
debug-assertions = true
|
|
|
|
[profile.integration-test]
|
|
inherits = "test"
|
|
opt-level = 2
|
|
|
|
[profile.buildscript]
|
|
inherits = "release"
|
|
opt-level = 2
|
|
lto = false
|
|
debug = false
|
|
debug-assertions = true
|
|
#[patch."https://github.com/enso-org/ci-build"]
|
|
#enso-build = { path = '../ci-build/build' }
|
|
#enso-build-cli = { path = '../ci-build/cli' }
|
|
#ide-ci = { path = '../ci-build/ci_utils' }
|