in app-maven-plugin/src/main/java/com/google/cloud/tools/maven/cloudsdk/CloudSdkAppEngineFactory.java [116:155]
static CloudSdk buildCloudSdk(
CloudSdkMojo mojo,
CloudSdkChecker cloudSdkChecker,
CloudSdkDownloader cloudSdkDownloader,
boolean requiresAppEngineComponents) {
try {
if (mojo.getCloudSdkHome() != null) {
// if user defined
CloudSdk cloudSdk = new CloudSdk.Builder().sdkPath(mojo.getCloudSdkHome()).build();
if (mojo.getCloudSdkVersion() != null) {
cloudSdkChecker.checkCloudSdk(cloudSdk, mojo.getCloudSdkVersion());
}
if (requiresAppEngineComponents) {
cloudSdkChecker.checkForAppEngine(cloudSdk);
}
return cloudSdk;
} else {
// we need to use a managed cloud sdk
List<SdkComponent> requiredComponents = new ArrayList<>();
if (requiresAppEngineComponents) {
requiredComponents.add(SdkComponent.APP_ENGINE_JAVA);
}
return new CloudSdk.Builder()
.sdkPath(
cloudSdkDownloader.downloadIfNecessary(
mojo.getCloudSdkVersion(),
mojo.getLog(),
requiredComponents,
mojo.getMavenSession().isOffline()))
.build();
}
} catch (CloudSdkNotFoundException
| CloudSdkVersionFileException
| AppEngineJavaComponentsNotInstalledException
| CloudSdkOutOfDateException ex) {
throw new RuntimeException(ex);
}
}