Created
June 5, 2025 23:56
-
-
Save senseilearning/28fdcf6c10eac7d8232b2bf4785bb6db to your computer and use it in GitHub Desktop.
apollo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`MyQuery` のような Apollo Kotlin が生成するクエリクラスは、通常、プロジェクトの **`build` ディレクトリ内**に出力されます。 | |
### 基本的な出力先パス | |
生成されるファイルの一般的なパスのパターンは以下のようになります。 | |
``` | |
プロジェクトルート/モジュール名/build/generated/source/apollo/<sourceSetName>/<パッケージ名>/MyQuery.kt | |
``` | |
### パスの各要素の説明 | |
1. **`プロジェクトルート/モジュール名/`** | |
* あなたのプロジェクトのルートディレクトリから、`apollo` プラグインを適用しているモジュール(例: `shared`, `app` など)に進みます。 | |
2. **`build/generated/source/apollo/`** | |
* この部分は、Apollo Kotlin が生成したソースコードを配置する標準的な場所です。 | |
3. **`<sourceSetName>/`** | |
* ここには、コードがどのソースセット向けに生成されたかが入ります。 | |
* **Kotlin Multiplatform (KMP) の共有モジュール**の場合: 通常は `commonMain` です。 | |
* **Android アプリやライブラリモジュール**の場合: 通常は `main` や、ビルドバリアント名 (例: `debug`, `release`) に対応する名前になります。 | |
4. **`<パッケージ名>/`** | |
* これは、`build.gradle(.kts)` ファイルの `apollo {}` ブロック内にある `service {}` ブロックで `packageName.set("...")` を使って指定したパッケージ名です。 | |
* 例えば、以下のように指定した場合: | |
```kotlin | |
// build.gradle.kts | |
apollo { | |
service("serviceName") { | |
packageName.set("com.example.graphql") | |
} | |
} | |
``` | |
ここには `com/example/graphql/` というディレクトリ構造が作られます。 | |
5. **`MyQuery.kt`** | |
* これが実際に生成された Kotlin ファイルです。 | |
* ファイル名は、`.graphql` ファイルで定義したクエリ名に基づいて決まります。もしクエリ名が `MyQuery` であれば、`MyQuery.kt` というファイルに `MyQuery` というクラスが生成されることが多いです。 | |
### Android Studio / IntelliJ IDEA で確認する方法 | |
1. 左側の「Project」ビューを開きます (「Android」ビューではなく **「Project」ビュー** を選択すると、`build` フォルダが見やすくなります)。 | |
2. 該当モジュール(例: `shared`)の下に `build` フォルダがあるので展開します。 | |
3. `generated` -> `source` -> `apollo` -> `(あなたのsourceSetName)` -> `(あなたのパッケージ名)` と辿っていくと、生成された Kotlin ファイルが見つかるはずです。 | |
### 注意点 | |
* `build` フォルダは、Gradle Sync やプロジェクトのビルドを実行した後に生成・更新されます。 | |
* この `build` フォルダは通常 `.gitignore` に含まれており、バージョン管理システム(Gitなど)の対象外となります。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment