Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save senseilearning/28fdcf6c10eac7d8232b2bf4785bb6db to your computer and use it in GitHub Desktop.
Save senseilearning/28fdcf6c10eac7d8232b2bf4785bb6db to your computer and use it in GitHub Desktop.
apollo
`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