diff options
3 files changed, 18 insertions, 0 deletions
diff --git a/buildSrc/src/main/java/deployment/DeploymentRequestProcessStepTask.java b/buildSrc/src/main/java/deployment/DeploymentRequestProcessStepTask.java index 7eddd126a..89ad4f89b 100644 --- a/buildSrc/src/main/java/deployment/DeploymentRequestProcessStepTask.java +++ b/buildSrc/src/main/java/deployment/DeploymentRequestProcessStepTask.java @@ -1,5 +1,7 @@ package deployment; +import static deployment.DeploymentStatusRequestTask.makeBuildDir; + import github.DeploymentCreate; import java.io.File; import java.nio.charset.StandardCharsets; @@ -55,11 +57,13 @@ public class DeploymentRequestProcessStepTask extends DefaultTask { @TaskAction public void deploymentRequestAction() { try { + makeBuildDir(getProject()); final DeploymentCreate.Response response = deploymentRequest( new DeploymentCommandLineArgs(getProject().getProperties()), mConfiguration, mStepIndex); + Files.write( getStatueFile().toPath(), Arrays.asList( diff --git a/buildSrc/src/main/java/deployment/DeploymentStatusRequestTask.java b/buildSrc/src/main/java/deployment/DeploymentStatusRequestTask.java index 3412f1fe2..df6eed23d 100644 --- a/buildSrc/src/main/java/deployment/DeploymentStatusRequestTask.java +++ b/buildSrc/src/main/java/deployment/DeploymentStatusRequestTask.java @@ -2,6 +2,7 @@ package deployment; import github.DeploymentStatus; import java.io.File; +import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.StandardOpenOption; @@ -9,6 +10,7 @@ import java.util.Arrays; import java.util.Locale; import javax.inject.Inject; import org.gradle.api.DefaultTask; +import org.gradle.api.Project; import org.gradle.api.tasks.Input; import org.gradle.api.tasks.OutputFile; import org.gradle.api.tasks.TaskAction; @@ -18,6 +20,14 @@ public abstract class DeploymentStatusRequestTask extends DefaultTask { private String mDeploymentId; private String mDeploymentState; + static void makeBuildDir(Project project) throws IOException { + File buildDir = project.getBuildDir(); + if (!buildDir.isDirectory() && !buildDir.mkdirs()) { + throw new IOException( + "Failed to create build output folder: " + buildDir.getAbsolutePath()); + } + } + @Inject public DeploymentStatusRequestTask() { setGroup("Publishing"); @@ -60,6 +70,7 @@ public abstract class DeploymentStatusRequestTask extends DefaultTask { @TaskAction public void statusAction() { try { + makeBuildDir(getProject()); final DeploymentStatus.Response response = statusRequest( new RequestCommandLineArgs(getProject().getProperties()), diff --git a/buildSrc/src/main/java/deployment/DeploymentSuccessRequestTask.java b/buildSrc/src/main/java/deployment/DeploymentSuccessRequestTask.java index be1be732c..8e673d62e 100644 --- a/buildSrc/src/main/java/deployment/DeploymentSuccessRequestTask.java +++ b/buildSrc/src/main/java/deployment/DeploymentSuccessRequestTask.java @@ -1,5 +1,7 @@ package deployment; +import static deployment.DeploymentStatusRequestTask.makeBuildDir; + import github.DeploymentStatus; import github.DeploymentsList; import java.io.File; @@ -59,6 +61,7 @@ public abstract class DeploymentSuccessRequestTask extends DefaultTask { public void statusAction() { final String processName = mEnvironmentName.substring(0, mEnvironmentName.indexOf('_') + 1); try { + makeBuildDir(getProject()); final RequestCommandLineArgs data = new RequestCommandLineArgs(getProject().getProperties()); final DeploymentsList.Response[] responses = listRequest(data, mEnvironmentSha); |
