static CloudSdk buildCloudSdk()

in function-maven-plugin/src/main/java/com/google/cloud/functions/plugin/DeployFunction.java [253:282]


  static CloudSdk buildCloudSdk(
      CloudSdkMojo mojo, CloudSdkChecker cloudSdkChecker, CloudSdkDownloader cloudSdkDownloader) {

    try {
      if (mojo.getCloudSdkHome() != null) {
        // Check if the user has defined a specific Cloud SDK.
        CloudSdk cloudSdk = new CloudSdk.Builder().sdkPath(mojo.getCloudSdkHome()).build();

        if (mojo.getCloudSdkVersion() != null) {
          cloudSdkChecker.checkCloudSdk(cloudSdk, mojo.getCloudSdkVersion());
        }

        return cloudSdk;
      } else {

        return new CloudSdk.Builder()
            .sdkPath(
                cloudSdkDownloader.downloadIfNecessary(
                    mojo.getCloudSdkVersion(),
                    mojo.getLog(),
                    Collections.emptyList(),
                    mojo.getMavenSession().isOffline()))
            .build();
      }
    } catch (CloudSdkNotFoundException
        | CloudSdkOutOfDateException
        | CloudSdkVersionFileException ex) {
      throw new RuntimeException(ex);
    }
  }