public class Application
extends java.lang.Object
implements com.google.appengine.tools.admin.GenericApplication
Modifier and Type | Method and Description |
---|---|
void |
cleanStagingDirectory()
deletes the staging directory, if one was created.
|
java.io.File |
createStagingDirectory(com.google.appengine.tools.admin.ApplicationProcessingOptions opts,
com.google.appengine.tools.admin.ResourceLimits resourceLimits)
Creates a new staging directory, if needed, or returns the existing one
if already created.
|
java.io.File |
createStagingDirectory(com.google.appengine.tools.admin.ApplicationProcessingOptions opts,
com.google.appengine.tools.admin.ResourceLimits resourceLimits,
java.io.File stagingDir)
Populates and creates (if necessary) a user specified, staging directory
|
void |
exportRepoInfoFile()
Generates source context file in the staging directory.
|
java.lang.String |
getApiVersion()
Returns the desired API version for the current application, or
"none" if no API version was used. |
AppEngineWebXml |
getAppEngineWebXml()
Returns the AppEngineWebXml describing the application.
|
java.lang.String |
getAppId()
Returns the application identifier, from the AppEngineWebXml config
|
java.lang.String |
getAppYaml()
Returns the app.yaml string.
|
BackendsXml |
getBackendsXml()
Returns the BackendsXml describing the applications' backends.
|
CronXml |
getCronXml()
Returns the CronXml describing the applications' cron jobs.
|
DispatchXml |
getDispatchXml()
Returns the possibly empty
DispatchXml descriptor for this
application or null if none is configured. |
DosXml |
getDosXml()
Returns the DosXml describing the applications' DoS entries.
|
java.util.List<com.google.appengine.tools.admin.GenericApplication.ErrorHandler> |
getErrorHandlers()
Returns the list of error handlers for this application
|
IndexesXml |
getIndexesXml()
Returns the IndexesXml describing the applications' indexes.
|
java.lang.String |
getInstanceClass()
Returns the application instance class name or null if not specified.
|
java.lang.String |
getMimeTypeIfStatic(java.lang.String path)
Returns the mime-type if path corresponds to static content,
null otherwise. |
java.lang.String |
getModule()
Returns the application module name or null if not specified.
|
java.lang.String |
getPath()
Returns a path to an exploded WAR directory for the application.
|
QueueXml |
getQueueXml()
Returns the QueueXml describing the applications' task queues.
|
java.lang.String |
getRuntime()
Returns the desired runtime for the current application.
|
AppEngineWebXml |
getScrubbedAppEngineWebXml()
Modified app.yaml for Cloud SDK deployment.
|
static java.io.File |
getSdkDocsDir() |
static Version |
getSdkVersion() |
java.io.File |
getStagingDir()
Returns the staging directory, or
null if none has been created. |
StagingOptions |
getStagingOptions(com.google.appengine.tools.admin.ApplicationProcessingOptions opts)
Gets the effective staging options from global defaults, appengine-web.xml and flags, in
ascending order of precedence.
|
java.lang.String |
getVersion()
Returns the application version, from the AppEngineWebXml config
|
WebXml |
getWebXml()
Returns the WebXml describing the applications' servlets and generic web
application information.
|
static java.lang.String |
guessContentTypeFromName(java.lang.String fileName) |
boolean |
isPrecompilationEnabled()
Returns whether precompilation is enabled for this application
|
static Application |
readApplication(java.lang.String path)
Reads the App Engine application from
path . |
static Application |
readApplication(java.lang.String path,
com.google.appengine.tools.admin.RepoInfo.SourceContext sourceContext)
Reads the App Engine application from
path . |
static Application |
readApplication(java.lang.String path,
java.lang.String appId,
java.lang.String module,
java.lang.String appVersion)
Reads the App Engine application from
path . |
static void |
recursiveDelete(java.io.File dead)
Recursive directory deletion.
|
void |
resetProgress() |
void |
setDetailsWriter(java.io.PrintWriter detailsWriter) |
void |
setExternalResourceDir(java.lang.String path)
Sets the external resource directory.
|
void |
setListener(UpdateListener l) |
void |
statusUpdate(java.lang.String message) |
void |
statusUpdate(java.lang.String message,
int amount) |
public static java.io.File getSdkDocsDir()
public static Version getSdkVersion()
public static Application readApplication(java.lang.String path) throws java.io.IOException
path
. The path may either
be a WAR file or the root of an exploded WAR directory.path
- a not null
path.java.io.IOException
- if an error occurs while trying to read the
Application
.com.google.apphosting.utils.config.AppEngineConfigException
- if the
Application's
appengine-web.xml file is malformed.public static Application readApplication(java.lang.String path, com.google.appengine.tools.admin.RepoInfo.SourceContext sourceContext) throws java.io.IOException
path
. The path may either
be a WAR file or the root of an exploded WAR directory.path
- a not null
path.sourceContext
- an explicit RepoInfo.SourceContext. If null
, the source
context will be inferred from the current directory.java.io.IOException
- if an error occurs while trying to read the
Application
.com.google.apphosting.utils.config.AppEngineConfigException
- if the
Application's
appengine-web.xml file is malformed.public void setExternalResourceDir(java.lang.String path)
createStagingDirectory(ApplicationProcessingOptions, ResourceLimits)
.
The external resource directory is a directory outside of the war directory where additional files live. These files will be copied into the staging directory during an upload, after the war directory is copied there. Consequently if there are any name collisions the files in the external resource directory will win.
path
- a not null
path to an existing directory.java.lang.IllegalArgumentException
- If path
does not refer to an existing
directory.public static Application readApplication(java.lang.String path, java.lang.String appId, java.lang.String module, java.lang.String appVersion) throws java.io.IOException
path
. The path may either
be a WAR file or the root of an exploded WAR directory.path
- a not null
path.appId
- if non-null, use this as an application id override.module
- if non-null, use this as a module id override.appVersion
- if non-null, use this as an application version override.java.io.IOException
- if an error occurs while trying to read the
Application
.com.google.apphosting.utils.config.AppEngineConfigException
- if the
Application's
appengine-web.xml file is malformed.public java.lang.String getAppId()
getAppId
in interface com.google.appengine.tools.admin.GenericApplication
public java.lang.String getVersion()
getVersion
in interface com.google.appengine.tools.admin.GenericApplication
public java.lang.String getModule()
com.google.appengine.tools.admin.GenericApplication
getModule
in interface com.google.appengine.tools.admin.GenericApplication
public java.lang.String getInstanceClass()
com.google.appengine.tools.admin.GenericApplication
getInstanceClass
in interface com.google.appengine.tools.admin.GenericApplication
public boolean isPrecompilationEnabled()
com.google.appengine.tools.admin.GenericApplication
isPrecompilationEnabled
in interface com.google.appengine.tools.admin.GenericApplication
public java.util.List<com.google.appengine.tools.admin.GenericApplication.ErrorHandler> getErrorHandlers()
com.google.appengine.tools.admin.GenericApplication
getErrorHandlers
in interface com.google.appengine.tools.admin.GenericApplication
public java.lang.String getMimeTypeIfStatic(java.lang.String path)
com.google.appengine.tools.admin.GenericApplication
null
otherwise.getMimeTypeIfStatic
in interface com.google.appengine.tools.admin.GenericApplication
null
public static java.lang.String guessContentTypeFromName(java.lang.String fileName)
fileName
- path of a file with extensionpublic AppEngineWebXml getAppEngineWebXml()
null
deployment descriptorpublic AppEngineWebXml getScrubbedAppEngineWebXml()
null
deployment descriptorpublic CronXml getCronXml()
getCronXml
in interface com.google.appengine.tools.admin.GenericApplication
null
public QueueXml getQueueXml()
getQueueXml
in interface com.google.appengine.tools.admin.GenericApplication
null
public DispatchXml getDispatchXml()
com.google.appengine.tools.admin.GenericApplication
DispatchXml
descriptor for this
application or null if none is configured.getDispatchXml
in interface com.google.appengine.tools.admin.GenericApplication
public DosXml getDosXml()
getDosXml
in interface com.google.appengine.tools.admin.GenericApplication
null
public IndexesXml getIndexesXml()
getIndexesXml
in interface com.google.appengine.tools.admin.GenericApplication
null
public WebXml getWebXml()
null
public BackendsXml getBackendsXml()
com.google.appengine.tools.admin.GenericApplication
getBackendsXml
in interface com.google.appengine.tools.admin.GenericApplication
null
public java.lang.String getApiVersion()
"none"
if no API version was used.getApiVersion
in interface com.google.appengine.tools.admin.GenericApplication
java.lang.IllegalStateException
- if createStagingDirectory has not been called.public java.lang.String getRuntime()
getRuntime
in interface com.google.appengine.tools.admin.GenericApplication
java.lang.IllegalStateException
- if createStagingDirectory has not been called.public java.lang.String getPath()
getPath
in interface com.google.appengine.tools.admin.GenericApplication
null
path pointing to a directorypublic java.io.File getStagingDir()
null
if none has been created.getStagingDir
in interface com.google.appengine.tools.admin.GenericApplication
public void resetProgress()
resetProgress
in interface com.google.appengine.tools.admin.GenericApplication
public StagingOptions getStagingOptions(com.google.appengine.tools.admin.ApplicationProcessingOptions opts)
opts
- User-specified options for processing the application.public java.io.File createStagingDirectory(com.google.appengine.tools.admin.ApplicationProcessingOptions opts, com.google.appengine.tools.admin.ResourceLimits resourceLimits) throws java.io.IOException
createStagingDirectory
in interface com.google.appengine.tools.admin.GenericApplication
opts
- User-specified options for processing the application.resourceLimits
- Various resource limits provided by the cloud.java.io.IOException
public java.io.File createStagingDirectory(com.google.appengine.tools.admin.ApplicationProcessingOptions opts, com.google.appengine.tools.admin.ResourceLimits resourceLimits, java.io.File stagingDir) throws java.io.IOException
createStagingDirectory
in interface com.google.appengine.tools.admin.GenericApplication
opts
- User-specified options for processing the application.resourceLimits
- Various resource limits provided by the cloud.stagingDir
- User-specified staging directory (must be empty or not exist)java.io.IOException
- if an error occurs trying to create or populate the staging directorypublic void exportRepoInfoFile()
com.google.appengine.tools.admin.GenericApplication
Does nothing if the source directory is not in a Git repo or if the source context file already exists. If the operation fails, this function logs and continues. The deployment is never blocked if we can't generate the source context file.
exportRepoInfoFile
in interface com.google.appengine.tools.admin.GenericApplication
public void cleanStagingDirectory()
cleanStagingDirectory
in interface com.google.appengine.tools.admin.GenericApplication
public static void recursiveDelete(java.io.File dead)
public void setListener(UpdateListener l)
setListener
in interface com.google.appengine.tools.admin.GenericApplication
public void setDetailsWriter(java.io.PrintWriter detailsWriter)
setDetailsWriter
in interface com.google.appengine.tools.admin.GenericApplication
public void statusUpdate(java.lang.String message, int amount)
statusUpdate
in interface com.google.appengine.tools.admin.GenericApplication
public void statusUpdate(java.lang.String message)
statusUpdate
in interface com.google.appengine.tools.admin.GenericApplication
public java.lang.String getAppYaml()
getAppYaml
in interface com.google.appengine.tools.admin.GenericApplication
java.lang.IllegalStateException
- if createStagingDirectory has not been called.