| Crates.io | workspacer-publish |
| lib.rs | workspacer-publish |
| version | 0.1.2 |
| created_at | 2025-04-01 16:14:56.387036+00 |
| updated_at | 2025-07-13 03:56:59.183539+00 |
| description | Enables asynchronous publishing of Rust workspace packages, managing dependencies and registry configurations. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1615037 |
| size | 174,636 |
workspacer-publish is a Rust crate that provides an asynchronous interface for publishing Cargo packages. It is designed to handle the complexity of publishing crates from a Rust workspace, managing build order, dependency resolution, and registry configuration. This crate uses the async_trait pattern for asynchronous function execution, allowing operations to be non-blocking and efficient.
To use this crate, implement the TryPublish trait for your workspace or crate handle, which requires an asynchronous implementation of the try_publish method. This method should handle logic for packaging, registration, and error management during the crate publication process.
Example:
#[async_trait]
impl TryPublish for MyCustomCrateHandler {
type Error = MyCustomError;
async fn try_publish(&self, dry_run: bool) -> Result<(), Self::Error> {
// Implement your custom publishing logic here!
}
}
Add workspacer-publish to your Cargo.toml dependencies:
[dependencies]
workspacer-publish = "0.1.0"
USE_MOCK_REGISTRY: Set to 1 to use a mock registry for publishing operations.workspacer-publish is MIT licensed.