diff --git a/compiler/tests/org/jetbrains/jet/JetTestUtils.java b/compiler/tests/org/jetbrains/jet/JetTestUtils.java index 30cd2acbcc6..05d161a6c80 100644 --- a/compiler/tests/org/jetbrains/jet/JetTestUtils.java +++ b/compiler/tests/org/jetbrains/jet/JetTestUtils.java @@ -24,7 +24,6 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.util.ShutDownTracker; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.CharsetToolkit; -import com.intellij.psi.PsiFile; import com.intellij.psi.PsiFileFactory; import com.intellij.psi.impl.PsiFileFactoryImpl; import com.intellij.testFramework.LightVirtualFile; @@ -349,14 +348,11 @@ public class JetTestUtils { return result.toString(); } - public static void compileJavaFile(@NotNull File file, @NotNull File outputDirectory) throws IOException { + public static void compileJavaFiles(@NotNull Collection files, List options) throws IOException { JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler(); StandardJavaFileManager fileManager = javaCompiler.getStandardFileManager(null, Locale.ENGLISH, Charset.forName("utf-8")); try { - Iterable javaFileObjectsFromFiles = fileManager.getJavaFileObjectsFromFiles(Collections.singleton(file)); - List options = Arrays.asList( - "-d", outputDirectory.getPath() - ); + Iterable javaFileObjectsFromFiles = fileManager.getJavaFileObjectsFromFiles(files); JavaCompiler.CompilationTask task = javaCompiler.getTask(null, fileManager, null, options, null, javaFileObjectsFromFiles); Assert.assertTrue(task.call()); diff --git a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java index 7857ca1c629..ab716d5bfac 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java +++ b/compiler/tests/org/jetbrains/jet/codegen/CodegenTestCase.java @@ -52,6 +52,8 @@ import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -267,9 +269,12 @@ public abstract class CodegenTestCase extends UsefulTestCase { protected void blackBoxFileWithJava(@NotNull String ktFile) throws Exception { File javaClassesTempDirectory = new File(FileUtil.getTempDirectory(), "java-classes"); JetTestUtils.mkdirs(javaClassesTempDirectory); - JetTestUtils.compileJavaFile( - new File("compiler/testData/codegen/" + ktFile.replaceFirst("\\.kt$", ".java")), - javaClassesTempDirectory); + List options = Arrays.asList( + "-d", javaClassesTempDirectory.getPath() + ); + + File javaFile = new File("compiler/testData/codegen/" + ktFile.replaceFirst("\\.kt$", ".java")); + JetTestUtils.compileJavaFiles(Collections.singleton(javaFile), options); myEnvironment = new JetCoreEnvironment(getTestRootDisposable(), CompileCompilerDependenciesTest.compilerConfigurationForTests( ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK, JetTestUtils.getAnnotationsJar(), javaClassesTempDirectory)); diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileJavaAgainstKotlinTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileJavaAgainstKotlinTest.java index ac5c7d369f6..0bb47af8265 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileJavaAgainstKotlinTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileJavaAgainstKotlinTest.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.jvm.compiler; import junit.framework.Test; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.JetTestCaseBuilder; +import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.test.TestCaseWithTmpdir; import org.junit.Assert; @@ -27,7 +28,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import static org.jetbrains.jet.jvm.compiler.LoadDescriptorUtil.compileJavaToDir; import static org.jetbrains.jet.jvm.compiler.LoadDescriptorUtil.compileKotlinToDirAndGetAnalyzeExhaust; /** @@ -62,7 +62,7 @@ public class CompileJavaAgainstKotlinTest extends TestCaseWithTmpdir { "-classpath", tmpdir.getPath() + System.getProperty("path.separator") + "out/production/stdlib", "-d", tmpdir.getPath() ); - compileJavaToDir(Collections.singleton(javaFile), options); + JetTestUtils.compileJavaFiles(Collections.singleton(javaFile), options); } public static Test suite() { diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadDescriptorUtil.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadDescriptorUtil.java index 8859a4e2394..70a1ee5d81a 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadDescriptorUtil.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/LoadDescriptorUtil.java @@ -119,27 +119,13 @@ public final class LoadDescriptorUtil { } private static void compileJavaWithAnnotationsJar(@NotNull Collection javaFiles, @NotNull File outDir) throws IOException { - compileJavaToDir(javaFiles, Arrays.asList( - "-classpath", "out/production/runtime" + File.pathSeparator + JetTestUtils.getAnnotationsJar().getPath(), + String classPath = "out/production/runtime" + File.pathSeparator + JetTestUtils.getAnnotationsJar().getPath(); + JetTestUtils.compileJavaFiles(javaFiles, Arrays.asList( + "-classpath", classPath, "-d", outDir.getPath() )); } - public static void compileJavaToDir(@NotNull Collection javaFiles, @NotNull List options) throws IOException { - JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler(); - - StandardJavaFileManager fileManager = javaCompiler.getStandardFileManager(null, Locale.ENGLISH, Charset.forName("utf-8")); - try { - Iterable javaFileObjectsFromFiles = fileManager.getJavaFileObjectsFromFiles(javaFiles); - JavaCompiler.CompilationTask task = javaCompiler.getTask(null, fileManager, null, options, null, javaFileObjectsFromFiles); - - Assert.assertTrue(task.call()); - } - finally { - fileManager.close(); - } - } - @NotNull public static NamespaceDescriptor analyzeKotlinAndLoadTestNamespace(@NotNull File ktFile, @NotNull Disposable disposable) throws Exception { JetFileAndExhaust fileAndExhaust = JetFileAndExhaust.createJetFileAndAnalyze(ktFile, disposable);