leftover stuff

This commit is contained in:
Dmitry Jemerov
2009-09-01 19:07:35 +04:00
parent 707f6bf34c
commit cd22f19f3e
3 changed files with 3 additions and 35 deletions
@@ -8,7 +8,6 @@ import com.intellij.compiler.CompilerConfiguration;
import com.intellij.compiler.CompilerConfigurationImpl;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.compiler.ex.CompileContextEx;
import com.intellij.openapi.compiler.ex.CompilerPathsEx;
import com.intellij.openapi.module.LanguageLevelUtil;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.project.Project;
@@ -174,7 +173,7 @@ public class ModuleChunk extends Chunk<Module> {
final OrderedSet<VirtualFile> cpFiles = new OrderedSet<VirtualFile>(TObjectHashingStrategy.CANONICAL);
for (final Module module : modules) {
final OrderEntry[] orderEntries = CompilerPathsEx.getOrderEntries(module);
final OrderEntry[] orderEntries = ModuleRootManager.getInstance(module).getOrderEntries();
boolean skip = true;
for (OrderEntry orderEntry : orderEntries) {
if (orderEntry instanceof JdkOrderEntry) {
@@ -201,7 +200,7 @@ public class ModuleChunk extends Chunk<Module> {
final OrderedSet<VirtualFile> cpFiles = new OrderedSet<VirtualFile>(TObjectHashingStrategy.CANONICAL);
final OrderedSet<VirtualFile> jdkFiles = new OrderedSet<VirtualFile>(TObjectHashingStrategy.CANONICAL);
for (final Module module : modules) {
final OrderEntry[] orderEntries = CompilerPathsEx.getOrderEntries(module);
final OrderEntry[] orderEntries = ModuleRootManager.getInstance(module).getOrderEntries();
for (OrderEntry orderEntry : orderEntries) {
if (orderEntry instanceof JdkOrderEntry) {
jdkFiles.addAll(Arrays.asList(orderEntry.getFiles(OrderRootType.CLASSES)));
@@ -12,7 +12,6 @@ import com.intellij.compiler.make.MakeUtil;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.compiler.*;
import com.intellij.openapi.compiler.ex.CompileContextEx;
import com.intellij.openapi.compiler.ex.CompilerPathsEx;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.progress.ProgressIndicator;
@@ -369,7 +368,7 @@ public class RmicCompiler implements ClassPostProcessingCompiler{
private static String getCompilationClasspath(Module module) {
final StringBuilder classpathBuffer = StringBuilderSpinAllocator.alloc();
try {
final OrderEntry[] orderEntries = CompilerPathsEx.getOrderEntries(module);
final OrderEntry[] orderEntries = ModuleRootManager.getInstance(module).getOrderEntries();
final Set<VirtualFile> processedFiles = new HashSet<VirtualFile>();
for (final OrderEntry orderEntry : orderEntries) {
if (orderEntry instanceof JdkOrderEntry) {
@@ -0,0 +1,104 @@
package com.intellij.openapi.compiler.ex;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.compiler.CompilerPaths;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.CompilerModuleExtension;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.VirtualFileManager;
import com.intellij.util.ArrayUtil;
import com.intellij.util.StringBuilderSpinAllocator;
import com.intellij.util.containers.OrderedSet;
import gnu.trove.TObjectHashingStrategy;
import java.io.File;
import java.util.Set;
public class CompilerPathsEx extends CompilerPaths {
public static File getZippedOutputPath(Project project, String outputDirectoryPath) {
final File outputDir = new File(outputDirectoryPath);
return new File(getZipStoreDirectory(project), "_" + outputDir.getName() + Integer.toHexString(outputDirectoryPath.hashCode()) + ".zip");
}
public static File getZipStoreDirectory(Project project) {
return new File(getCompilerSystemDirectory(project), ".zip");
}
public static class FileVisitor {
protected void accept(final VirtualFile file, final String fileRoot, final String filePath) {
if (file.isDirectory()) {
acceptDirectory(file, fileRoot, filePath);
}
else {
acceptFile(file, fileRoot, filePath);
}
}
protected void acceptFile(VirtualFile file, String fileRoot, String filePath) {
}
protected void acceptDirectory(final VirtualFile file, final String fileRoot, final String filePath) {
ProgressManager.getInstance().checkCanceled();
final VirtualFile[] children = file.getChildren();
for (final VirtualFile child : children) {
final String name = child.getName();
final String _filePath;
final StringBuilder buf = StringBuilderSpinAllocator.alloc();
try {
buf.append(filePath).append("/").append(name);
_filePath = buf.toString();
}
finally {
StringBuilderSpinAllocator.dispose(buf);
}
accept(child, fileRoot, _filePath);
}
}
}
public static void visitFiles(final VirtualFile[] directories, final FileVisitor visitor) {
for (final VirtualFile outputDir : directories) {
ApplicationManager.getApplication().runReadAction(new Runnable() {
public void run() {
final String path = outputDir.getPath();
visitor.accept(outputDir, path, path);
}
});
}
}
public static String[] getOutputPaths(Module[] modules) {
final Set<String> outputPaths = new OrderedSet<String>((TObjectHashingStrategy<String>)TObjectHashingStrategy.CANONICAL);
for (Module module : modules) {
final CompilerModuleExtension compilerModuleExtension = CompilerModuleExtension.getInstance(module);
String outputPathUrl = compilerModuleExtension.getCompilerOutputUrl();
if (outputPathUrl != null) {
outputPaths.add(VirtualFileManager.extractPath(outputPathUrl).replace('/', File.separatorChar));
}
String outputPathForTestsUrl = compilerModuleExtension.getCompilerOutputUrlForTests();
if (outputPathForTestsUrl != null) {
outputPaths.add(VirtualFileManager.extractPath(outputPathForTestsUrl).replace('/', File.separatorChar));
}
}
return ArrayUtil.toStringArray(outputPaths);
}
public static VirtualFile[] getOutputDirectories(final Module[] modules) {
final Set<VirtualFile> dirs = new OrderedSet<VirtualFile>((TObjectHashingStrategy<VirtualFile>)TObjectHashingStrategy.CANONICAL);
for (Module module : modules) {
final VirtualFile outputDir = getModuleOutputDirectory(module, false);
if (outputDir != null) {
dirs.add(outputDir);
}
VirtualFile testsOutputDir = getModuleOutputDirectory(module, true);
if (testsOutputDir != null) {
dirs.add(testsOutputDir);
}
}
return dirs.toArray(new VirtualFile[dirs.size()]);
}
}