Maven plugin to build and deploy Google App Engine applications.
Java Shell Batchfile

README.md

project status image Build Status Maven Central

Google App Engine Maven plugin

This Maven plugin provides goals to build and deploy Google App Engine applications.

2.0.0 Release Candidates are Live
2.0.0-rc have been published. The behavior of the appengine-maven-plugin has changed since v1.+; please see the CHANGELOG for a full list of changes and an updated USER GUIDE for details. If you are having trouble using or updating your plugin, please file a new issue.

Reference Documentation

App Engine Standard Environment:

App Engine Flexible Environment:

Requirements

Maven is required to build and run the plugin.

You must have Google Cloud SDK installed.

Cloud SDK app-engine-java component is also required. Install it by running:

gcloud components install app-engine-java

Login and configure Cloud SDK:

gcloud init

How to use

In your Maven App Engine Java app, add the following plugin to your pom.xml:

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>appengine-maven-plugin</artifactId>
    <version>1.3.2</version>
</plugin>

You can now run commands like mvn package appengine:deploy in the root folder of your Java application.

Supported goals

Goal Description
appengine:cloudSdkLogin Login and set the Cloud SDK common configuration user.
appengine:stage Generates an application directory for deployment.
appengine:deploy Stages and deploys an application to App Engine.
appengine:deployCron Deploy cron configuration.
appengine:deployDispatch Deploy dispatch configuration.
appengine:deployDos Deploy dos configuration.
appengine:deployIndex Deploy datastore index configuration.
appengine:deployQueue Deploy queue configuration.
appengine:deployAll Deploy the application with all available valid configuration.
appengine:run Runs the App Engine local development server. (App Engine Standard Only)
appengine:start Starts running the App Engine devserver asynchronously and then returns to the command line. When this goal runs, the behavior is the same as the run goal except that Maven continues processing goals and exits after the server is up and running. (App Engine Standard Only)
appengine:stop Stops a running App Engine web development server. (App Engine Standard Only)
appengine:genRepoInfoFile Generates source context files for use by Stackdriver Debugger.
appengine:help Displays help information on the plugin. Use mvn appengine:help -Ddetail=true -Dgoal=[goal] for detailed goal documentation.

To automatically run the appengine:genRepoInfoFile goal during the Maven build workflow, add the following to your plugin executions section:

<plugin>
  ...
  <executions>
    <execution>
      <phase>prepare-package</phase>
      <goals>
        <goal>genRepoInfoFile</goal>
      </goals>
    </execution>
  </executions>
  ...
</plugin>