Cloud Endpoints Frameworks for App Engine command-line tool
Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to generate a client library from your backend server
API by using the Endpoints Frameworks command-line tool. Any Java or
Android app can use this library to call the API.
You can generate client library bundles that allow applications to access your
API using the Endpoints Frameworks command-line tool. When you
generate a client library, the Endpoints Frameworks command-line tool
automatically generates a
Discovery document
that describes the surface of your API.
To get the Endpoints Frameworks command-line tool, download
endpoints-framework-tools
from the Maven Central Repository.
After you extract the contents of the zip file, the tool is in the
endpoints-framework-tools-2.2.1/bin/ directory.
Generating a client library bundle from an API
You can use the Endpoints Frameworks command-line tool to generate the
following types of client bundles:
Maven: This bundle includes a pom.xml file with the
Endpoints Frameworks and Google API Client Library dependencies.
The readme.html file provides detailed information on what you need to add
to your pom.xml file for different types of client
applications and how to build a client library for your API using Maven.
Gradle: This bundle includes a build.gradle file with the
Endpoints Frameworks and Google API Client Library dependencies.
The readme.html file provides detailed information on what you need to add
to your build.gradle file for different types of client applications and
how to build a client library for your API using Gradle.
Default client bundle: This bundle contains all the dependency libraries and
the generated source.jar file, which is the Java library that you use in
your client to call your API. This bundle provides your client with all of
the Google API Client Library capabilities, including OAuth. The
readme.html file lists the .jar files that are required for different
types of client applications and other details for using the client library.
If you are using the client library with an Android app, we recommend that you
use a Gradle client bundle.
Command-line syntax
Before you use the Endpoints Frameworks command-line tool, you must
build your backend project because this tool requires compiled binaries. You can
optionally supply the --war= option pointing to the build target output
directory containing the WEB-INF directory and compiled java classes if you
don't want to use the default (--war="./war").
where target/echo-1.0-SNAPSHOT is the relative or absolute path to the
target build directory containing WEB-INF and the compiled backend classes.
Options
You can use the following options:
Option name
Description
Example
build-system
Lets you specify which type of client bundle should be produced. Specify gradle for a Gradle client bundle for Android, maven for a Maven client bundle, or default (or simply omit this option) for a bundle that contains only the dependency libraries and source jar.
--build-system=gradle-bs gradle
war
Sets the path to the build target directory WEB-INF that contains appengine-web.xml and other metadata.Default: ./war.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe Endpoints Frameworks command-line tool generates client library bundles, enabling Java or Android apps to access backend server APIs.\u003c/p\u003e\n"],["\u003cp\u003eThis tool automatically generates a Discovery document that outlines the API's structure, which is crucial for client interactions.\u003c/p\u003e\n"],["\u003cp\u003eClient library bundles can be generated in Maven, Gradle, or default formats, with each format catering to different project setups and providing necessary dependencies and build instructions.\u003c/p\u003e\n"],["\u003cp\u003eThe command-line tool requires compiled backend project binaries and allows options for specifying the build system, war directory, and output location, making customization easy.\u003c/p\u003e\n"],["\u003cp\u003eThe generated client libraries are compatible with Java 7+, Android 1.6+, and App Engine, ensuring wide applicability.\u003c/p\u003e\n"]]],[],null,["# Cloud Endpoints Frameworks for App Engine command-line tool\n\nThis page describes how to generate a client library from your backend server API by using the Endpoints Frameworks command-line tool. Any Java or Android app can use this library to call the API.\n\nYou can generate client library bundles that allow applications to access your\nAPI using the Endpoints Frameworks command-line tool. When you\ngenerate a client library, the Endpoints Frameworks command-line tool\nautomatically generates a\n[Discovery document](https://developers.google.com/discovery/v1/reference/apis)\nthat describes the surface of your API.\n\nTo get the Endpoints Frameworks command-line tool, download\n[`endpoints-framework-tools`](http://search.maven.org/remotecontent?filepath=com/google/endpoints/endpoints-framework-tools/2.2.1/endpoints-framework-tools-2.2.1.zip)\nfrom the [Maven Central Repository](http://search.maven.org/).\nAfter you extract the contents of the zip file, the tool is in the\n`endpoints-framework-tools-2.2.1/bin/` directory.\n\nGenerating a client library bundle from an API\n----------------------------------------------\n\nYou can use the Endpoints Frameworks command-line tool to generate the\nfollowing types of client bundles:\n\n- Maven: This bundle includes a `pom.xml` file with the\n Endpoints Frameworks and Google API Client Library dependencies.\n The `readme.html` file provides detailed information on what you need to add\n to your `pom.xml` file for different types of client\n applications and how to build a client library for your API using Maven.\n\n- Gradle: This bundle includes a `build.gradle` file with the\n Endpoints Frameworks and Google API Client Library dependencies.\n The `readme.html` file provides detailed information on what you need to add\n to your `build.gradle` file for different types of client applications and\n how to build a client library for your API using Gradle.\n\n- Default client bundle: This bundle contains all the dependency libraries and\n the generated `source.jar` file, which is the Java library that you use in\n your client to call your API. This bundle provides your client with all of\n the Google API Client Library capabilities, including OAuth. The\n `readme.html` file lists the `.jar` files that are required for different\n types of client applications and other details for using the client library.\n\nIf you are using the client library with an Android app, we recommend that you\nuse a Gradle client bundle.\n\n### Command-line syntax\n\nBefore you use the Endpoints Frameworks command-line tool, you must\nbuild your backend project because this tool requires compiled binaries. You can\noptionally supply the `--war=` option pointing to the build target output\ndirectory containing the `WEB-INF` directory and compiled java classes if you\ndon't want to use the default (`--war=\"./war\"`).\n\nThe basic syntax is as follows: \n\n```\n/path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \\\n get-client-lib OPTIONS CLASS_NAME\n```\n\nwhere:\n\n- \u003cvar translate=\"no\"\u003eOPTIONS\u003c/var\u003e, if supplied, is one or more items shown in the [Options table](#options).\n- \u003cvar translate=\"no\"\u003eCLASS_NAME\u003c/var\u003e is the fully qualified class name of your API.\n\nFor example: \n\n /path-to/endpoints-framework-tools-2.2.1/bin/endpoints-framework-tools \\\n get-client-lib --war=target/echo-1.0-SNAPSHOT -bs gradle com.example.echo.Echo\n\nwhere `target/echo-1.0-SNAPSHOT` is the relative or absolute path to the\ntarget build directory containing `WEB-INF` and the compiled backend classes.\n| **Note:** If your API is implemented from multiple classes, specify each of them separated by a space.\n\n### Options\n\nYou can use the following options:\n\n\n### Supported client platforms\n\nThe following platforms are supported in the client bundle produced by the\nEndpoints Frameworks command-line tool:\n\n- Java 7 and higher:\n- [Android](https://github.com/googleapis/google-api-java-client/wiki/Android) 1.6 and higher.\n- [App Engine](https://github.com/googleapis/google-api-java-client/wiki)."]]