Codegen CLI 操作
Codegen CLI 提供了一个命令行工具,用于简化代码生成过程。CLI 可以从终端(或其他任何 shell 程序)手动运行,也可以从 bash 脚本中调用。
Codegen CLI 有三个主要命令
- 初始化:初始化一个
apollo-codegen-configuration.json
文件,该文件可用于配置 CLI 生成代码的方式。 - 获取模式:获取您的GraphQL 模式并将其写入文件。模式是运行代码生成的必需品。
- 有关配置模式获取的详细信息,请参阅下载模式。
- 生成:使用您的
apollo-codegen-configuration.json
文件中的配置来运行代码生成引擎。 - 生成操作清单:使用您持久性查询的操作清单,使用您
apollo-codegen-configuration.json
文件中的配置。
有关这些命令的详细使用文档,请参阅使用部分。
安装
当将 Apollo iOS 作为依赖项通过 Swift 包管理器 (SPM) 或 Cocoapods 添加时,命令行界面 (CLI) 会与依赖项一起构建和打包。这确保您始终拥有与所使用的 Apollo iOS 版本相对应的有效 CLI 版本,您无需担心安装或更新。
要了解如何使用您选择的包管理器运行 Codegen CLI,请打开相应的部分
用法
Apollo iOS Codegen CLI是一个用于Apollo iOS代码生成的命令行实用程序。
apollo-ios-cli <子命令>
选项
选项 | 描述 |
---|---|
--version | 显示 CLI 的版本。 |
-h, --help | 显示帮助信息。 |
子命令
命令 | 描述 |
---|---|
init | 使用默认值初始化新的配置。 |
generate | 根据代码生成配置生成 Swift 源代码。 |
fetch-schema | 从 Apollo 注册库或 GraphQL 自省中下载 GraphQL 架构。 |
有关详细信息,请参阅 apollo-ios-cli help <子命令>
初始化
创建一个使用默认值的 apollo-codegen-configuration.json
文件。Codegen CLI 读取此文件来配置 CLI 生成代码的方式。
默认配置将
- 在项目目录中查找所有以文件扩展名
.graphqls
结尾的 GraphQL 架构文件。 - 在项目目录中查找所有以文件扩展名
.graphql
结尾的 GraphQL 操作和片段定义文件。 - 使用提供的
schema-name
为生成的架构创建一个 Swift 包。 - 相对于定义它们的 .graphql 文件生成操作和片段模型。
有关配置代码生成的更多信息,请参阅 配置文档。
命令
apollo-ios-cli init --schema-namespace <命名空间> --module-type <类型> [--target-name <目标名称>]
选项
选项 | 描述 |
---|---|
--schema-namespace | [必需] 您希望用作生成架构文件命名空间的名称。 |
--module-type | [必需] 如何打包架构类型以进行依赖关系管理。可能的类型是 embeddedInTarget 、swiftPackageManager 、other 。 |
--target-name | 在其中的架构类型文件将被手动嵌入的目标名称。 注意:此选项对于 "embeddedInTarget" 模块类型是必需的,对于所有其他模块类型都将被忽略。 |
-p, --path <路径> | 将配置写入指定路径的文件。(默认:./apollo-codegen-config.json ) |
-w, --overwrite | 覆盖 --path 中的任何文件。如果没有使用 --overwrite 调用 init 并且在 --path 中已存在配置文件,则命令将失败。 |
-s, --print | 将配置打印到标准输出。 |
--version | 显示 CLI 的版本。 |
-h, --help | 显示帮助信息。 |
获取架构
从 Apollo 注册库或 GraphQL 自省中下载 GraphQL 架构并将其写入文件。在运行代码生成之前需要该架构。
有关架构获取的更多信息,请参阅 下载架构。
命令
apollo-ios-cli fetch-schema [--path <路径>] [--string <字符串>]
选项
选项 | 描述 |
---|---|
-p, --path <路径> | 从指定路径的文件中读取配置。如果使用 --string ,则此选项将被覆盖。(默认:./apollo-codegen-config.json ) |
-s, --string <字符串> | 请以JSON格式提供配置字符串。此选项将覆盖--path 。 |
-v, --verbose | 增加详细级别以包括调试输出。 |
--version | 显示 CLI 的版本。 |
-h, --help | 显示帮助信息。 |
生成
运行代码生成引擎,使用您的apollo-codegen-configuration.json
文件中的配置生成Swift源代码。
有关配置代码生成的更多信息,请参阅 配置文档。
命令
apollo-ios-cli generate [--path <path>] [--string <string>]
选项
选项 | 描述 |
---|---|
-p, --path <路径> | 从指定路径的文件中读取配置。如果使用 --string ,则此选项将被覆盖。(默认:./apollo-codegen-config.json ) |
-s, --string <字符串> | 请以JSON格式提供配置字符串。此选项将覆盖--path 。 |
-v, --verbose | 增加详细级别以包括调试输出。 |
-f, --fetch-schema | 在Swift代码生成之前获取GraphQL模式。这将运行fetch-schema 命令。 |
--ignore-version-mismatch | 忽略apollo-ios-cli 和所使用的Apollo sdk版本之间的版本不匹配。 |
--version | 显示 CLI 的版本。 |
-h, --help | 显示帮助信息。 |
生成操作清单
使用您的apollo-codegen-configuration.json文件中的配置,生成持久查询的操作清单。
有关配置代码生成的更多信息,请参阅 配置文档。
命令
apollo-ios-cli generate-operation-manifest [--path <path>] [--string <string>]
选项
选项 | 描述 |
---|---|
-p, --path <路径> | 从指定路径的文件中读取配置。如果使用 --string ,则此选项将被覆盖。(默认:./apollo-codegen-config.json ) |
-s, --string <字符串> | 请以JSON格式提供配置字符串。此选项将覆盖--path 。 |
-v, --verbose | 增加详细级别以包括调试输出。 |
--ignore-version-mismatch | 忽略apollo-ios-cli 和所使用的Apollo sdk版本之间的版本不匹配。 |
--version | 显示 CLI 的版本。 |
-h, --help | 显示帮助信息。 |