eclipse: clear model before applying; register module sources in dependencies list

This commit is contained in:
anna
2012-11-02 15:37:47 +01:00
parent d65b6be914
commit 80c294778b
2 changed files with 8 additions and 5 deletions
@@ -86,11 +86,9 @@ class JpsEclipseClasspathReader extends AbstractEclipseClasspathReader<JpsModule
Collection<String> unknownJdks,
EclipseModuleManager eclipseModuleManager,
String jdkName) {
if (jdkName == null) {
final JpsDependenciesList dependenciesList = rootModel.getDependenciesList();
dependenciesList.addSdkDependency(JpsJavaSdkType.INSTANCE);
}
else {
final JpsDependenciesList dependenciesList = rootModel.getDependenciesList();
dependenciesList.addSdkDependency(JpsJavaSdkType.INSTANCE);
if (jdkName != null) {
JpsSdkTableSerializer.setSdkReference(rootModel.getSdkReferencesTable(), jdkName, JpsJavaSdkType.INSTANCE);
}
}
@@ -235,6 +233,8 @@ class JpsEclipseClasspathReader extends AbstractEclipseClasspathReader<JpsModule
final JpsJavaModuleExtension extension = getService().getOrCreateModuleExtension(rootModel);
extension.setOutputUrl(pathToUrl(path));
extension.setInheritOutput(false);
rootModel.getDependenciesList().addModuleSourceDependency();
}
private static void setLibraryEntryExported(final JpsDependencyElement dependency, boolean exported) {
@@ -7,6 +7,7 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.idea.eclipse.EclipseXml;
import org.jetbrains.jps.model.module.JpsDependenciesList;
import org.jetbrains.jps.model.module.JpsModule;
import org.jetbrains.jps.model.serialization.JpsMacroExpander;
import org.jetbrains.jps.model.serialization.module.JpsModuleClasspathSerializer;
@@ -29,6 +30,8 @@ public class JpsEclipseClasspathSerializer extends JpsModuleClasspathSerializer
@Nullable String classpathDir,
@NotNull String baseModulePath,
JpsMacroExpander expander, List<String> paths) {
final JpsDependenciesList dependenciesList = module.getDependenciesList();
dependenciesList.clear();
try {
final Document document = JDOMUtil.loadDocument(new File(classpathDir, EclipseXml.DOT_CLASSPATH_EXT));
final JpsEclipseClasspathReader reader = new JpsEclipseClasspathReader(classpathDir, paths, new HashSet<String>());