Open sourcefrog opened 4 months ago
How would you feel about a configuration option to turn on CalVer numbering?
CalVer is fine for binaries but is incompatible with packaging of libraries in Rust and I'd prefer for there to be some friction to this feature to avoid streamlining "bad behavior".
If yy.mm == YY.MM then increment the final field (micro / "patch level")
For error recovery purposes, we don't bump versions by default, so we'd need some way to indicate "bump for calver" on the command-line.
We' also need to be conscious of workspaces where libraries and binaries might be present.
One idea
bin
s are presentcalver
bump level that will error on if CalVer is not setmajor
, minor
, and patch
bump levels are implicitly calver
when the package says so
cargo release --workspace patch
and get the right behaviorThoughts?
I agree about warning (or maybe even refusing?) if there are any library crates in scope. idk if you read cargo-metadata today; if not this might make it a larger PR. I have not thought through what happens with crates that build a library but are intended for use as a binary, although that's probably common. Maybe just saying "if there's a bin target it's fine" is OK.
Otherwise that all sounds good, just remembering we'd want to let people configure what specific style of calver they're using.
just remembering we'd want to let people configure what specific style of calver they're using.
I had overlooked this part of the issue. Thats a bit annoying.
How would you feel about a configuration option to turn on CalVer numbering?
That is, when automatically selecting a new version number for a release, instead of incrementing the patch level etc, it would follow this logic:
Actually, there are variations for whether people want four-digit years, whether the last field should be the day-of-month, etc.
The motivation is that I'm using this for cargo-mutants.