Endpoints 프레임워크 Maven 플러그인

Endpoints Framework Maven 플러그인은 Endpoints Framework 프로젝트를 빌드하기 위한 작업 및 구성을 제공합니다. 이 플러그인은 서버 측 및 클라이언트 측 지원을 제공합니다. 서버 측 목표는 주석 처리된 Endpoints Framework 자바 프로젝트 및 클라이언트 라이브러리에서 검색 문서 및 OpenAPI 사양을 생성합니다. 클라이언트 측 목표는 검색 문서를 사용할 수 있을 때 클라이언트 라이브러리를 생성합니다.

Endpoints Framework Maven 플러그인 추가

다음 플러그인 스니펫을 사용하여 pom.xml에 Endpoints Framework Maven 플러그인을 추가합니다.

<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 서비스 클래스(Endpoints 클래스)의 이름 목록을 제공하기 위한 선택적인 매개변수입니다. `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 서비스 클래스(Endpoints 클래스)의 이름 목록을 제공하기 위한 선택적인 매개변수입니다. `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 서비스 클래스(Endpoints 클래스)의 이름 목록을 제공하기 위한 선택적인 매개변수입니다. `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에서 플러그인 코드를 살펴보고 문제를 보고합니다.