From 2f46eb0f99af24f4e91daae79fbcc572d3402bc6 Mon Sep 17 00:00:00 2001 From: Alexander Zolotov Date: Thu, 9 Dec 2021 19:01:09 +0100 Subject: [PATCH] [run configurations] use system independent path for while configuring working directory Most of getWorkingDir implementations use system dependent path (likely to show them in UI). It leads to some problems in Fleet as fsd system dependent paths are not recognized by `OSAgnosticPathUtil.isAbsolute` function (FL-10304). The change looks safe as `ProgramParametersConfigurator` operates with system independent path: getDefaultWorkingDir, join using "/". GitOrigin-RevId: 53aa3ff38d0f2b879f4d65fe71f5b8a23ed9ae3a --- .../execution/util/ProgramParametersConfigurator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platform/execution-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java b/platform/execution-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java index 410705c3176a..1405a428b5ab 100644 --- a/platform/execution-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java +++ b/platform/execution-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java @@ -24,6 +24,7 @@ import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.EnvironmentUtil; import com.intellij.util.IncorrectOperationException; +import com.intellij.util.PathUtil; import com.intellij.util.execution.ParametersListUtil; import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; @@ -147,10 +148,11 @@ public class ProgramParametersConfigurator { } } + @SystemIndependent public @Nullable String getWorkingDir(@NotNull CommonProgramRunConfigurationParameters configuration, @NotNull Project project, @Nullable Module module) { - String workingDirectory = configuration.getWorkingDirectory(); + String workingDirectory = PathUtil.toSystemIndependentName(configuration.getWorkingDirectory()); String projectDirectory = getDefaultWorkingDir(project); if (StringUtil.isEmptyOrSpaces(workingDirectory)) {