eclipse: reorder module src entry (IDEA-48111)

This commit is contained in:
anna
2010-03-25 19:16:31 +03:00
parent 50f78d6405
commit abd3443fb7
4 changed files with 43 additions and 3 deletions
@@ -155,6 +155,7 @@ public class EclipseClasspathReader {
}
else {
getContentEntry().addSourceFolder(VfsUtil.pathToUrl(myRootPath + "/" + path), testPattern != null && testPattern.length() > 0 && path.matches(testPattern));
rearrangeOrderEntryOfType(rootModel, ModuleSourceOrderEntry.class);
}
}
@@ -266,9 +267,7 @@ public class EclipseClasspathReader {
unknownJdks.add(jdkName);
}
}
OrderEntry[] orderEntries = rootModel.getOrderEntries();
orderEntries = ArrayUtil.append(orderEntries, orderEntries[0]);
rootModel.rearrangeOrderEntries(ArrayUtil.remove(orderEntries, 0));
rearrangeOrderEntryOfType(rootModel, JdkOrderEntry.class);
}
else if (path.startsWith(EclipseXml.USER_LIBRARY)) {
addNamedLibrary(rootModel, unknownLibraries, exported, getPresentableName(path), LibraryTablesRegistrar.PROJECT_LEVEL);
@@ -289,6 +288,19 @@ public class EclipseClasspathReader {
}
}
private static void rearrangeOrderEntryOfType(ModifiableRootModel rootModel, Class<? extends OrderEntry> orderEntryClass) {
OrderEntry[] orderEntries = rootModel.getOrderEntries();
int moduleSourcesIdx = 0;
for (OrderEntry orderEntry : orderEntries) {
if (orderEntryClass.isAssignableFrom(orderEntry.getClass())) {
break;
}
moduleSourcesIdx++;
}
orderEntries = ArrayUtil.append(orderEntries, orderEntries[moduleSourcesIdx]);
rootModel.rearrangeOrderEntries(ArrayUtil.remove(orderEntries, moduleSourcesIdx));
}
public static void setupOutput(ModifiableRootModel rootModel, final String path) {
final CompilerModuleExtension compilerModuleExtension = rootModel.getModuleExtension(CompilerModuleExtension.class);
compilerModuleExtension.setCompilerOutputPath(VfsUtil.pathToUrl(path));
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path=""/>
<classpathentry kind="output" path=""/>
</classpath>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>root</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
@@ -206,4 +206,9 @@ public class EclipseClasspathTest extends IdeaTestCase {
doTest();
}
public void testSourcesAfterAll() throws Exception {
doTest();
}
}