Skip to content

翻訳 🌍

このページの翻訳を行ったり、改善したりすることができます。

コントリビュートする

ディレクトリ構造

Tuist プロジェクトは、Xcode プロジェクトを置き換えるために一般的に使用されますが、この使用例に限定されるものではありません。Tuist プロジェクトは、SPM パッケージ、テンプレート、プラグイン、タスクなどの他のタイプのプロジェクトを生成するためにも使用されます。このドキュメントでは、Tuist プロジェクトの構造とその整理方法について説明します。後の節では、テンプレート、プラグイン、タスクを定義する方法について説明する。

標準Tuistプロジェクト

Tuistプロジェクトは、、Tuistによって生成される最も一般的なタイプのプロジェクトである。 アプリ、フレームワーク、ライブラリなどを構築するために使用される。Xcodeプロジェクトとは異なり、TuistプロジェクトはSwiftで定義され、より柔軟でメンテナンスしやすくなっています。また、Tuist プロジェクトはより宣言的で、理解しやすく、推論しやすくなっています。以下の構造は、Xcodeプロジェクトを生成する典型的なTuistプロジェクトを示している:

bash
Tuist.swift
Tuist/
  Package.swift
  ProjectDescriptionHelpers/
Projects/
  App/
    Project.swift
  Feature/
    Project.swift
Workspace.swift
  • Tuistディレクトリ: このディレクトリには2つの目的がある。第一に、プロジェクトのルートが** であることを**に知らせる。これにより、プロジェクトのルートからの相対パスを構築し、プロジェクト内のどのディレクトリからでもTuistコマンドを実行することができる。第二に、以下のファイルのコンテナである:

    • ProjectDescriptionHelpers: このディレクトリには、すべてのマニフェスト ファイルで共有される Swift コードが含まれます。マニフェストファイルはProjectDescriptionHelpers をインポートして、このディレクトリで定義されたコードを使用することができます。コードを共有することは、重複を避け、プロジェクト間の一貫性を確保するために有用です。
    • Package.swift: このファイルには、TuistがXcodeプロジェクトと(CocoaPodsのような)設定可能で最適化可能なターゲットを使用してそれらを統合するためのSwift Packageの依存関係が含まれています。詳しくはこちら
  • ルート・ディレクトリTuist ディレクトリも含むプロジェクトのルートディレクトリ。

    • このファイルには、すべてのプロジェクト、ワークスペース、環境で共有されるTuistの設定が含まれています。例えば、スキームの自動生成を無効にしたり、プロジェクトのデプロイメントターゲットを定義したりするのに使用できます。
    • このマニフェストは、Xcodeワークスペースを表します。他のプロジェクトをグループ化するために使用され、追加のファイルやスキームを追加することもできます。
    • 。このマニフェストは、Xcodeプロジェクトを表します。これは、プロジェクトの一部であるターゲットとその依存関係を定義するために使用されます。

上記のプロジェクトと対話するとき、コマンドはWorkspace.swift またはProject.swift ファイルが作業ディレクトリまたは--path フラグで指定されたディレクトリにあることを期待します。マニフェストは、プロジェクトのルートを表すTuist ディレクトリを含むディレクトリのディレクトリまたはサブディレクトリにある必要があります。

::: チップ

Xcodeのワークスペースは、プロジェクトを複数のXcodeプロジェクトに分割し、マージの衝突の可能性を減らすことができた。そのためにワークスペースを使用していたのであれば、Tuistでは必要ない。Tuistはプロジェクトとその依存関係のプロジェクトを含むワークスペースを自動生成する。

:::

Swiftパッケージ beta{#swift-package-badge-typewarning-textbeta-}.

TuistはSPMパッケージプロジェクトもサポートしている。SPMパッケージで作業している場合、何も更新する必要はないはずです。Tuistは自動的にあなたのルートPackage.swift をピックアップし、あたかもProject.swift マニフェストであるかのようにTuistのすべての機能が動作します。

始めるには、SPMパッケージでtuist installtuist generate を実行してください。これで、あなたのプロジェクトは、バニラXcode SPM統合で表示されるのと同じスキームとファイルをすべて持つようになります。しかし、tuist cacheを実行し、SPMの依存関係とモジュールの大部分をプリコンパイルすることもできます。

Released under the MIT License.