pksunkara/cargo-workspaces

Allow versioning on private crates.

Closed this issue · 6 comments

Currently cargo workspaces version only works with non-private crates, but we should also support private crates.

I was thinking about this when building this and decided not to. Any reason for this?

We have some company owned private crates, and I was trying to use cargo-workspaces to manage the versioning for me. But find out other commands like cargo workspaces ls and cargo workspaces changed allow a -a flag to show private crates, while cargo workspaces version does not give an option to work on private crates.

I agree that by default we can ignore private crates. How about adding a -a flag to cargo workspaces version to support private crates if needed? (and to be more consistent with other commands)

We have some company owned private crates

That would mean you are publishing to something right? Private crates here mean publish = false. If it is set as anything else, then versioning would work.

When publish = false, that means that the crates only stay in the repository as code and won't be shared anywhere else.

We have some company owned private crates

That would mean you are publishing to something right? Private crates here mean publish = false. If it is set as anything else, then versioning would work.

When publish = false, that means that the crates only stay in the repository as code and won't be shared anywhere else.

Thanks for your reply. We don't publish it to any registry, but we do need version management. I tried to change publish = false to publish = [], but cargo workspaces ls -a still recognize the repo as a private repo. Is that an expected behavior?

publish = false is equivalent to publish = []. If you do publish = ["private"], it should work, but I wouldn't recommend doing that since you will have issues when publishing.

I am okay with adding all option to versioning. I will look into doing that.

but we do need version management.

Could you explain your reasons for this? I am just curious and want to understand how people are using workspaces.

I am okay with adding all option to versioning. I will look into doing that.

Thanks!

Could you explain your reasons for this? I am just curious and want to understand how people are using workspaces.

We have a cargo workspace producing multiple binary programs. The crates themselves will never be published anywhere, but our CI will compile the programs and publish versioned binaries to a place for other people to use.