mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
jps model serialization: moves and renames
This commit is contained in:
@@ -3,6 +3,8 @@ package org.jetbrains.jps.model.serialization;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.jps.model.JpsGlobal;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
+4
@@ -10,6 +10,10 @@ import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.serialization.artifact.JpsArtifactPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.artifact.JpsPackagingElementSerializer;
|
||||
import org.jetbrains.jps.model.serialization.facet.JpsFacetConfigurationSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryRootTypeSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModulePropertiesSerializer;
|
||||
import org.jetbrains.jps.service.JpsServiceManager;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
+6
-1
@@ -12,6 +12,10 @@ import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.serialization.artifact.JpsArtifactSerializer;
|
||||
import org.jetbrains.jps.model.serialization.facet.JpsFacetSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModulePropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
@@ -162,7 +166,8 @@ public class JpsProjectLoader extends JpsLoaderBase {
|
||||
final String typeId = moduleRoot.getAttributeValue("type");
|
||||
final JpsModulePropertiesSerializer<?> serializer = getModulePropertiesSerializer(typeId);
|
||||
final JpsModule module = createModule(name, moduleRoot, serializer);
|
||||
JpsModuleSerializer.loadRootModel(module, JDomSerializationUtil.findComponent(moduleRoot, "NewModuleRootManager"), projectSdkType);
|
||||
JpsModuleRootModelSerializer
|
||||
.loadRootModel(module, JDomSerializationUtil.findComponent(moduleRoot, "NewModuleRootManager"), projectSdkType);
|
||||
final String moduleDirPath = file.getParent();
|
||||
JpsFacetSerializer.loadFacets(module, JDomSerializationUtil.findComponent(moduleRoot, "FacetManager"),
|
||||
FileUtil.toSystemIndependentName(moduleDirPath));
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@ import org.jetbrains.jps.model.artifact.*;
|
||||
import org.jetbrains.jps.model.artifact.elements.*;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
import org.jetbrains.jps.model.serialization.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
import org.jetbrains.jps.model.module.JpsDependencyElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
import org.jetbrains.jps.model.serialization.JpsLibraryRootTypeSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryRootTypeSerializer;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
import org.jetbrains.jps.model.serialization.JpsProjectExtensionSerializer;
|
||||
import org.jetbrains.jps.model.serialization.artifact.JpsPackagingElementSerializer;
|
||||
|
||||
+2
-1
@@ -1,9 +1,10 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.library;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryType;
|
||||
import org.jetbrains.jps.model.serialization.JpsElementPropertiesSerializer;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.library;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.library.JpsOrderRootType;
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.library;
|
||||
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import com.intellij.util.containers.MultiMap;
|
||||
@@ -10,6 +10,7 @@ import org.jetbrains.jps.model.java.JpsJavaLibraryType;
|
||||
import org.jetbrains.jps.model.library.*;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.module.JpsModuleReference;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
+2
-1
@@ -1,10 +1,11 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.library;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.serialization.JpsElementPropertiesSerializer;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
+2
-1
@@ -1,4 +1,4 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.library;
|
||||
|
||||
import com.intellij.openapi.util.JDOMUtil;
|
||||
import org.jdom.Element;
|
||||
@@ -14,6 +14,7 @@ import org.jetbrains.jps.model.library.sdk.JpsSdk;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
|
||||
import org.jetbrains.jps.model.module.JpsSdkReferencesTable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
+2
-1
@@ -1,10 +1,11 @@
|
||||
package org.jetbrains.jps.model.serialization;
|
||||
package org.jetbrains.jps.model.serialization.module;
|
||||
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.JpsElement;
|
||||
import org.jetbrains.jps.model.module.JpsModuleType;
|
||||
import org.jetbrains.jps.model.serialization.JpsElementPropertiesSerializer;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
+232
@@ -0,0 +1,232 @@
|
||||
package org.jetbrains.jps.model.serialization.module;
|
||||
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.jps.model.JpsCompositeElement;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsElementReference;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootProperties;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
import org.jetbrains.jps.model.java.JpsJavaSdkType;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.JpsLibraryReference;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkType;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
|
||||
import org.jetbrains.jps.model.module.*;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static com.intellij.openapi.util.JDOMUtil.getChildren;
|
||||
|
||||
/**
|
||||
* @author nik
|
||||
*/
|
||||
public class JpsModuleRootModelSerializer {
|
||||
public static final String URL_ATTRIBUTE = "url";
|
||||
public static final String CONTENT_TAG = "content";
|
||||
public static final String SOURCE_FOLDER_TAG = "sourceFolder";
|
||||
public static final String PACKAGE_PREFIX_ATTRIBUTE = "packagePrefix";
|
||||
public static final String IS_TEST_SOURCE_ATTRIBUTE = "isTestSource";
|
||||
public static final String EXCLUDE_FOLDER_TAG = "excludeFolder";
|
||||
public static final String ORDER_ENTRY_TAG = "orderEntry";
|
||||
public static final String TYPE_ATTRIBUTE = "type";
|
||||
public static final String SOURCE_FOLDER_TYPE = "sourceFolder";
|
||||
public static final String JDK_TYPE = "jdk";
|
||||
public static final String JDK_NAME_ATTRIBUTE = "jdkName";
|
||||
public static final String JDK_TYPE_ATTRIBUTE = "jdkType";
|
||||
public static final String INHERITED_JDK_TYPE = "inheritedJdk";
|
||||
public static final String LIBRARY_TYPE = "library";
|
||||
public static final String NAME_ATTRIBUTE = "name";
|
||||
public static final String LEVEL_ATTRIBUTE = "level";
|
||||
public static final String LIBRARY_TAG = "library";
|
||||
public static final String MODULE_LIBRARY_TYPE = "module-library";
|
||||
public static final String MODULE_TYPE = "module";
|
||||
public static final String MODULE_NAME_ATTRIBUTE = "module-name";
|
||||
private static final String GENERATED_LIBRARY_NAME_PREFIX = "#";
|
||||
|
||||
public static void loadRootModel(JpsModule module, Element rootModelComponent, JpsSdkType<?> projectSdkType) {
|
||||
for (Element contentElement : getChildren(rootModelComponent, CONTENT_TAG)) {
|
||||
final String url = contentElement.getAttributeValue(URL_ATTRIBUTE);
|
||||
module.getContentRootsList().addUrl(url);
|
||||
for (Element sourceElement : getChildren(contentElement, SOURCE_FOLDER_TAG)) {
|
||||
final String sourceUrl = sourceElement.getAttributeValue(URL_ATTRIBUTE);
|
||||
final String packagePrefix = StringUtil.notNullize(sourceElement.getAttributeValue(PACKAGE_PREFIX_ATTRIBUTE));
|
||||
final boolean testSource = Boolean.parseBoolean(sourceElement.getAttributeValue(IS_TEST_SOURCE_ATTRIBUTE));
|
||||
final JavaSourceRootType rootType = testSource ? JavaSourceRootType.TEST_SOURCE : JavaSourceRootType.SOURCE;
|
||||
module.addSourceRoot(sourceUrl, rootType, JpsElementFactory.getInstance().createSimpleElement(new JavaSourceRootProperties(packagePrefix)));
|
||||
}
|
||||
for (Element excludeElement : getChildren(contentElement, EXCLUDE_FOLDER_TAG)) {
|
||||
module.getExcludeRootsList().addUrl(excludeElement.getAttributeValue(URL_ATTRIBUTE));
|
||||
}
|
||||
}
|
||||
|
||||
final JpsDependenciesList dependenciesList = module.getDependenciesList();
|
||||
dependenciesList.clear();
|
||||
final JpsElementFactory elementFactory = JpsElementFactory.getInstance();
|
||||
int moduleLibraryNum = 0;
|
||||
for (Element orderEntry : getChildren(rootModelComponent, ORDER_ENTRY_TAG)) {
|
||||
String type = orderEntry.getAttributeValue(TYPE_ATTRIBUTE);
|
||||
if (SOURCE_FOLDER_TYPE.equals(type)) {
|
||||
dependenciesList.addModuleSourceDependency();
|
||||
}
|
||||
else if (JDK_TYPE.equals(type)) {
|
||||
String sdkName = orderEntry.getAttributeValue(JDK_NAME_ATTRIBUTE);
|
||||
String sdkTypeId = orderEntry.getAttributeValue(JDK_TYPE_ATTRIBUTE);
|
||||
final JpsSdkType<?> sdkType = JpsSdkTableSerializer.getSdkType(sdkTypeId);
|
||||
dependenciesList.addSdkDependency(sdkType);
|
||||
JpsSdkTableSerializer.setSdkReference(module.getSdkReferencesTable(), sdkName, sdkType);
|
||||
}
|
||||
else if (INHERITED_JDK_TYPE.equals(type)) {
|
||||
dependenciesList.addSdkDependency(projectSdkType != null ? projectSdkType : JpsJavaSdkType.INSTANCE);
|
||||
}
|
||||
else if (LIBRARY_TYPE.equals(type)) {
|
||||
String name = orderEntry.getAttributeValue(NAME_ATTRIBUTE);
|
||||
String level = orderEntry.getAttributeValue(LEVEL_ATTRIBUTE);
|
||||
final JpsLibraryDependency dependency =
|
||||
dependenciesList.addLibraryDependency(elementFactory.createLibraryReference(name, JpsLibraryTableSerializer
|
||||
.createLibraryTableReference(level)));
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
else if (MODULE_LIBRARY_TYPE.equals(type)) {
|
||||
final Element moduleLibraryElement = orderEntry.getChild(LIBRARY_TAG);
|
||||
String name = moduleLibraryElement.getAttributeValue(NAME_ATTRIBUTE);
|
||||
if (name == null) {
|
||||
name = GENERATED_LIBRARY_NAME_PREFIX + (moduleLibraryNum++);
|
||||
}
|
||||
final JpsLibrary library = JpsLibraryTableSerializer.loadLibrary(moduleLibraryElement, name);
|
||||
module.addModuleLibrary(library);
|
||||
|
||||
final JpsLibraryDependency dependency = dependenciesList.addLibraryDependency(library);
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
moduleLibraryNum++;
|
||||
}
|
||||
else if (MODULE_TYPE.equals(type)) {
|
||||
String name = orderEntry.getAttributeValue(MODULE_NAME_ATTRIBUTE);
|
||||
final JpsModuleDependency dependency = dependenciesList.addModuleDependency(elementFactory.createModuleReference(name));
|
||||
loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
}
|
||||
|
||||
for (JpsModelSerializerExtension extension : JpsModelSerializerExtension.getExtensions()) {
|
||||
extension.loadRootModel(module, rootModelComponent);
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveRootModel(JpsModule module, Element rootModelElement) {
|
||||
List<JpsModuleSourceRoot> sourceRoots = module.getSourceRoots();
|
||||
List<String> excludedUrls = getSortedList(module.getExcludeRootsList().getUrls());
|
||||
for (String url : getSortedList(module.getContentRootsList().getUrls())) {
|
||||
Element contentElement = new Element(CONTENT_TAG);
|
||||
contentElement.setAttribute(URL_ATTRIBUTE, url);
|
||||
rootModelElement.addContent(contentElement);
|
||||
for (JpsModuleSourceRoot root : sourceRoots) {
|
||||
if (FileUtil.startsWith(root.getUrl(), url)) {
|
||||
Element sourceElement = new Element(SOURCE_FOLDER_TAG);
|
||||
sourceElement.setAttribute(URL_ATTRIBUTE, root.getUrl());
|
||||
JpsModuleSourceRootType<?> type = root.getRootType();
|
||||
sourceElement.setAttribute(IS_TEST_SOURCE_ATTRIBUTE, Boolean.toString(type.equals(JavaSourceRootType.TEST_SOURCE)));
|
||||
if (type instanceof JavaSourceRootType) {
|
||||
JpsSimpleElement<JavaSourceRootProperties> properties = root.getProperties((JavaSourceRootType)type);
|
||||
if (properties != null) {
|
||||
String packagePrefix = properties.getData().getPackagePrefix();
|
||||
if (packagePrefix.length() > 0) {
|
||||
sourceElement.setAttribute(PACKAGE_PREFIX_ATTRIBUTE, packagePrefix);
|
||||
}
|
||||
}
|
||||
}
|
||||
contentElement.addContent(sourceElement);
|
||||
}
|
||||
}
|
||||
for (String excludedUrl : excludedUrls) {
|
||||
if (FileUtil.startsWith(excludedUrl, url)) {
|
||||
Element element = new Element(EXCLUDE_FOLDER_TAG).setAttribute(URL_ATTRIBUTE, excludedUrl);
|
||||
contentElement.addContent(element);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (JpsDependencyElement dependency : module.getDependenciesList().getDependencies()) {
|
||||
if (dependency instanceof JpsModuleSourceDependency) {
|
||||
rootModelElement.addContent(createDependencyElement(SOURCE_FOLDER_TYPE).setAttribute("forTests", "false"));
|
||||
}
|
||||
else if (dependency instanceof JpsSdkDependency) {
|
||||
JpsSdkType<?> sdkType = ((JpsSdkDependency)dependency).getSdkType();
|
||||
JpsSdkReferencesTable table = module.getSdkReferencesTable();
|
||||
JpsSdkReference<?> reference = table.getSdkReference(sdkType);
|
||||
if (reference == null) {
|
||||
rootModelElement.addContent(createDependencyElement(INHERITED_JDK_TYPE));
|
||||
}
|
||||
else {
|
||||
Element element = createDependencyElement(JDK_TYPE);
|
||||
element.setAttribute(JDK_NAME_ATTRIBUTE, reference.getSdkName());
|
||||
element.setAttribute(JDK_TYPE_ATTRIBUTE, JpsSdkTableSerializer.getLoader(sdkType).getTypeId());
|
||||
rootModelElement.addContent(element);
|
||||
}
|
||||
}
|
||||
else if (dependency instanceof JpsLibraryDependency) {
|
||||
JpsLibraryReference reference = ((JpsLibraryDependency)dependency).getLibraryReference();
|
||||
JpsElementReference<? extends JpsCompositeElement> parentReference = reference.getParentReference();
|
||||
Element element;
|
||||
if (parentReference instanceof JpsModuleReference) {
|
||||
element = createDependencyElement(MODULE_LIBRARY_TYPE);
|
||||
saveModuleDependencyProperties(dependency, element);
|
||||
Element libraryElement = new Element(LIBRARY_TAG);
|
||||
JpsLibrary library = reference.resolve();
|
||||
String libraryName = library.getName();
|
||||
JpsLibraryTableSerializer.saveLibrary(library, libraryElement, isGeneratedName(libraryName) ? null : libraryName);
|
||||
element.addContent(libraryElement);
|
||||
}
|
||||
else {
|
||||
element = createDependencyElement(LIBRARY_TYPE);
|
||||
saveModuleDependencyProperties(dependency, element);
|
||||
element.setAttribute(NAME_ATTRIBUTE, reference.getLibraryName());
|
||||
element.setAttribute(LEVEL_ATTRIBUTE, JpsLibraryTableSerializer.getLevelId(parentReference));
|
||||
}
|
||||
rootModelElement.addContent(element);
|
||||
}
|
||||
else if (dependency instanceof JpsModuleDependency) {
|
||||
Element element = createDependencyElement(MODULE_TYPE);
|
||||
element.setAttribute(MODULE_NAME_ATTRIBUTE, ((JpsModuleDependency)dependency).getModuleReference().getModuleName());
|
||||
saveModuleDependencyProperties(dependency, element);
|
||||
rootModelElement.addContent(element);
|
||||
}
|
||||
}
|
||||
|
||||
for (JpsModelSerializerExtension extension : JpsModelSerializerExtension.getExtensions()) {
|
||||
extension.saveRootModel(module, rootModelElement);
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean isGeneratedName(String libraryName) {
|
||||
return libraryName.startsWith(GENERATED_LIBRARY_NAME_PREFIX);
|
||||
}
|
||||
|
||||
private static Element createDependencyElement(final String type) {
|
||||
return new Element(ORDER_ENTRY_TAG).setAttribute(TYPE_ATTRIBUTE, type);
|
||||
}
|
||||
|
||||
private static List<String> getSortedList(final List<String> list) {
|
||||
List<String> strings = new ArrayList<String>(list);
|
||||
Collections.sort(strings);
|
||||
return strings;
|
||||
}
|
||||
|
||||
private static void loadModuleDependencyProperties(JpsDependencyElement dependency, Element orderEntry) {
|
||||
for (JpsModelSerializerExtension extension : JpsModelSerializerExtension.getExtensions()) {
|
||||
extension.loadModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
}
|
||||
|
||||
private static void saveModuleDependencyProperties(JpsDependencyElement dependency, Element orderEntry) {
|
||||
for (JpsModelSerializerExtension extension : JpsModelSerializerExtension.getExtensions()) {
|
||||
extension.saveModuleDependencyProperties(dependency, orderEntry);
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
@@ -5,6 +5,7 @@ import com.intellij.testFramework.PlatformTestUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jdom.JDOMException;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkTableSerializer;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
+3
-1
@@ -9,6 +9,8 @@ import org.jetbrains.jps.model.java.JpsJavaSdkType;
|
||||
import org.jetbrains.jps.model.library.JpsLibrary;
|
||||
import org.jetbrains.jps.model.library.sdk.JpsSdkReference;
|
||||
import org.jetbrains.jps.model.module.*;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsLibraryTableSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
@@ -91,7 +93,7 @@ public class JpsProjectSerializationTest extends JpsSerializationTestCase {
|
||||
private static void doTestSaveModule(JpsModule module, final String moduleFilePath) {
|
||||
try {
|
||||
Element actual = JDomSerializationUtil.createComponentElement("NewModuleRootManager");
|
||||
JpsModuleSerializer.saveRootModel(module, actual);
|
||||
JpsModuleRootModelSerializer.saveRootModel(module, actual);
|
||||
File imlFile = getFileInSampleProject(moduleFilePath);
|
||||
Element rootElement = loadModuleRootTag(imlFile);
|
||||
Element expected = JDomSerializationUtil.findComponent(rootElement, "NewModuleRootManager");
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
@@ -43,10 +43,10 @@ import java.util.*;
|
||||
public class ContentEntryImpl extends RootModelComponentBase implements ContentEntry, ClonableContentEntry, Comparable<ContentEntryImpl> {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.SimpleContentEntryImpl");
|
||||
@NotNull private final VirtualFilePointer myRoot;
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleSerializer.CONTENT_TAG;
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleRootModelSerializer.CONTENT_TAG;
|
||||
private final Set<SourceFolder> mySourceFolders = new LinkedHashSet<SourceFolder>();
|
||||
private final Set<ExcludeFolder> myExcludeFolders = new TreeSet<ExcludeFolder>(ContentFolderComparator.INSTANCE);
|
||||
@NonNls public static final String URL_ATTRIBUTE = JpsModuleSerializer.URL_ATTRIBUTE;
|
||||
@NonNls public static final String URL_ATTRIBUTE = JpsModuleRootModelSerializer.URL_ATTRIBUTE;
|
||||
|
||||
ContentEntryImpl(@NotNull VirtualFile file, @NotNull RootModelImpl m) {
|
||||
this(file.getUrl(), m);
|
||||
|
||||
+2
-2
@@ -27,13 +27,13 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
*/
|
||||
public abstract class ContentFolderBaseImpl extends RootModelComponentBase implements ContentFolder, Comparable<ContentFolderBaseImpl> {
|
||||
@NonNls public static final String URL_ATTRIBUTE = JpsModuleSerializer.URL_ATTRIBUTE;
|
||||
@NonNls public static final String URL_ATTRIBUTE = JpsModuleRootModelSerializer.URL_ATTRIBUTE;
|
||||
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.SimpleContentFolderBaseImpl");
|
||||
|
||||
|
||||
+2
-2
@@ -25,7 +25,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
@@ -33,7 +33,7 @@ import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
public class ExcludeFolderImpl extends ContentFolderBaseImpl implements ClonableContentFolder,
|
||||
UserDefinedExcludeFolder {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.SimpleExcludeFolderImpl");
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleSerializer.EXCLUDE_FOLDER_TAG;
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleRootModelSerializer.EXCLUDE_FOLDER_TAG;
|
||||
|
||||
ExcludeFolderImpl(@NotNull VirtualFile file, @NotNull ContentEntryImpl contentEntry) {
|
||||
super(file, contentEntry);
|
||||
|
||||
+2
-2
@@ -26,13 +26,13 @@ import com.intellij.openapi.util.WriteExternalException;
|
||||
import com.intellij.openapi.vfs.pointers.VirtualFilePointerManager;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
*/
|
||||
public class InheritedJdkOrderEntryImpl extends LibraryOrderEntryBaseImpl implements InheritedJdkOrderEntry, ClonableOrderEntry, WritableOrderEntry {
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleSerializer.INHERITED_JDK_TYPE;
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleRootModelSerializer.INHERITED_JDK_TYPE;
|
||||
private final MyJdkTableListener myJdkTableListener = new MyJdkTableListener();
|
||||
private final MyProjectJdkListener myListener = new MyProjectJdkListener();
|
||||
|
||||
|
||||
+4
-4
@@ -30,7 +30,7 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
import org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension;
|
||||
|
||||
/**
|
||||
@@ -42,9 +42,9 @@ class LibraryOrderEntryImpl extends LibraryOrderEntryBaseImpl implements Library
|
||||
@Nullable private String myLibraryName; // is non-null if myLibrary == null
|
||||
@Nullable private String myLibraryLevel; // is non-null if myLibraryLevel == null
|
||||
private boolean myExported;
|
||||
@NonNls static final String ENTRY_TYPE = JpsModuleSerializer.LIBRARY_TYPE;
|
||||
@NonNls private static final String NAME_ATTR = JpsModuleSerializer.NAME_ATTRIBUTE;
|
||||
@NonNls private static final String LEVEL_ATTR = JpsModuleSerializer.LEVEL_ATTRIBUTE;
|
||||
@NonNls static final String ENTRY_TYPE = JpsModuleRootModelSerializer.LIBRARY_TYPE;
|
||||
@NonNls private static final String NAME_ATTR = JpsModuleRootModelSerializer.NAME_ATTRIBUTE;
|
||||
@NonNls private static final String LEVEL_ATTR = JpsModuleRootModelSerializer.LEVEL_ATTRIBUTE;
|
||||
private final MyOrderEntryLibraryTableListener myLibraryListener = new MyOrderEntryLibraryTableListener();
|
||||
@NonNls private static final String EXPORTED_ATTR = JpsJavaModelSerializerExtension.EXPORTED_ATTRIBUTE;
|
||||
|
||||
|
||||
+4
-4
@@ -30,7 +30,7 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
@@ -39,9 +39,9 @@ public class ModuleJdkOrderEntryImpl extends LibraryOrderEntryBaseImpl implement
|
||||
ClonableOrderEntry,
|
||||
ModuleJdkOrderEntry,
|
||||
ProjectJdkTable.Listener {
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleSerializer.JDK_TYPE;
|
||||
@NonNls public static final String JDK_NAME_ATTR = JpsModuleSerializer.JDK_NAME_ATTRIBUTE;
|
||||
@NonNls public static final String JDK_TYPE_ATTR = JpsModuleSerializer.JDK_TYPE_ATTRIBUTE;
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleRootModelSerializer.JDK_TYPE;
|
||||
@NonNls public static final String JDK_NAME_ATTR = JpsModuleRootModelSerializer.JDK_NAME_ATTRIBUTE;
|
||||
@NonNls public static final String JDK_TYPE_ATTR = JpsModuleRootModelSerializer.JDK_TYPE_ATTRIBUTE;
|
||||
|
||||
@Nullable private Sdk myJdk;
|
||||
private String myJdkName;
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@ import com.intellij.util.PathUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
import org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension;
|
||||
|
||||
/**
|
||||
@@ -40,7 +40,7 @@ import org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtensio
|
||||
public class ModuleLibraryOrderEntryImpl extends LibraryOrderEntryBaseImpl implements LibraryOrderEntry, ClonableOrderEntry, WritableOrderEntry {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.LibraryOrderEntryImpl");
|
||||
private final Library myLibrary;
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleSerializer.MODULE_LIBRARY_TYPE;
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleRootModelSerializer.MODULE_LIBRARY_TYPE;
|
||||
private boolean myExported;
|
||||
@NonNls public static final String EXPORTED_ATTR = JpsJavaModelSerializerExtension.EXPORTED_ATTRIBUTE;
|
||||
|
||||
|
||||
+3
-3
@@ -29,15 +29,15 @@ import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
import org.jetbrains.jps.model.serialization.java.JpsJavaModelSerializerExtension;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
*/
|
||||
public class ModuleOrderEntryImpl extends OrderEntryBaseImpl implements ModuleOrderEntry, WritableOrderEntry, ClonableOrderEntry {
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleSerializer.MODULE_TYPE;
|
||||
@NonNls public static final String MODULE_NAME_ATTR = JpsModuleSerializer.MODULE_NAME_ATTRIBUTE;
|
||||
@NonNls public static final String ENTRY_TYPE = JpsModuleRootModelSerializer.MODULE_TYPE;
|
||||
@NonNls public static final String MODULE_NAME_ATTR = JpsModuleRootModelSerializer.MODULE_NAME_ATTRIBUTE;
|
||||
@NonNls private static final String EXPORTED_ATTR = JpsJavaModelSerializerExtension.EXPORTED_ATTRIBUTE;
|
||||
|
||||
private final ModulePointer myModulePointer;
|
||||
|
||||
+2
-2
@@ -27,7 +27,7 @@ import com.intellij.util.ArrayUtil;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -35,7 +35,7 @@ import java.util.ArrayList;
|
||||
* @author dsl
|
||||
*/
|
||||
public class ModuleSourceOrderEntryImpl extends OrderEntryBaseImpl implements ModuleSourceOrderEntry, WritableOrderEntry, ClonableOrderEntry {
|
||||
@NonNls static final String ENTRY_TYPE = JpsModuleSerializer.SOURCE_FOLDER_TYPE;
|
||||
@NonNls static final String ENTRY_TYPE = JpsModuleRootModelSerializer.SOURCE_FOLDER_TYPE;
|
||||
@NonNls private static final String ATTRIBUTE_FOR_TESTS = "forTests";
|
||||
|
||||
ModuleSourceOrderEntryImpl(RootModelImpl rootModel) {
|
||||
|
||||
+3
-3
@@ -21,15 +21,15 @@ import com.intellij.openapi.roots.OrderEntry;
|
||||
import com.intellij.openapi.util.InvalidDataException;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
*/
|
||||
public class OrderEntryFactory {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.OrderEntryFactory");
|
||||
@NonNls public static final String ORDER_ENTRY_ELEMENT_NAME = JpsModuleSerializer.ORDER_ENTRY_TAG;
|
||||
@NonNls public static final String ORDER_ENTRY_TYPE_ATTR = JpsModuleSerializer.TYPE_ATTRIBUTE;
|
||||
@NonNls public static final String ORDER_ENTRY_ELEMENT_NAME = JpsModuleRootModelSerializer.ORDER_ENTRY_TAG;
|
||||
@NonNls public static final String ORDER_ENTRY_TYPE_ATTR = JpsModuleRootModelSerializer.TYPE_ATTRIBUTE;
|
||||
|
||||
static OrderEntry createOrderEntryByElement(Element element, RootModelImpl rootModel, ProjectRootManagerImpl projectRootManager) throws InvalidDataException {
|
||||
LOG.assertTrue(ORDER_ENTRY_ELEMENT_NAME.equals(element.getName()));
|
||||
|
||||
+5
-5
@@ -25,7 +25,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import org.jdom.Element;
|
||||
import org.jetbrains.annotations.NonNls;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer;
|
||||
|
||||
/**
|
||||
* @author dsl
|
||||
@@ -33,8 +33,8 @@ import org.jetbrains.jps.model.serialization.JpsModuleSerializer;
|
||||
public class SourceFolderImpl extends ContentFolderBaseImpl implements SourceFolder, ClonableContentFolder {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.openapi.roots.impl.SimpleSourceFolderImpl");
|
||||
private final boolean myIsTestSource;
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleSerializer.SOURCE_FOLDER_TAG;
|
||||
@NonNls public static final String TEST_SOURCE_ATTR = JpsModuleSerializer.IS_TEST_SOURCE_ATTRIBUTE;
|
||||
@NonNls public static final String ELEMENT_NAME = JpsModuleRootModelSerializer.SOURCE_FOLDER_TAG;
|
||||
@NonNls public static final String TEST_SOURCE_ATTR = JpsModuleRootModelSerializer.IS_TEST_SOURCE_ATTRIBUTE;
|
||||
private String myPackagePrefix;
|
||||
static final String DEFAULT_PACKAGE_PREFIX = "";
|
||||
|
||||
@@ -60,7 +60,7 @@ public class SourceFolderImpl extends ContentFolderBaseImpl implements SourceFol
|
||||
final String testSource = element.getAttributeValue(TEST_SOURCE_ATTR);
|
||||
if (testSource == null) throw new InvalidDataException();
|
||||
myIsTestSource = Boolean.valueOf(testSource).booleanValue();
|
||||
final String packagePrefix = element.getAttributeValue(JpsModuleSerializer.PACKAGE_PREFIX_ATTRIBUTE);
|
||||
final String packagePrefix = element.getAttributeValue(JpsModuleRootModelSerializer.PACKAGE_PREFIX_ATTRIBUTE);
|
||||
if (packagePrefix != null) {
|
||||
myPackagePrefix = packagePrefix;
|
||||
}
|
||||
@@ -94,7 +94,7 @@ public class SourceFolderImpl extends ContentFolderBaseImpl implements SourceFol
|
||||
writeFolder(element, ELEMENT_NAME);
|
||||
element.setAttribute(TEST_SOURCE_ATTR, Boolean.toString(myIsTestSource));
|
||||
if (!DEFAULT_PACKAGE_PREFIX.equals(myPackagePrefix)) {
|
||||
element.setAttribute(JpsModuleSerializer.PACKAGE_PREFIX_ATTRIBUTE, myPackagePrefix);
|
||||
element.setAttribute(JpsModuleRootModelSerializer.PACKAGE_PREFIX_ATTRIBUTE, myPackagePrefix);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.module.JpsModule;
|
||||
import org.jetbrains.jps.model.serialization.JpsModelSerializerExtension;
|
||||
import org.jetbrains.jps.model.serialization.JpsSdkPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.facet.JpsFacetConfigurationSerializer;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
+2
-2
@@ -26,8 +26,8 @@ import org.jetbrains.jps.devkit.model.JpsPluginModuleType;
|
||||
import org.jetbrains.jps.model.JpsElementFactory;
|
||||
import org.jetbrains.jps.model.JpsSimpleElement;
|
||||
import org.jetbrains.jps.model.serialization.*;
|
||||
import org.jetbrains.jps.model.serialization.JpsModulePropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.JpsSdkPropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.module.JpsModulePropertiesSerializer;
|
||||
import org.jetbrains.jps.model.serialization.library.JpsSdkPropertiesSerializer;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
Reference in New Issue
Block a user