diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant
index 3ec5b69db1f0..f5ceecb3f402 100644
--- a/build/scripts/layouts.gant
+++ b/build/scripts/layouts.gant
@@ -541,6 +541,9 @@ def layout_core_upsource(String home, String target) {
module("java-psi-impl")
module("projectModel-api")
module("projectModel-impl")
+ module("jps-model-api")
+ module("jps-model-impl")
+ module("jps-model-serialization")
module("java-indexing-api")
module("java-indexing-impl")
module("platform-resources")
diff --git a/jps/model-serialization/jps-model-serialization.iml b/jps/model-serialization/jps-model-serialization.iml
index 2ed39f108303..ea97a604eb15 100644
--- a/jps/model-serialization/jps-model-serialization.iml
+++ b/jps/model-serialization/jps-model-serialization.iml
@@ -11,7 +11,6 @@
-
diff --git a/platform/projectModel-api/src/com/intellij/openapi/application/PathMacroFilter.java b/jps/model-serialization/src/com/intellij/openapi/application/PathMacroFilter.java
similarity index 86%
rename from platform/projectModel-api/src/com/intellij/openapi/application/PathMacroFilter.java
rename to jps/model-serialization/src/com/intellij/openapi/application/PathMacroFilter.java
index eebacf597505..e5f4ca26e492 100644
--- a/platform/projectModel-api/src/com/intellij/openapi/application/PathMacroFilter.java
+++ b/jps/model-serialization/src/com/intellij/openapi/application/PathMacroFilter.java
@@ -15,7 +15,6 @@
*/
package com.intellij.openapi.application;
-import com.intellij.openapi.extensions.ExtensionPointName;
import org.jdom.Attribute;
import org.jdom.Text;
@@ -25,7 +24,6 @@ import org.jdom.Text;
* @author yole
*/
public abstract class PathMacroFilter {
- public static final ExtensionPointName EP_NAME = ExtensionPointName.create("com.intellij.pathMacroFilter");
public boolean skipPathMacros(Text element) {
return false;
diff --git a/platform/projectModel-impl/src/com/intellij/openapi/components/ExpandMacroToPathMap.java b/jps/model-serialization/src/com/intellij/openapi/components/ExpandMacroToPathMap.java
similarity index 100%
rename from platform/projectModel-impl/src/com/intellij/openapi/components/ExpandMacroToPathMap.java
rename to jps/model-serialization/src/com/intellij/openapi/components/ExpandMacroToPathMap.java
diff --git a/platform/projectModel-impl/src/com/intellij/openapi/components/PathMacroMap.java b/jps/model-serialization/src/com/intellij/openapi/components/PathMacroMap.java
similarity index 100%
rename from platform/projectModel-impl/src/com/intellij/openapi/components/PathMacroMap.java
rename to jps/model-serialization/src/com/intellij/openapi/components/PathMacroMap.java
diff --git a/platform/projectModel-impl/projectModel-impl.iml b/platform/projectModel-impl/projectModel-impl.iml
index fc703e1519f1..3bde48255eb4 100644
--- a/platform/projectModel-impl/projectModel-impl.iml
+++ b/platform/projectModel-impl/projectModel-impl.iml
@@ -11,6 +11,7 @@
+
diff --git a/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosCollector.java b/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosCollector.java
index 5ea334b17530..cddd4c824343 100644
--- a/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosCollector.java
+++ b/platform/projectModel-impl/src/com/intellij/application/options/PathMacrosCollector.java
@@ -19,6 +19,7 @@ import com.intellij.openapi.application.PathMacroFilter;
import com.intellij.openapi.application.PathMacros;
import com.intellij.openapi.components.CompositePathMacroFilter;
import com.intellij.openapi.components.PathMacroMap;
+import com.intellij.openapi.extensions.ExtensionPointName;
import com.intellij.openapi.extensions.Extensions;
import org.jdom.Element;
import org.jetbrains.annotations.NotNull;
@@ -34,6 +35,7 @@ import java.util.regex.Pattern;
* Date: Dec 6, 2004
*/
public class PathMacrosCollector extends PathMacroMap {
+ public static final ExtensionPointName MACRO_FILTER_EXTENSION_POINT_NAME = ExtensionPointName.create("com.intellij.pathMacroFilter");
public static final Pattern MACRO_PATTERN = Pattern.compile("\\$([\\w\\-\\.]+?)\\$");
private final Matcher myMatcher;
@@ -47,7 +49,7 @@ public class PathMacrosCollector extends PathMacroMap {
@NotNull
public static Set getMacroNames(@NotNull final Element e) {
- return getMacroNames(e, new CompositePathMacroFilter(Extensions.getExtensions(PathMacroFilter.EP_NAME)),
+ return getMacroNames(e, new CompositePathMacroFilter(Extensions.getExtensions(MACRO_FILTER_EXTENSION_POINT_NAME)),
PathMacros.getInstance());
}
diff --git a/platform/projectModel-impl/src/com/intellij/core/ProjectModel.java b/platform/projectModel-impl/src/com/intellij/core/ProjectModel.java
index 5ace583e7d7f..7b0f1ebbf863 100644
--- a/platform/projectModel-impl/src/com/intellij/core/ProjectModel.java
+++ b/platform/projectModel-impl/src/com/intellij/core/ProjectModel.java
@@ -15,6 +15,7 @@
*/
package com.intellij.core;
+import com.intellij.application.options.PathMacrosCollector;
import com.intellij.application.options.PathMacrosImpl;
import com.intellij.mock.MockProject;
import com.intellij.openapi.application.PathMacroFilter;
@@ -49,7 +50,7 @@ public class ProjectModel {
Extensions.registerAreaClass(ExtensionAreas.IDEA_MODULE, null);
CoreApplicationEnvironment.registerApplicationExtensionPoint(OrderRootType.EP_NAME, OrderRootType.class);
CoreApplicationEnvironment.registerApplicationExtensionPoint(SdkFinder.EP_NAME, SdkFinder.class);
- CoreApplicationEnvironment.registerApplicationExtensionPoint(PathMacroFilter.EP_NAME, PathMacroFilter.class);
+ CoreApplicationEnvironment.registerApplicationExtensionPoint(PathMacrosCollector.MACRO_FILTER_EXTENSION_POINT_NAME, PathMacroFilter.class);
env.registerApplicationComponent(PathMacros.class, createPathMacros());
env.getApplication().registerService(ProjectJdkTable.class, createProjectJdkTable());
env.getApplication().registerService(ApplicationLibraryTable.class, createApplicationLibraryTable());
diff --git a/platform/vcs-impl/vcs-impl.iml b/platform/vcs-impl/vcs-impl.iml
index d39d2beee80d..3655b5cdf1be 100644
--- a/platform/vcs-impl/vcs-impl.iml
+++ b/platform/vcs-impl/vcs-impl.iml
@@ -12,6 +12,7 @@
+