Deployer newDeployer()

in app-maven-plugin/src/main/java/com/google/cloud/tools/maven/deploy/Deployer.java [30:65]


    Deployer newDeployer(AbstractDeployMojo deployMojo) throws MojoExecutionException {
      if (!deployMojo.isAppEngineCompatiblePackaging()) {
        return new NoOpDeployer();
      }
      if (deployMojo.getArtifact() == null || !Files.exists(deployMojo.getArtifact())) {
        throw new MojoExecutionException(
            "\nCould not determine appengine environment, did you package your application?"
                + "\nRun 'mvn package appengine:deploy'");
      }

      ConfigProcessor configProcessor =
          new ConfigProcessor(deployMojo.getAppEngineFactory().newConfigReader());
      ConfigBuilder configBuilder = new ConfigBuilder(deployMojo, configProcessor);

      if (deployMojo.isAppEngineWebXmlBased()) {
        // deployments using appengine-web.xml
        Stager stager = AppEngineWebXmlStager.newAppEngineWebXmlStager(deployMojo);
        Path appengineDirectory =
            deployMojo.getStagingDirectory().resolve("WEB-INF").resolve("appengine-generated");
        return new AppDeployer(deployMojo, stager, configBuilder, appengineDirectory);
      } else {
        // deployments using app.yaml
        Stager stager = AppYamlStager.newAppYamlStager(deployMojo);
        Path appengineDirctory =
            (deployMojo.getAppEngineDirectory() == null)
                ? deployMojo
                    .getMavenProject()
                    .getBasedir()
                    .toPath()
                    .resolve("src")
                    .resolve("main")
                    .resolve("appengine")
                : deployMojo.getAppEngineDirectory();
        return new AppDeployer(deployMojo, stager, configBuilder, appengineDirctory);
      }
    }