Complemento de Maven de Endpoints Framework

El complemento de Maven de Endpoints Framework proporciona tareas y configuraciones para compilar proyectos de Endpoints Framework. Este complemento brinda asistencia del lado del servidor y del lado del cliente. Los objetivos del lado del servidor generan documentos de descubrimiento y especificaciones de OpenAPI desde un proyecto de Java de Endpoints Framework anotado y bibliotecas clientes. El objetivo del lado del cliente genera bibliotecas cliente cuando hay un documento de descubrimiento disponible.

Agrega el complemento de Maven de Endpoints Framework

Agrega el complemento de Maven de Endpoints Framework usando el siguiente el fragmento de complemento en tu 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>

Objetivos del complemento

Después de agregar el complemento de Maven de Endpoints Framework, los siguientes objetivos de Maven específicos para Endpoints Framework estarán disponibles:

Del lado del servidor

Objetivo Descripción
endpoints-framework:clientLibs Genera bibliotecas clientes.
endpoints-framework:discoveryDocs Genera documentos de descubrimiento.
endpoints-framework:openApiDocs Genera documentos de OpenAPI.

Del lado del cliente

Objetivo Descripción
endpoints-framework:generateSrc Genera bibliotecas clientes a partir de documentos de descubrimiento.

Parámetros de los objetivos

Cada objetivo tiene parámetros asociados que puedes usar. Puedes especificar estos ajustes en pom.xml o en la línea de comandos.

Para configurar estos ajustes en pom.xml, agrega el nombre del parámetro a la sección <configuration>.

Como alternativa, para configurar estos ajustes en la línea de comandos, sigue el patrón -D[USER_PROPERTY]=[PARAMETER_VALUE].

Consulta las siguientes secciones si quieres obtener una lista de los parámetros que están disponibles para cada objetivo.

endpoints-framework:clientLibs

Este objetivo genera bibliotecas clientes desde el lado del servidor.

Parámetro Descripción Propiedad del usuario
clientLibDir Define la ubicación de las bibliotecas clientes que se generan. La ubicación predeterminada se define como `target/client-libs`. endpoints.clientLibDir
serviceClasses Parámetro opcional que proporciona una lista de nombres de clases de servicio (clases de extremos). Puede inferirse de `web.xml`. endpoints.serviceClasses
webappDir Proporciona la ubicación del directorio `webapp`. La ubicación predeterminada se define como `src/main/webapp`. endpoints.webappDir
hostname Configura la URL raíz de las bibliotecas clientes. Por ejemplo, si usas `hostname = myapp.appspot.com`, la URL raíz predeterminada será https://myapp.appspot.com/_ah/api` endpoints.hostname

endpoints-framework:discoveryDocs

Este objetivo genera documentos de descubrimiento.

Parámetro Descripción Propiedad del usuario
discoveryDocDir Define una ubicación para los documentos de descubrimiento que se generan. La ubicación predeterminada se define como `target/discovery-docs`. endpoints.discoveryDocDir
serviceClasses Parámetro opcional que proporciona una lista de nombres de clases de servicio (clases de extremos). Puede inferirse de `web.xml`. endpoints.serviceClasses
webappDir Proporciona la ubicación del directorio `webapp`. La ubicación predeterminada se define como `src/main/webapp`. endpoints.webappDir
hostname Configura la URL raíz de los documentos de descubrimiento. Por ejemplo, si usas `hostname = myapp.appspot.com`, la URL raíz predeterminada será https://myapp.appspot.com/_ah/api` endpoints.hostname

endpoints-framework:openApiDocs

Este objetivo genera documentos de OpenAPI.

Parámetro Descripción Propiedad del usuario
openApiDocDir Define una ubicación para los documentos de OpenAPI que se generan. La ubicación predeterminada se define como `target/openapi-docs`. endpoints.openApiDocDir
serviceClasses Parámetro opcional que proporciona una lista de nombres de clases de servicio (clases de extremos). Puede inferirse de `web.xml`. endpoints.serviceClasses
webappDir Proporciona la ubicación del directorio `webapp`. La ubicación predeterminada se define como `src/main/webapp`. endpoints.webappDir
hostname Configura la URL raíz de los documentos de OpenAPI. Por ejemplo, si usas `hostname = myapp.appspot.com`, la URL raíz predeterminada será https://myapp.appspot.com/_ah/api` endpoints.hostname

endpoints-framework:generateSrc

Este objetivo genera fuentes clientes a partir de documentos de descubrimiento.

Parámetro Descripción Propiedad del usuario
discoveryDocs Define una lista de documentos de descubrimiento. endpoints.discoveryDocs
generatedSrcDir Directorio que se obtiene para las fuentes de bibliotecas clientes generadas. La ubicación predeterminada es `target/generated-sources/`. endpoints.generatedSrcDir

Próximos pasos

  • Explora el código del complemento y también informa problemas en GitHub.