import com.intellij.openapi.roots.ModuleRootManager;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NonNls;
import java.io.File;
-import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;
args.add(junitLibRoot);
}
- final File[] files = new File(appPath, SRC).listFiles(new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- return name.endsWith(".java");
- }
- });
+ final File[] files = new File(appPath, SRC).listFiles(FileUtilRt.createFilterByExtension("java"));
if (files == null) return 0; // Nothing to compile
for (File file : files) {
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.Pair;
-import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.io.FileUtil;
+import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.SystemProperties;
import com.intellij.util.concurrency.SequentialTaskExecutor;
import org.jetbrains.jps.service.JpsServiceManager;
import org.jetbrains.jps.service.SharedThreadPool;
-import javax.tools.Diagnostic;
-import javax.tools.JavaFileObject;
+import javax.tools.*;
import java.io.*;
import java.net.ServerSocket;
import java.util.*;
private static final Logger LOG = Logger.getInstance("#org.jetbrains.jps.incremental.java.JavaBuilder");
public static final String BUILDER_NAME = "java";
private static final String JAVA_EXTENSION = "java";
- private static final String DOT_JAVA_EXTENSION = "." + JAVA_EXTENSION;
private static final Key<Integer> JAVA_COMPILER_VERSION_KEY = Key.create("_java_compiler_version_");
public static final Key<Boolean> IS_ENABLED = Key.create("_java_compiler_enabled_");
private static final Key<JavaCompilingTool> COMPILING_TOOL = Key.create("_java_compiling_tool_");
"-g", "-deprecation", "-nowarn", "-verbose", "-proc:none", "-proc:only", "-proceedOnError"
));
- public static final FileFilter JAVA_SOURCES_FILTER =
- SystemInfo.isFileSystemCaseSensitive?
- new FileFilter() {
- public boolean accept(File file) {
- return file.getPath().endsWith(DOT_JAVA_EXTENSION);
- }
- } :
- new FileFilter() {
- public boolean accept(File file) {
- return StringUtil.endsWithIgnoreCase(file.getPath(), DOT_JAVA_EXTENSION);
- }
- };
+ public static final FileFilter JAVA_SOURCES_FILTER = FileUtilRt.createFilterByExtension(JAVA_EXTENSION);
private static final String RT_JAR_PATH_SUFFIX = File.separator + "rt.jar";
private final Executor myTaskRunner;
}
}
+ public static FileFilter createFilterByExtension(@NotNull final String extension) {
+ return new FileFilter() {
+ @Override
+ public boolean accept(File pathname) {
+ return extensionEquals(pathname.getPath(), extension);
+ }
+ };
+ }
+
@NotNull
public static String getExtension(@NotNull String fileName) {
int index = fileName.lastIndexOf('.');
return fileName.subSequence(index + 1, fileName.length());
}
- public static boolean extensionEquals(@NotNull String fileName, @NotNull String extension) {
+ public static boolean extensionEquals(@NotNull String filePath, @NotNull String extension) {
int extLen = extension.length();
if (extLen == 0) {
- return fileName.indexOf('.') == -1;
+ int lastSlash = Math.max(filePath.lastIndexOf('/'), filePath.lastIndexOf('\\'));
+ return filePath.indexOf('.', lastSlash+1) == -1;
}
- int extStart = fileName.length() - extLen;
- return extStart >= 1 && fileName.charAt(extStart-1) == '.'
- && fileName.regionMatches(!SystemInfoRt.isFileSystemCaseSensitive, extStart, extension, 0, extLen);
+ int extStart = filePath.length() - extLen;
+ return extStart >= 1 && filePath.charAt(extStart-1) == '.'
+ && filePath.regionMatches(!SystemInfoRt.isFileSystemCaseSensitive, extStart, extension, 0, extLen);
}
@NotNull