https://github.com/aspectron/cargo-emanate
https://github.com/aspectron/cargo-emanate
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/aspectron/cargo-emanate
- Owner: aspectron
- Created: 2022-08-17T13:35:58.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-11-04T14:11:36.000Z (over 2 years ago)
- Last Synced: 2025-09-07T01:52:57.595Z (10 months ago)
- Language: Rust
- Size: 113 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
`cargo-emanate`
===============
Cargo subcommand for publishing workspace-based crates and checking dependency versions.
Created with simplicity and manual management in mind.
## Features
### Workspaces
The following commands are available:
- `version`: Applies the specified version to the workspace and its member crates.
- `publish`: Publish all crates in a hierarchial dependency order.
- `check`: Scans all dependencies in the crate and checks them against crates.io outputing the difference to console. You can use this information to manually update dependencies.
Required project structure:
- Versions of all member crates must be linked to the workspace using `version.workspace = true` in the `Cargo.toml`
- Versions of all member crates will always match the workspace version
- Crates that should be ignored should have `[package] publish = false` properties enabled
If you require to publish a crate within your workspace with a specific version, you should manually change the version settings and publish it. This tool currently does not track versions within workspace crates.
### Crates
The following commands are available:
- `check`: Scans all dependencies in the crate and checks them against crates.io outputing the difference to console. You can use this information to manually update dependencies.
### General
NOTE: This tool supports only fixed version use in the workspace. i.e. dependency versions like "^2.0.0" or "1.0" will be rejected. Versions must always comply with the exact `x.y.z[-suffix]` schema. This is done to prevent a potential of code injections during minor and patch dependency releases.