Endpoints Framework Maven プラグイン

Endpoints Framework Maven プラグインは、Endpoints Framework プロジェクトをビルドするタスクと構成を追加します。このプラグインは、サーバー側とクライアント側をサポートします。サーバー側のゴールは、アノテーション付きの Endpoints Framework Java プロジェクトとクライアント ライブラリからディスカバリ ドキュメントと OpenAPI 仕様を生成します。クライアント側のゴールは、ディスカバリ ドキュメントが利用可能である場合にクライアント ライブラリを生成します。

Endpoints Framework Maven プラグインを追加する

Endpoints Framework Maven プラグインを追加するには、次のプラグイン スニペットを pom.xml に追加します。

<plugin>
  <groupId>com.google.cloud.tools</groupId>
  <artifactId>endpoints-framework-maven-plugin</artifactId>
  <version>1.0.2</version>
  <configuration>
    <!-- plugin configuration -->
    <hostname>${endpoints.project.id}.appspot.com</hostname>
  </configuration>
</plugin>

プラグイン ゴール

Endpoints Framework Maven プラグインを追加すると、次のような Endpoints Framework 固有の Maven ゴールを使用できます。

サーバー側

ゴール 説明
endpoints-framework:clientLibs クライアント ライブラリを生成します。
endpoints-framework:discoveryDocs ディスカバリ ドキュメントを生成します。
endpoints-framework:openApiDocs OpenAPI ドキュメントを生成します。

クライアント側

ゴール 説明
endpoints-framework:generateSrc ディスカバリ ドキュメントからクライアント ライブラリを生成します。

ゴール パラメータ

各ゴールには、使用できるパラメータが関連付けられています。この設定は pom.xml またはコマンドラインで指定できます。

pom.xml でこれらの設定を構成するには、<configuration> セクションにパラメータ名を追加します。

別の方法として、コマンドラインでこれらを設定するには、-D[USER_PROPERTY]=[PARAMETER_VALUE] という形式にします。

各ゴールに使用可能なパラメータのリストについては、以下のセクションをご覧ください。

endpoints-framework:clientLibs

このゴールは、サーバー側からクライアント ライブラリを生成します。

パラメータ 説明 ユーザー プロパティ
clientLibDir 生成されたクライアント ライブラリの場所を定義します。デフォルトの場所は target/client-libs です。 endpoints.clientLibDir
serviceClasses サービスクラス(エンドポイント クラス)名のリストを指定する省略可能なパラメータ。web.xml から推定できます。 endpoints.serviceClasses
webappDir webapp ディレクトリの場所を指定します。デフォルトの場所は src/main/webapp です。 endpoints.webappDir
hostname クライアント ライブラリのルート URL を設定します。たとえば、hostname = myapp.appspot.com を使用すると、デフォルトのルート URL は https://myapp.appspot.com/_ah/api になります。 endpoints.hostname

endpoints-framework:discoveryDocs

このゴールは、ディスカバリ ドキュメントを生成します。

パラメータ 説明 ユーザー プロパティ
discoveryDocDir 生成されたディスカバリ ドキュメントの場所を定義します。デフォルトの場所は target/discovery-docs です。 endpoints.discoveryDocDir
serviceClasses サービスクラス(エンドポイント クラス)名のリストを指定する省略可能なパラメータ。web.xml から推定できます。 endpoints.serviceClasses
webappDir webapp ディレクトリの場所を指定します。デフォルトの場所は src/main/webapp です。 endpoints.webappDir
hostname ディスカバリ ドキュメントのルート URL を設定します。たとえば、hostname = myapp.appspot.com を使用すると、デフォルトのルート URL は https://myapp.appspot.com/_ah/api になります。 endpoints.hostname

endpoints-framework:openApiDocs

このゴールは、OpenAPI ドキュメントを生成します。

パラメータ 説明 ユーザー プロパティ
openApiDocDir 生成された OpenAPI ドキュメントの場所を定義します。デフォルトの場所は target/openapi-docs です。 endpoints.openApiDocDir
serviceClasses サービスクラス(エンドポイント クラス)名のリストを指定する省略可能なパラメータ。web.xml から推定できます。 endpoints.serviceClasses
webappDir webapp ディレクトリの場所を指定します。デフォルトの場所は src/main/webapp です。 endpoints.webappDir
hostname OpenAPI ドキュメントのルート URL を設定します。たとえば、hostname = myapp.appspot.com を使用すると、デフォルトのルート URL は https://myapp.appspot.com/_ah/api になります。 endpoints.hostname

endpoints-framework:generateSrc

このゴールは、ディスカバリ ドキュメントからクライアント ソースを生成します。

パラメータ 説明 ユーザー プロパティ
discoveryDocs ディスカバリ ドキュメントのリストを定義します。 endpoints.discoveryDocs
generatedSrcDir 生成されたクライアント ライブラリ ソースの出力ディレクトリ。デフォルトの場所は target/generated-sources/ です。 endpoints.generatedSrcDir

次のステップ

  • GitHub でプラグインのコードを調べて問題を報告します。