2 个版本

0.40.0 2023 年 1 月 13 日

#1733开发工具

GPL-3.0-only

310KB
6K SLoC

Wildland Cargo Lib

为 Cargo 客户端提供高级接口。它建立在 Wildland CoreX 库之上,并提供如 "用户"、"设备" 或 "共享逻辑" 等特定于 Cargo 的抽象。

绑定

Wildland Cargo Lib 支持以下语言的绑定

  • Java
  • C++
  • C#
  • Python
  • Swift
  • WebAssembly (为此目的还有一个 SDK 仓库)

设置

使用 docker 镜像以生成 JavaC#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