Expand description
Plugin bundle format for rustbridge
This crate provides types and utilities for creating and loading .rbp
(rustbridge plugin) bundles - standardized archives containing multi-platform
plugin libraries and metadata.
§Bundle Structure
my-plugin-1.0.0.rbp
├── manifest.json
├── schema/
│ ├── messages.json # JSON Schema for message types
│ └── messages.h # C header with struct definitions
├── lib/
│ ├── linux-x86_64/
│ │ └── libmyplugin.so
│ ├── darwin-aarch64/
│ │ └── libmyplugin.dylib
│ └── windows-x86_64/
│ └── myplugin.dll
└── docs/
└── README.md§Example
use rustbridge_bundle::{BundleBuilder, Manifest, Platform};
// Create a bundle
let manifest = Manifest::new("my-plugin", "1.0.0");
let builder = BundleBuilder::new(manifest)
.add_library(Platform::LinuxX86_64, "target/release/libmyplugin.so")?
.add_library(Platform::DarwinAarch64, "target/release/libmyplugin.dylib")?;
builder.write("my-plugin-1.0.0.rbp")?;Re-exports§
pub use builder::BundleBuilder;pub use loader::BundleLoader;
Modules§
Structs§
- ApiInfo
- API information describing available messages.
- Build
Info - Build information (all fields optional).
- GitInfo
- Git repository information.
- Manifest
- Bundle manifest - the main descriptor for a plugin bundle.
- Message
Info - Information about a single message type.
- Platform
Info - Platform-specific library information with variant support.
- Plugin
Info - Plugin metadata.
- Sbom
- SBOM (Software Bill of Materials) paths.
- Schema
Info - Schema file information.
- Variant
Info - Variant-specific library information.
Enums§
- Bundle
Error - Errors that can occur during bundle operations.
- Platform
- Supported platform targets.
Constants§
- BUNDLE_
EXTENSION - Bundle file extension.
- BUNDLE_
VERSION - Current bundle format version.
- MANIFEST_
FILE - Manifest file name within the bundle.
Type Aliases§
- Bundle
Result - Result type for bundle operations.