diff --git a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/PathMacroUtil.java b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/PathMacroUtil.java index b12645cb76fe..da60bda7c3ad 100644 --- a/jps/model-serialization/src/org/jetbrains/jps/model/serialization/PathMacroUtil.java +++ b/jps/model-serialization/src/org/jetbrains/jps/model/serialization/PathMacroUtil.java @@ -23,7 +23,8 @@ public class PathMacroUtil { @NonNls public static final String MODULE_DIR_MACRO_NAME = "MODULE_DIR"; public static final String DEPRECATED_MODULE_DIR = "$" + MODULE_DIR_MACRO_NAME + "$"; - public static final String MODULE_WORKING_DIR = "$MODULE_WORKING_DIR$"; + public static final String MODULE_WORKING_DIR_NAME = "MODULE_WORKING_DIR"; + public static final String MODULE_WORKING_DIR = "$" + MODULE_WORKING_DIR_NAME + "$"; @NonNls public static final String DIRECTORY_STORE_NAME = ".idea"; @NonNls public static final String APPLICATION_HOME_DIR = "APPLICATION_HOME_DIR"; diff --git a/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosImpl.java b/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosImpl.java index 09b908b46fb7..15fc38a1a4fd 100644 --- a/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosImpl.java +++ b/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosImpl.java @@ -46,6 +46,7 @@ public class PathMacrosImpl extends PathMacros implements PersistentStateCompone SYSTEM_MACROS.add(PathMacroUtil.APPLICATION_HOME_DIR); SYSTEM_MACROS.add(PathMacroUtil.APPLICATION_PLUGINS_DIR); SYSTEM_MACROS.add(PathMacroUtil.PROJECT_DIR_MACRO_NAME); + SYSTEM_MACROS.add(PathMacroUtil.MODULE_WORKING_DIR_NAME); SYSTEM_MACROS.add(PathMacroUtil.MODULE_DIR_MACRO_NAME); SYSTEM_MACROS.add(PathMacroUtil.USER_HOME_NAME); } diff --git a/platform/projectModel-impl/src/com/intellij/openapi/components/impl/TrackingPathMacroSubstitutorImpl.kt b/platform/projectModel-impl/src/com/intellij/openapi/components/impl/TrackingPathMacroSubstitutorImpl.kt index 9a5c83614dea..88fc5e2934e4 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/components/impl/TrackingPathMacroSubstitutorImpl.kt +++ b/platform/projectModel-impl/src/com/intellij/openapi/components/impl/TrackingPathMacroSubstitutorImpl.kt @@ -1,8 +1,10 @@ +// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. package com.intellij.openapi.components.impl import com.intellij.openapi.components.PathMacroSubstitutor import com.intellij.openapi.components.TrackingPathMacroSubstitutor import com.intellij.openapi.diagnostic.Logger +import com.intellij.openapi.diagnostic.debug import com.intellij.util.containers.MultiMap import com.intellij.util.containers.SmartHashSet import com.intellij.util.containers.isNullOrEmpty @@ -59,7 +61,7 @@ internal class TrackingPathMacroSubstitutorImpl(private val macroManager: BasePa return } - LOG.debug("Registering unknown macros ${unknownMacros.joinToString(", ")} in component $componentName") + LOG.debug { "Registering unknown macros ${unknownMacros.joinToString(", ")} in component $componentName" } synchronized(lock) { for (unknownMacro in unknownMacros) { diff --git a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java index d18459753779..b1749d635a2c 100644 --- a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java +++ b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java @@ -25,6 +25,7 @@ import com.intellij.openapi.options.SettingsEditorGroup; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.*; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.*; import com.intellij.psi.util.ClassUtil; @@ -673,7 +674,7 @@ public class JUnitConfiguration extends JavaTestConfigurationBase { } public void setWorkingDirectory(String value) { - WORKING_DIRECTORY = ExternalizablePath.urlValue(value); + WORKING_DIRECTORY = StringUtil.isEmptyOrSpaces(value) ? "" : FileUtilRt.toSystemIndependentName(value.trim()); } public void setUniqueIds(String... uniqueId) { diff --git a/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java b/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java index 6785dbe5387b..c6b40ed7635f 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java +++ b/plugins/testng/src/com/theoryinpractice/testng/model/TestData.java @@ -9,6 +9,7 @@ import com.intellij.execution.junit2.info.MethodLocation; import com.intellij.execution.testframework.TestSearchScope; import com.intellij.openapi.module.Module; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.io.FileUtilRt; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiMethod; @@ -100,7 +101,7 @@ public class TestData implements Cloneable } public void setWorkingDirectory(String value) { - WORKING_DIRECTORY = ExternalizablePath.urlValue(value); + WORKING_DIRECTORY = StringUtil.isEmptyOrSpaces(value) ? "" : FileUtilRt.toSystemIndependentName(value.trim()); } public String getWorkingDirectory() {