Tarefas e propriedades do plugin do Gradle do App Engine

Depois de adicionar o plug-in do App Engineao seu projeto, pode usar as seguintes tarefas do Gradle específicas do App Engine para aplicações no ambiente padrão do App Engine:

Tarefa Descrição
tasks Apresenta informações de ajuda sobre as tarefas instaladas.
appengineCloudSdkLogin Define o estado global da CLI gcloud para account.
appengineDeploy Prepara e implementa uma aplicação no App Engine.
appengineDeployAll Prepara e implementa uma aplicação com todas as respetivas configurações YAML válidas simultaneamente no App Engine.
appengineDeployCron Prepara e implementa um ficheiro de configuração cron.yaml no App Engine.
appengineDeployDispatch Prepara e implementa um ficheiro de configuração dispatch.yaml no App Engine.
appengineDeployDos Prepara e implementa um ficheiro de configuração dos.yaml no App Engine.
appengineDeployIndex Prepara e implementa um ficheiro de configuração index.yaml no App Engine.
appengineDeployQueue Prepara e implementa um ficheiro de configuração queue.yaml no App Engine.
appengineRun Executa o servidor de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xml foi alterado. Se tiver, o servidor recarrega a aplicação. Não tem de parar nem reiniciar a aplicação devido a alterações ao appengine-web.xml.
appengineStage Gera um diretório de aplicações para implementação.
appengineStart Começa a executar o servidor de desenvolvimento do App Engine de forma assíncrona e, em seguida, regressa à linha de comandos. Quando este objetivo é executado, o comportamento é o mesmo que o objetivo de execução, exceto que o Gradle continua a processar tarefas e sai após o servidor estar em funcionamento.
appengineStop Para um servidor de programação Web do App Engine em execução.
explodeWar Expande o ficheiro WAR para o diretório de compilação.

Para ver uma lista de todas as tarefas:

gradle tasks

Para mais informações sobre como configurar e usar o Gradle, consulte o artigo Usar o Gradle do App Engine.

Propriedades da tarefa

O conteúdo do ficheiro gradle.build é um conjunto de regras para descrever a sua compilação. Está escrito num idioma específico do domínio para descrever compilações, com base no idioma Groovy.

Cada tarefa tem propriedades associadas abaixo que pode usar. Pode especificar estas propriedades no ficheiro gradle.build através de uma tarefa de encerramento de configuração e propriedades.

No exemplo seguinte:

  • O encerramento da configuração do plug-in é appengine.
  • A tarefa é run.
  • A propriedade port está definida como 8080.
appengine {  // App Engine tasks configuration
  run {      // local (dev_appserver) configuration (standard environments only)
    port = 8080                 // default
  }

  deploy {   // deploy configuration
    stopPreviousVersion = true  // default - stop the current version
    promote = true              // default - & make this the current version
  }
}

Se só tiver de especificar algumas propriedades, pode defini-las numa única linha:

  appengine.run.port = 8888

Consulte as secções seguintes para ver uma lista das propriedades disponíveis para cada tarefa.

appengineStage

task(stage)

Gera um diretório de aplicações para implementação. appengineStage é usado pela tarefa appengineDeploy.

Pode usar as seguintes propriedades:

