axodotdev / cargo-dist

📦 shippable application packaging
https://axodotdev.github.io/cargo-dist/
Apache License 2.0
1.47k stars 66 forks source link

rename cargo-dist #844

Open Gankra opened 6 months ago

Gankra commented 6 months ago

cargo-dist has aspirations to be not-just-cargo, so it should... not be called cargo-dist. probably for rust users it will continue to be available as "cargo dist", but i don't want to tell anyone to use cargo-dist dist init when using it with not-cargo.

An Eternal Question / Meme here at axodotdev is: surely we should have a tool called "axo" that does all the things. As cargo-dist has increasingly become a bigger tent (especially if we do #842), it's increasingly looking like the fabled "axo". Or maybe it's "axo dist" (axo-dist).

The cargo subcommand trick is cute, but also a bit of a logistical nightmare for not-cargo to do, so if we do want to be invoked as "axo dist", that realistically means an axo monorepo with cargo-dist just being part of the workspace. If we do "axo dist" then maybe #842 is "axo release", instead of what may have presumably become "axo dist release"?

ashleygwilliams commented 3 months ago
Gankra commented 3 months ago

Let's assume we're renaming to "dist":

Gankra commented 3 months ago

potential approach (performed in precise sequence):

  1. release "dist" 1.0.0 (it can be a version less than that but let's call it that for now)
  2. release "cargo-dist" 0.X.0
    • this release tells axoupdater that the name of the app is now "dist"
    • and potentially has some axoupdater receipt migration logic

The idea here is that a user who tries to update "cargo-dist 0.14.0" or whatever old release that doesn't know about the rename will end up on "cargo-dist 0.X.0" because it knows how to do that. Then when they try to update "cargo-dist 0.X.0" they will get "dist 1.0.0" (or any version after that).

Gankra commented 3 days ago

The bulk of this work is in #1267