diff --git a/src/com/qualisystems/pythonDriverPlugin/QualiPublishDriverAction.java b/src/com/qualisystems/pythonDriverPlugin/QualiPublishDriverAction.java index dcd02ea..e643169 100644 --- a/src/com/qualisystems/pythonDriverPlugin/QualiPublishDriverAction.java +++ b/src/com/qualisystems/pythonDriverPlugin/QualiPublishDriverAction.java @@ -111,10 +111,20 @@ public void run(@NotNull ProgressIndicator progressIndicator) { }); } - private File zipProjectFolder(String directory, DriverPublisherSettings settings) throws IOException { + private File zipProjectFolder(String directory, DriverPublisherSettings settings) throws Exception { Map extras = new HashMap<>(); + if (settings.sourceRootFolder != null && !settings.sourceRootFolder.isEmpty()) { + + Path sourceFolder = Paths.get(directory, settings.sourceRootFolder); + + if (!Files.exists(sourceFolder)) + throw new Exception(String.format("Couldn't find specified source folder \"%s\" as in \"%s\"", settings.sourceRootFolder, sourceFolder.toString())); + + directory = sourceFolder.toString(); + } + if (settings.runFromLocalProject) { String debugSettingsFileContent = String.format(DebugSettingsFormatString, directory, Boolean.toString(settings.waitForDebugger)); @@ -126,9 +136,6 @@ private File zipProjectFolder(String directory, DriverPublisherSettings settings Path deploymentFilePath = Paths.get(directory, "deployment", settings.driverUniqueName + ".zip"); - if (settings.sourceRootFolder != null && !settings.sourceRootFolder.isEmpty()) - directory = Paths.get(directory, settings.sourceRootFolder).toString(); - zipHelper.zipDir(directory, deploymentFilePath.toString()); return deploymentFilePath.toFile();