-
Notifications
You must be signed in to change notification settings - Fork 112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verify / update corresponding version for path dependencies #77
Comments
I'm willing and interested in implementing this but I feel like I would want to do some refactoring first to make my life easier and I want to make sure that is aligned with you all
I think there was more but I'm forgetting it at the moment. |
@epage Thanks! You are welcomed to send pull request for a refactoring. Only thing to remind is to send refactoring and feature implementation in separated pull requests. We can go with refactoring first. |
Sounds good and was planning on it. I just wanted to make sure the refactorings were aligned with you. |
So I've been thinking on this. If we update our own dependencies when updating our own version, how do we know what dependency version to update to? Our dependency already has had the post-release version bump. What might be better is if we update the dependencies of our dependents. We can offer the options
We can then leverage knowing what version we are about to publish when we do this. This also means that the tree is always in a theoretically good state rather than only converging to a good state on the release of a dependent. |
Been working on the code to modify version ranges and there are a lot more angles to this then I expected We could
I'm leaning towards the dumb route. Its simple / straightforward to predict and implement Next up, what happens when going from 0.0.x -> 0.1 or 0.x -> 1.0? Do we preserve precision ( |
This is a step towards crate-ci#77.
This is a step towards crate-ci#77.
This is a step towards crate-ci#77.
This is a step towards crate-ci#77.
I am trying out the latest master, but this is still an issue for me, the
|
Could you provide an example of your Cargo.toml? It sounds like you only have a path dependency and not path + version dependency which I believe is the norm. For example, look at ripgrep's Cargo.toml EDIT: What this issue was about and fixed was updating the version within a path+version dependency. |
You are right, I only have
Any tips on how to overcome this would be appreciated. The code is here: filecoin-project/rust-fil-proofs#680 |
okay, I found the issue, it seems that the following does not lead to a valid selection of dependencies in # a/Cargo.toml
name = "a"
version = "0.1.1-alpha.0"
# b/Cargo.toml
name = "b"
version = "0.2"
[dependencies]
a = { version = "^0.1", path = "../a" } When switching the version of |
Weird that the error showed up as it did but that makes sense. I think you have to opt-in to pre-release versions. I don't use pre-release versions myself and so I didn't think to test them. If you think there is a bug with the auto-updating of |
I have a repro of the issue here: https://github.com/dignifiedquire/cargo-workspace-prerelease-bug Which I think is a |
created rust-lang/cargo#7007 |
In a workspace, I need to define my dependencies as
dep = { path = "../dep", version = "0.1.0" }
but I forget (untilcargo publish
) to update the versions for my path dependencies (and it is really annoying).I think building this into
cargo-release
would be a big help.I view this as a subset of the work for #66. While that is for releasing an entire workspace, this will help with releasing parts of a workspace (and is needed for the entire workspace).
Configuration
The text was updated successfully, but these errors were encountered: