From a65a6df1f85d3ff12ee61fea174b6d2990602cfb Mon Sep 17 00:00:00 2001 From: Brian Long Date: Wed, 15 Nov 2023 20:00:58 -0500 Subject: [PATCH] added dryRun for app upload/publish --- .../aps/modeling/goal/PublishAppGoal.java | 10 ++++- .../aps/modeling/goal/UploadAppGoal.java | 43 +++++++++++++------ 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java b/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java index 7803c16..de038d3 100644 --- a/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java +++ b/src/main/java/com/inteligr8/maven/aps/modeling/goal/PublishAppGoal.java @@ -39,6 +39,9 @@ public class PublishAppGoal extends ApsAppAddressibleGoal { @Parameter( property = "aps-model.publish.comment", required = true, defaultValue = "Automated by 'aps-model-maven-plugin'" ) protected String comment; + + @Parameter( property = "aps-model.dryRun", required = true, defaultValue = "false" ) + protected boolean dryRun; @Override public void executeEnabled() throws MojoExecutionException, MojoFailureException { @@ -56,7 +59,12 @@ public class PublishAppGoal extends ApsAppAddressibleGoal { AppDefinitionPublishRepresentation appDefPublish = new AppDefinitionPublishRepresentation(); appDefPublish.setComment(this.comment); - api.getAppDefinitionsApi().publish(appId, appDefPublish); + if (this.dryRun) { + this.getLog().info("[DRYRUN]: Publishing app: " + appId); + } else { + this.getLog().info("Publishing app: " + appId); + api.getAppDefinitionsApi().publish(appId, appDefPublish); + } } } diff --git a/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java b/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java index 4dce552..3e9b96f 100644 --- a/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java +++ b/src/main/java/com/inteligr8/maven/aps/modeling/goal/UploadAppGoal.java @@ -49,6 +49,9 @@ public class UploadAppGoal extends ApsAppAddressibleGoal { @Parameter( property = "publish", required = true, defaultValue = "false" ) protected boolean publish = false; + + @Parameter( property = "aps-model.dryRun", required = true, defaultValue = "false" ) + protected boolean dryRun; protected final int bufferSize = 128 * 1024; @@ -93,23 +96,39 @@ public class UploadAppGoal extends ApsAppAddressibleGoal { if (appId == null) { if (this.publish) { - this.getLog().info("Uploading & publishing new APS App: " + this.apsAppName); - AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(multipart); - if (Boolean.TRUE.equals(appDefUpdate.getError())) - throw new MojoExecutionException(appDefUpdate.getErrorDescription()); + if (this.dryRun) { + this.getLog().info("[DRYRUN]: Uploading & publishing new APS App: " + this.apsAppName); + } else { + this.getLog().info("Uploading & publishing new APS App: " + this.apsAppName); + AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(multipart); + if (Boolean.TRUE.equals(appDefUpdate.getError())) + throw new MojoExecutionException(appDefUpdate.getErrorDescription()); + } } else { - this.getLog().info("Uploading new APS App: " + this.apsAppName); - api.getAppDefinitionsJerseyApi().importApp(multipart, true); + if (this.dryRun) { + this.getLog().info("[DRYRUN]: Uploading new APS App: " + this.apsAppName); + } else { + this.getLog().info("Uploading new APS App: " + this.apsAppName); + api.getAppDefinitionsJerseyApi().importApp(multipart, true); + } } } else { if (this.publish) { - this.getLog().info("Uploading, versioning, & publishing APS App: " + this.apsAppName + " (" + appId + ")"); - AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(appId, multipart); - if (Boolean.TRUE.equals(appDefUpdate.getError())) - throw new MojoExecutionException(appDefUpdate.getErrorDescription()); + if (this.dryRun) { + this.getLog().info("[DRYRUN]: Uploading, versioning, & publishing APS App: " + this.apsAppName + " (" + appId + ")"); + } else { + this.getLog().info("Uploading, versioning, & publishing APS App: " + this.apsAppName + " (" + appId + ")"); + AppDefinitionUpdateResultRepresentation appDefUpdate = api.getAppDefinitionsJerseyApi().publishApp(appId, multipart); + if (Boolean.TRUE.equals(appDefUpdate.getError())) + throw new MojoExecutionException(appDefUpdate.getErrorDescription()); + } } else { - this.getLog().info("Uploading & versioning APS App: " + this.apsAppName + " (" + appId + ")"); - api.getAppDefinitionsJerseyApi().importApp(appId, multipart, true); + if (this.dryRun) { + this.getLog().info("[DRYRUN]: Uploading & versioning APS App: " + this.apsAppName + " (" + appId + ")"); + } else { + this.getLog().info("Uploading & versioning APS App: " + this.apsAppName + " (" + appId + ")"); + api.getAppDefinitionsJerseyApi().importApp(appId, multipart, true); + } } } } catch (ParseException pe) {