[package]
edition = "2024"
rust-version = "1.89"
name = "alef"
version = "0.110.2"
authors = [
"Na'aman Hirschfeld <naaman@xberg.io>",
"Tobias Perlstein <tobias@xberg.io>",
]
build = "build.rs"
include = [
"Cargo.lock",
"LICENSE",
"README.md",
"assets/**",
"build.rs",
"src/**",
"!src/**/tests.rs",
"!src/**/tests/**",
"!src/**/*_test.rs",
"!src/**/*_tests.rs",
"!src/test_support.rs",
"!src/test_support/**",
"src/backends/jni/gen_shims/backend_tests.rs",
"src/backends/jni/gen_shims/target_gate_tests.rs",
"src/backends/jni/gen_shims/tests.rs",
"src/backends/jni/gen_shims/transparent_string_tests.rs",
"src/backends/kotlin_android/gen_seed_test.rs",
"src/backends/kotlin/gen_bindings/jni_emitter/tests.rs",
"src/e2e/codegen/brew/run_tests.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Opinionated polyglot binding generator for Rust libraries"
homepage = "https://github.com/xberg-io/alef"
readme = "README.md"
keywords = [
"codegen",
"bindings",
"ffi",
"polyglot",
"pyo3",
]
categories = [
"development-tools::ffi",
"development-tools::build-utils",
]
license = "MIT"
repository = "https://github.com/xberg-io/alef"
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/v{ version }/alef-{ target }{ archive-suffix }"
bin-dir = "alef-{ target }/{ bin }{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[package.metadata.cargo-machete]
ignored = ["tracing"]
[features]
dylib-loader = ["dep:libloading"]
[lib]
name = "alef"
path = "src/lib.rs"
[[bin]]
name = "alef"
path = "src/main.rs"
[dependencies.ahash]
version = "0.8"
[dependencies.alef-component-runtime]
version = "0.110.2"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.23"
[dependencies.blake3]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["clock"]
default-features = false
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.convert_case]
version = "0.12"
[dependencies.ed25519-dalek]
version = "3"
features = [
"pem",
"pkcs8",
]
[dependencies.flate2]
version = "1"
[dependencies.glob]
version = "0.3"
[dependencies.heck]
version = "0.5"
[dependencies.icu_casemap]
version = "=2.3.0"
[dependencies.jsonschema]
version = "0.58"
features = ["resolve-file"]
default-features = false
[dependencies.libloading]
version = "0.9"
optional = true
[dependencies.minijinja]
version = "3.0"
features = ["serde"]
[dependencies.proc-macro2]
version = "1"
[dependencies.quote]
version = "1"
[dependencies.rayon]
version = "1"
[dependencies.regex]
version = "1"
[dependencies.schemars]
version = "1"
[dependencies.semver]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde-saphyr]
version = "1.3"
features = ["deserialize"]
default-features = false
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.11"
[dependencies.similar]
version = "3"
[dependencies.syn]
version = "3"
features = [
"full",
"parsing",
"visit",
]
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "1.1"
[dependencies.toml_edit]
version = "0.25"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"env-filter",
]
[dependencies.unicode-general-category]
version = "=1.1.0"
[dependencies.ureq]
version = "3"
features = ["json"]
[dependencies.walkdir]
version = "2"
[dependencies.which]
version = "8"
[dependencies.zip]
version = "9"
features = ["deflate"]
default-features = false
[dev-dependencies.cbindgen]
version = "0.29"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1.49"
features = ["redactions"]
[dev-dependencies.tracing-test]
version = "0.2"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61"
features = [
"Win32_Foundation",
"Win32_Security",
"Win32_System_JobObjects",
"Win32_System_Threading",
]
[lints.clippy]
dbg_macro = "deny"
print_stderr = "deny"
print_stdout = "deny"