diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala index c77e3dbcd..5dbe943a3 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/CompileTestUtils.scala @@ -8,41 +8,35 @@ import scala.io.Source.fromFile import java.io.File import java.io.File.pathSeparator +import scala.tools.nsc.reporters.{ConsoleReporter, Reporter} + object CompileTestUtils { - private object env extends Settings { - - private def jarPathOfClass(className: String) = { - Class.forName(className).getProtectionDomain.getCodeSource.getLocation - } - - val currentLibraries = this.getClass.getClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.toList - val cp = jarPathOfClass("scala.tools.nsc.Interpreter") :: jarPathOfClass("scala.ScalaObject") :: currentLibraries - - classpath.value = cp.mkString(pathSeparator) - usejavacp.value = true + private def jarPathOfClass(className: String) = { + Class.forName(className).getProtectionDomain.getCodeSource.getLocation } + private val env = new Settings() + private val currentLibraries = this.getClass.getClassLoader.asInstanceOf[java.net.URLClassLoader].getURLs.toList + private val cp = jarPathOfClass("scala.tools.nsc.Interpreter") :: jarPathOfClass("scala.ScalaObject") :: currentLibraries + env.classpath.value = cp.mkString(pathSeparator) + env.usejavacp.value = true + env.d.value = "target" + def assertCompileSuccess(file: File): Unit = { assertCompileSuccess(recursiveFileList(file)) } def assertCompileSuccess(files: Traversable[File]): Unit = { - for (file <- files) { - assertCompileSuccess(fromFile(file).mkString) + val reporter = new ConsoleReporter(env) + val g = new Global(env, reporter) + val run = new g.Run + run.compile(files.map(_.getPath).toList) + if (reporter.hasErrors) { + throw new AssertionError("Compilation failed") } } - def assertCompileSuccessCombined(file: File): Unit = { - assertCompileSuccessCombined(recursiveFileList(file)) - } - - def assertCompileSuccessCombined(files: Traversable[File]): Unit = { - assertCompileSuccess(files - map (fromFile(_).mkString) - mkString ("\n")) - } - def assertCompileSuccess(source: String): Unit = { val out = new java.io.ByteArrayOutputStream val interpreterWriter = new java.io.PrintWriter(out) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala index 2391de14a..f162d9a28 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterJPATest.scala @@ -22,10 +22,7 @@ class GenericExporterJPATest { exporter.export(getClass.getPackage) val targetFolder = new java.io.File("target/gen1-jpa/com/querydsl/scala/") - val sources = (targetFolder listFiles () - filter (_.getName.endsWith(".scala")) - map (fromFile(_).mkString) - mkString ("\n")) + val sources = targetFolder.listFiles.filter(_.getName.endsWith(".scala")) CompileTestUtils.assertCompileSuccess(sources) } diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala index f93acfa29..4677f836b 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/GenericExporterTest.scala @@ -20,15 +20,11 @@ class GenericExporterTest { val targetFolder = new File("target/gen1/com/querydsl/scala/") // com.querydsl.scala - val sources = (targetFolder.listFiles() - filter (_.getName.endsWith(".scala")) - map (fromFile(_).mkString) - mkString ("\n")) + val sources = targetFolder.listFiles.filter(_.getName.endsWith(".scala")) CompileTestUtils.assertCompileSuccess(sources) // com.querydsl.scala.ext - val other = (new File(targetFolder, "ext").listFiles() - filter (_.getName.endsWith(".scala")) + val other = (new File(targetFolder, "ext").listFiles() filter (_.getName.endsWith(".scala")) map (fromFile(_).mkString) mkString ("\n")) CompileTestUtils.assertCompileSuccess("import com.querydsl.scala.ext._\n" + other) diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala index 8fe1e2296..2cdb42a66 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/JDBCIntegrationTest.scala @@ -101,7 +101,7 @@ class JDBCIntegrationTest extends SQLHelpers { exporter.setSchemaPattern("PUBLIC") exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } @Test diff --git a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala index c0d13573e..f0507fee2 100644 --- a/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala +++ b/querydsl-scala/src/test/scala/com/querydsl/scala/sql/MetaDataExporterTest.scala @@ -97,7 +97,7 @@ class MetaDataExporterTest { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } @Test @@ -136,7 +136,7 @@ class MetaDataExporterTest { exporter.setTypeMappings(ScalaTypeMappings.create) exporter.export(connection.getMetaData) - CompileTestUtils.assertCompileSuccessCombined(directory) + CompileTestUtils.assertCompileSuccess(directory) } } \ No newline at end of file