2 个版本
0.40.0 | 2023 年 1 月 13 日 |
---|
#1733 在 开发工具 中
310KB
6K SLoC
Wildland Cargo Lib
为 Cargo 客户端提供高级接口。它建立在 Wildland CoreX 库之上,并提供如 "用户"、"设备" 或 "共享逻辑" 等特定于 Cargo 的抽象。
绑定
Wildland Cargo Lib 支持以下语言的绑定
- Java
- C++
- C#
- Python
- Swift
- WebAssembly (为此目的还有一个 SDK 仓库)
设置
使用 docker 镜像以生成 Java
、C#
和 Python
的绑定粘合代码。它们可以在 ./docker
目录中找到。对于 C++
和 Swift
绑定,可以简单地运行 cargo build --features bindings
并从 ./_generated_ffi_code
和 ./_generated_swift/
目录中获取粘合代码。 它需要版本 >1.59.0
以上的 rust 工具链。
lib.rs
:
这个 crate 为 Cargo 客户端提供高级接口。它建立在 Wildland CoreX 库之上,并提供如 "用户"、"设备" 或 "共享逻辑" 等特定于 Cargo 的抽象。
所有应从 Rust 库导出到其他语言的类型和函数都包含在 ffi
模块中,该模块由 RustyBind crate 用于生成粘合代码和绑定到其他语言的代码。
可以通过 api::CargoLib
对象访问所有 Cargo 功能。它聚合并提供了访问负责缩小领域的 API 对象,如 api::UserApi
。
api::CargoLib
必须使用一组参数进行初始化(见api::config
)。
依赖项
~27–41MB
~778K SLoC