You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If organizing workspaces like this is bad practice, I can change it. That's one major problem with large Rust projects and workspaces. There is no "do it this way" guide that actually works from start to publish.
I tried to reorganize the project to align with git-oxide. I moved the binary to the root and combined the package & workspace Cargo.toml, but it wasn't enough.
If this seems like a bug in cargo-smart-release vs how we structured our project, I'll gladly submit a PR if you can guide me to the part of the codebase I should start in.
Thanks again!
The text was updated successfully, but these errors were encountered:
First off, this crate is awesome. It is so close to being a does-what-you-want publish tool for cargo crates.
Thank you! Even though I'd use cargo smart-release with caution as it's reason to exist is gitoxide, and it's relies heavily on the project structure there as you already concluded.
I wasn't aware of workspace dependencies at all at the time of creating cargo smart-release, which is why it isn't supported. However, it could certainly be supported if you dare implementing it.
And I am saying that because I barely dare to make changes here as the core logic for publishing is definitely under-tested. There is a journey-test but it tests only the simple case. Nonetheless, you can probably add a journey test with a simple configuration mirroring yours, and make it work from there.
Unfortunately, that's already all the guidance I can muster as I barely remember the code here 😅.
I'd also like to make you aware of #9 , a critical issue that you will get when your crates go 1.0. It's definitely easier to implement than this, and maybe that's a good first issue to work on to get acquainted with the codebase. Thanks for your consideration.
First off, this crate is awesome. It is so close to being a does-what-you-want publish tool for cargo crates.
For this project though, we set our version numbers in the root workspace and
cargo-smart-release
doesn't seem to update things there. When the publish step comes, cargo fails because versions don't match.If organizing workspaces like this is bad practice, I can change it. That's one major problem with large Rust projects and workspaces. There is no "do it this way" guide that actually works from start to publish.
I tried to reorganize the project to align with git-oxide. I moved the binary to the root and combined the package & workspace Cargo.toml, but it wasn't enough.
If this seems like a bug in
cargo-smart-release
vs how we structured our project, I'll gladly submit a PR if you can guide me to the part of the codebase I should start in.Thanks again!
The text was updated successfully, but these errors were encountered: