blog.bouzuya.net

2023-01-09 genuuid 0.4.2 をつくった

genuuid 0.4.2 をつくった。 bouzuya/rust-sandbox の genuuid に置いてある。

  • Docker イメージに scratch を使用するよう変更した
  • crate のバージョンアップや置き換え
    • structopt 0.3.25 → clap 4.0.32 + clap_complete 4.0.7
    • axum 0.3.0 → 0.6.1
    • etc.
  • GitHub Actions の workflow をアップデート

外からの使用感は変わらない。 Docker イメージのサイズ削減 (86MB→7MB) の件は明日書くので割愛。

crates:structopt から crates:clap (--features derive) に置き換えた。 derive の名前を直していくくらいかなと思ったのだけど、シェルの補完スクリプトを表示するための clap::Shell が v2 → v3 で crates:clap_complete に分離されていたことの影響があった。

https://github.com/clap-rs/clap/blob/v3-master/CHANGELOG.md#breaking-changes

Completion generation has been split out into clap_complete.

↓のコミットで雑に直している。たぶん直せている。

https://github.com/bouzuya/rust-sandbox/commit/fe7bbdc1291fb33f45d88a06f770869b70096fbe

crates:structopt は CLI の作成でわりと使っており、上記のシェルの補完スクリプトの表示機能も何度かつくっている。今後も同様に置き換えをする場合に似たような修正が発生するはずなので、ここにメモしておく。


『詳解 Rust プログラミング』 (『 Rust in Action 』の翻訳版) の 1 章を読んだ。


今日のコミット。