Skip to content
This repository was archived by the owner on Sep 8, 2022. It is now read-only.

Commit 96e6628

Browse files
committed
javaOpts property for partest ant task
1 parent 4e3b262 commit 96e6628

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

src/main/scala/scala/tools/partest/PartestTask.scala

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class PartestTask extends Task with CompilationPathProperty with ScalaTask {
4747
private var jUnitReportDir: Option[File] = None
4848
private var javaccmd: Option[File] = None
4949
private var javacmd: Option[File] = Option(sys.props("java.home")) map (x => new File(x, "bin/java"))
50+
private var javaOpts: Option[Seq[String]] = None
5051
private var scalacArgs: Option[Seq[Argument]] = None
5152
private var srcDir: Option[String] = None
5253
private var colors: Int = 0
@@ -84,6 +85,11 @@ class PartestTask extends Task with CompilationPathProperty with ScalaTask {
8485
javacmd = Some(input)
8586
}
8687

88+
def setJavaOpts(input: String) {
89+
val s = input.split(' ')
90+
javaOpts = Some(javaOpts.getOrElse(Seq()) ++ s)
91+
}
92+
8793
def setKinds(input: String) {
8894
kinds = words(input).toArray
8995
}
@@ -124,7 +130,7 @@ class PartestTask extends Task with CompilationPathProperty with ScalaTask {
124130
})
125131

126132
var failureCount = 0
127-
val summary = new scala.tools.partest.nest.AntRunner(srcDir.getOrElse(null), new URLClassLoader(compilationPath.get.list.map(Path(_).toURL)), javacmd.getOrElse(null), javaccmd.getOrElse(null), scalacArgsFlat) {
133+
val summary = new scala.tools.partest.nest.AntRunner(srcDir.getOrElse(null), new URLClassLoader(compilationPath.get.list.map(Path(_).toURL)), javacmd.getOrElse(null), javaccmd.getOrElse(null), scalacArgsFlat, javaOpts) {
128134
def echo(msg: String): Unit = PartestTask.this.log(msg)
129135
def log(msg: String): Unit = PartestTask.this.log(msg)
130136

src/main/scala/scala/tools/partest/nest/AntRunner.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ package nest
1212
import java.net.URLClassLoader
1313

1414
// not using any Scala types to ease calling across different scala versions
15-
abstract class AntRunner(srcDir: String, testClassLoader: URLClassLoader, javaCmd: File, javacCmd: File, scalacArgs: Array[String]) extends SuiteRunner(
15+
abstract class AntRunner(srcDir: String, testClassLoader: URLClassLoader, javaCmd: File, javacCmd: File, scalacArgs: Array[String], javaOpts: Option[Seq[String]]) extends SuiteRunner(
1616
testSourcePath = Option(srcDir) getOrElse PartestDefaults.sourcePath,
1717
new FileManager(testClassLoader = testClassLoader),
1818
updateCheck = false,
@@ -21,6 +21,8 @@ abstract class AntRunner(srcDir: String, testClassLoader: URLClassLoader, javaCm
2121
javacCmdPath = Option(javacCmd).map(_.getAbsolutePath) getOrElse PartestDefaults.javacCmd,
2222
scalacExtraArgs = scalacArgs) {
2323

24+
for (jOpts <- javaOpts) System.setProperty("partest.java_opts", jOpts mkString " ")
25+
2426
def error(msg: String): Nothing = sys.error(msg)
2527
def echo(msg: String): Unit
2628
def log(msg: String): Unit

src/main/scala/scala/tools/partest/nest/SBTRunner.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import java.net.URLClassLoader
2323
// called reflectively from scala-partest-test-interface
2424
class SBTRunner(partestFingerprint: Fingerprint, eventHandler: EventHandler, loggers: Array[Logger],
2525
srcDir: String, testClassLoader: URLClassLoader, javaCmd: File, javacCmd: File, scalacArgs: Array[String])
26-
extends AntRunner(srcDir, testClassLoader, javaCmd, javacCmd, scalacArgs) {
26+
extends AntRunner(srcDir, testClassLoader, javaCmd, javacCmd, scalacArgs, None) {
2727
override def error(msg: String): Nothing = sys.error(msg)
2828
def echo(msg: String): Unit = loggers foreach { l => l.info(msg) }
2929
def log(msg: String): Unit = loggers foreach { l => l.debug(msg) }

0 commit comments

Comments
 (0)