Propriedade Descrição
compileEncoding A codificação de carateres a usar ao compilar JSPs. Aplica-se apenas a aplicações em execução no ambiente padrão do App Engine.
deleteJsps Elimine os ficheiros de origem JSP após a compilação. Aplica-se apenas a aplicações em execução no ambiente padrão do App Engine.
disableJarJsps Desativar a adição das turmas geradas a partir de JSPs. Aplica-se apenas a aplicações em execução no ambiente padrão do App Engine.
disableUpdateCheck Desativar a verificação de atualizações da CLI gcloud.
enableJarClasses Frasco de WEB-INF/classes content. Aplica-se apenas a aplicações em execução no ambiente padrão do App Engine.
useMtimeFileWatcher Use a sondagem mtime para detetar alterações ao código fonte. Útil se estiver a modificar código a partir de um computador remoto através de um sistema de ficheiros distribuído.
enableJarSplitting Divida os ficheiros JAR com mais de 10 MB em fragmentos mais pequenos. Aplica-se apenas ao ambiente padrão do App Engine.
enableQuickstart Use o guia de início rápido do Eclipse Jetty para processar anotações de servlet. Aplica-se apenas ao ambiente padrão do App Engine.
jarSplittingExcludes Exclua os ficheiros que correspondem à lista de SUFIXOS separados por vírgulas de todos os ficheiros JAR. Aplica-se apenas a aplicações em execução no ambiente padrão do App Engine.
sourceDirectory Obrigatório. A localização dos ficheiros da aplicação Web compilados ou do WAR expandido. Isto é usado como origem para a preparação. Aplica-se apenas ao ambiente padrão do App Engine. A predefinição é build/exploded-${gradle-module-name}.
stagingDirectory Obrigatório. O diretório para o qual a aplicação deve ser preparada. A predefinição é build/staged-app.

appengineRun

task(run)

Executa o servidor Web de desenvolvimento do App Engine. Quando o servidor está em execução, verifica continuamente se appengine-web.xml mudou. Se tiver, o servidor recarrega a aplicação. Isto significa que não tem de parar e reiniciar a aplicação devido a alterações ao appengine-web.xml.

Pode usar as seguintes propriedades, algumas das quais correspondem aos sinalizadores de linha de comandos do servidor de desenvolvimento local:

Propriedade Descrição
environment Um mapa de variáveis de ambiente a enviar para o servidor de desenvolvimento local. Exemplo: [key1: "value1", key2: "value2"]
jvmFlags Argumentos adicionais a transmitir ao comando java quando iniciar uma instância da app. Pode ser especificado mais do que uma vez. Exemplo: -Xmx1024m -Xms256m
host Nome do anfitrião ao qual os serviços de aplicação devem ser associados. A predefinição é localhost.
port Porta mais baixa à qual os serviços de aplicação devem ser associados. A predefinição é 8080.
serverVersion Versão do servidor a iniciar. As opções são "1" e "2-alpha". A predefinição é "1".
services Obrigatório. Caminhos para um diretório que contém um diretório que contém WEB-INF/web.xml. A predefinição é build/exploded-app.
startSuccessTimeout Quantidade de tempo em segundos a aguardar que o servidor de apps de desenvolvimento seja iniciado em segundo plano (quando usar appengineStart).

appengineDeploy

task(deploy)

Prepara e implementa uma aplicação no App Engine.

Propriedade Descrição
appEngineDirectory Localização dos ficheiros de configuração do .yaml (cron, index, etc.) a partir dos quais as implementações específicas de configuração (appengineDeployCron, etc.) vão ser implementadas. Para aplicações padrão, os ficheiros de configuração são convertidos durante a preparação em .yaml e colocados em build/staged-app/WEB-INF/appengine-generated..xml
bucket O contentor do Google Cloud Storage usado para preparar ficheiros associados à implementação. Se este argumento não for especificado, é usado o contentor predefinido da aplicação.
imageUrl Implementar com uma imagem do Docker específica. O URL do Docker tem de ser de um dos nomes de anfitrião do Google Container Registry válidos.
projectId O ID do projeto da Google Cloud Platform a usar para esta invocação. Tem de especificar um projectId ou pode definir GCLOUD_CONFIG para usar o projeto definido no estado de configuração do gcloud.
promote Promova a versão implementada para receber todo o tráfego. A predefinição é True.
server O servidor do App Engine ao qual estabelecer ligação. Normalmente, não precisa de alterar este valor.
stopPreviousVersion Pare a versão em execução anterior quando implementar uma nova versão que recebe todo o tráfego.
version A versão da app que vai ser criada ou substituída por esta implementação. Se não especificar uma versão, é gerada uma para si.

Propriedades globais

Propriedade Descrição
tools.cloudSdkHome Propriedade opcional para configurar a localização da CLI gcloud. Se esta propriedade não for especificada, o plug-in transfere automaticamente a CLI gcloud.
tools.cloudSdkVersion Parâmetro opcional para especificar a versão da CLI gcloud pretendida.