コンテンツへスキップ

Rust プロジェクト

plaintext
Help me get started with Tuist. Follow the setup at:
https://tuist.dev/en/docs/guides/get-started/rust-project

前提条件#

  • Cargo でビルドされる Rust プロジェクト。
  • Tuist CLI と Tuist アカウント。

Tuist は既存の Cargo プロジェクトと連携します。Rust の依存関係を追加したり、プロジェクトのビルド方法を変更する必要はありません。

プロジェクトを接続する#

Tuist CLI と Rust をインストールしてください。ダッシュボードでビルドシステムとして Cargo (Rust) を指定してプロジェクトを作成します。リポジトリのルートに tuist.toml を追加します。

toml
project = "account/project"
# url = "https://your-tuist-server.example.com"

tuist auth login でログインし、その後 Tuist を介して通常の Cargo コマンドを実行します。CI では、TUIST_TOKEN にプロジェクトトークンを設定します。設定ファイルを追加する代わりに TUIST_PROJECT を設定したり、セルフホスト型サーバーを使用する場合は TUIST_URL を設定することもできます。

bash
tuist cargo build --workspace
tuist cargo check --all-targets
tuist cargo test --workspace

機能、ツールチェーン、テストフィルターなど、通常 Cargo に渡すのと同じ引数を使用します。Tuist がレポートをアップロードできない場合でも、Cargo は通常の出力と終了コードを維持します。

Cargo と入力し続ける#

mise のコマンドラッパー を有効にして、これを mise.toml に追加します。

toml
[wrappers.cargo]
command = "tuist"
args = ["cargo"]

ラッパーを追加した後、mise reshim を実行します。その後、通常どおり cargo build、cargo check、および cargo test を使用できます。Mise がそれらを Tuist を介して実行します。

Coding agents

コーディングエージェントと作業する際に便利です。cargo build や cargo test を実行し続けることができ、tuist プレフィックスを追加するよう促される必要がありません。

コンパイルキャッシュ#

tuist cargo build は、対象となるレジストリのリーフライブラリをローカルおよび Kura のリモートキャッシュを通じて自動的にキャッシュします。追加のツールやキャッシュ設定は不要です。このキャッシュは実験的なものであり、すべてのコンパイルや異なるチェックアウトパス間での再利用はまだカバーされていません。サポートされているコンパイル、認証、および再利用の確認方法については、Rust キャッシュ を参照してください。

ビルドインサイト#

ダッシュボードで Builds を開き、ビルドにかかる時間を確認し、ローカルビルドと CI を比較します。ビルドを選択して、コンパイルに最も時間がかかったクレートを見つけ、その警告とエラーを検査します。

コンパイラのタイミングはクレート単位であり、個々のソースファイル単位ではありません。ビルドレポートの読み方については、Rust ビルドインサイト を参照してください。

テストインサイト#

通常どおりテストを実行します。

bash
tuist cargo test --workspace

ダッシュボードで Tests を開き、doctest を含む合格、不合格、無視されたテストを確認します。Cargo はスイートの期間を報告しますが、安定版の libtest はテストごとのタイミングを公開しません。

doctest のみを実行するには。

bash
tuist cargo test --doc

詳細については、Rust テストインサイト および Rust 不安定なテスト を参照してください。