@@ -0,0 +1,1769 @@
+package ai.vespa.hosted.plugin;%0A%0Aimport ai.vespa.hosted.api.Deployment;%0Aimport com.yahoo.config.provision.zone.ZoneId;%0Aimport org.apache.maven.plugins.annotations.Mojo;%0Aimport org.apache.maven.plugins.annotations.Parameter;%0A%0Aimport java.nio.file.Paths;%0A%0A/**%0A * Deploys a Vespa application package to the hosted Vespa API.%0A *%0A * @author jonmv%0A */%0A@Mojo(name = %22deploy%22)%0Apublic class DeployMojo extends AbstractVespaMojo %7B%0A%0A    @Parameter(property = %22applicationZip%22)%0A    private String applicationZip;%0A%0A    @Parameter(property = %22vespaVersion%22)%0A    private String vespaVersion;%0A%0A    @Parameter(property = %22ignoreValidationErrors%22)%0A    private String ignoreValidationErrors;%0A%0A    @Parameter(property = %22environment%22)%0A    private String environment;%0A%0A    @Parameter(property = %22region%22)%0A    private String region;%0A%0A    @Parameter(property = %22repository%22)%0A    private String repository;%0A%0A    @Parameter(property = %22branch%22)%0A    private String branch;%0A%0A    @Parameter(property = %22commit%22)%0A    private String commit;%0A%0A    @Parameter(property = %22build%22)%0A    private Long build;%0A%0A    @Override%0A    protected void doExecute() %7B%0A        Deployment deployment = build == null%0A                ? Deployment.ofPackage(Paths.get(firstNonBlank(applicationZip, projectPathOf(%22target%22, %22application.zip%22))))%0A                : Deployment.ofReference(repository, branch, commit, build);%0A        if (%22true%22.equalsIgnoreCase(ignoreValidationErrors)) deployment = deployment.ignoringValidationErrors();%0A        if (vespaVersion != null) deployment = deployment.atVersion(vespaVersion);%0A%0A        ZoneId zone = environment == null %7C%7C region == null ? controller.devZone() : ZoneId.from(environment, region);%0A%0A        System.out.println(controller.deploy(deployment, id, zone).json());%0A    %7D%0A%0A%7D%0A

Add DeployMojo