Edited at

yo rustmではじめるrustのモジュールづくり

More than 1 year has passed since last update.


TL;DR

yo rustmで、シュッとrustのモジュールを作り始められる。

$ yo rustm

? What do you want to name your module? gitconfig
? What is your module description? My splendid module
? What is your GitHub username? packsaddle
? What is the URL of your website? http://sane.jp
Initialized empty Git repository in /mnt/623D90F735FA5D47/sanemat/data/src/githu
b.com/packsaddle/rust-gitconfig/.git/
create package.json
create Cargo.toml
create changelog.md
create ci/install.sh
create ci/script.sh
create license-apache
create license-mit
create readme.md
create src/lib.rs
create .appveyor.yml
create .conventional-changelog.context.js
create .gitignore
create .travis.yml

generator-rustm


cargo newだといろいろ足りない

もちろん謹製のコマンドでcargo newがあり、CLIなら --bin をつけることで、まずほんとの最小限のファイルは作成できる。

$ cargo new hello_world --bin

# あるいは
$ cargo new hello_world

$ tree hello_world/
hello_world/
├── Cargo.toml
└── src
└── lib.rs

これだけでは cratesにpackageを登録するには、ちょっといろいろ足りないので、yo rustmではじめると便利。


yo rustmがやること


  • ci

  • tag打ったらzipでgithub releaseへ


    • windows, linux, mac で使えるバイナリをzip

    • zipには必要十分なファイルだけ入れる



  • readme

  • travis, appveyor, cratesのbadgeをreadmeに

  • changelog

  • ライセンス

  • cratesへのリリースに コレぐらいはあって欲しい Cargo.toml埋め

ci, zip releaseはtrust。changelogはconventional-changelog

便利ですね。


姉妹品 yo rustmc

CLIツール用には、 姉妹品のgenerator-rustmcが便利です。yo rustmc


インストール

npm i -g yo generator-rustm

# あるいは
npm i -g yo generator-rustmc

nodejsはあるよね。


tips


好きなディレクトリ名をつける

cargo newはその名前でディレクトリを作っちゃいます。ディレクトリ名はrust-your_crateにしたい若干面倒なひともyo rustmなら安心。

$ cargo new hello_world

Created library `hello_world` project
$ tree hello_world/
hello_world/
├── Cargo.toml
└── src
└── lib.rs

$ mkdir -p rust-your_crate
$ cd rust-your_crate/
$ yo rustm
? What do you want to name your module? your_crate
(snip)