in app-gradle-plugin/src/main/java/com/google/cloud/tools/gradle/appengine/standard/AppEngineStandardPlugin.java [83:136]
private void configureExtensions() {
// create the run extension and set defaults.
runExtension = appengineExtension.getRun();
runExtension.setStartSuccessTimeout(20);
runExtension.setServices(explodedWarDir);
runExtension.setServerVersion("1");
// create the stage extension and set defaults.
stageExtension = appengineExtension.getStage();
File defaultStagedAppDir = new File(project.getBuildDir(), STAGED_APP_DIR_NAME);
stageExtension.setSourceDirectory(explodedWarDir);
stageExtension.setStagingDirectory(defaultStagedAppDir);
project.afterEvaluate(
project -> {
// tools extension required to initialize cloudSdkOperations
ToolsExtension tools = appengineExtension.getTools();
try {
cloudSdkOperations =
new CloudSdkOperations(tools.getCloudSdkHome(), null, tools.getVerbosity());
} catch (CloudSdkNotFoundException ex) {
// this should be caught in AppEngineCorePluginConfig before it can ever reach here.
throw new GradleException("Could not find CloudSDK: ", ex);
}
DeployExtension deploy = appengineExtension.getDeploy();
if (deploy.getAppEngineDirectory() == null) {
deploy.setAppEngineDirectory(
new File(stageExtension.getStagingDirectory(), "WEB-INF/appengine-generated"));
}
DeployAllTask deployAllTask =
(DeployAllTask)
project
.getTasks()
.getByName(AppEngineCorePluginConfiguration.DEPLOY_ALL_TASK_NAME);
deployAllTask.setStageDirectory(stageExtension.getStagingDirectory());
deployAllTask.setDeployExtension(deploy);
DeployTask deployTask =
(DeployTask)
project.getTasks().getByName(AppEngineCorePluginConfiguration.DEPLOY_TASK_NAME);
deployTask.setDeployConfig(deploy);
deployTask.setAppYaml(stageExtension.getStagingDirectory().toPath().resolve("app.yaml"));
// configure the runExtension's project parameter
// assign the run projectId to the deploy projectId if none is specified
if (Strings.isNullOrEmpty(runExtension.getProjectId())) {
runExtension.setProjectId(deploy.getProjectId());
}
runExtension.setDeployTargetResolver(new DeployTargetResolver(cloudSdkOperations));
});
}