@@ -5,19 +5,23 @@ import java.io.{File => JFile}
55final case class TestFlags (
66 defaultClassPath : String ,
77 runClassPath : String , // class path that is used when running `run` tests (not compiling)
8- options : Array [String ]) {
8+ options : Array [String ],
9+ javacOptions : Array [String ]) {
910
1011 def and (flags : String * ): TestFlags =
11- TestFlags (defaultClassPath, runClassPath, options ++ flags)
12+ TestFlags (defaultClassPath, runClassPath, options ++ flags, javacOptions )
1213
1314 def without (flags : String * ): TestFlags =
14- TestFlags (defaultClassPath, runClassPath, options diff flags)
15+ TestFlags (defaultClassPath, runClassPath, options diff flags, javacOptions )
1516
1617 def withClasspath (classPath : String ): TestFlags =
17- TestFlags (s " $defaultClassPath${JFile .pathSeparator}$classPath" , runClassPath, options)
18+ TestFlags (s " $defaultClassPath${JFile .pathSeparator}$classPath" , runClassPath, options, javacOptions )
1819
1920 def withRunClasspath (classPath : String ): TestFlags =
20- TestFlags (defaultClassPath, s " $runClassPath${JFile .pathSeparator}$classPath" , options)
21+ TestFlags (defaultClassPath, s " $runClassPath${JFile .pathSeparator}$classPath" , options, javacOptions)
22+
23+ def withJavacOnlyOptions (flags : String * ): TestFlags =
24+ TestFlags (defaultClassPath, runClassPath, options, javacOptions ++ flags)
2125
2226 def all : Array [String ] = Array (" -classpath" , defaultClassPath) ++ options
2327
@@ -43,10 +47,10 @@ final case class TestFlags(
4347 val flags = all
4448 val cp = flags.dropWhile(_ != " -classpath" ).take(2 )
4549 val output = flags.dropWhile(_ != " -d" ).take(2 )
46- cp ++ output
50+ cp ++ output ++ javacOptions
4751 }
4852}
4953
5054object TestFlags {
51- def apply (classPath : String , flags : Array [String ]): TestFlags = TestFlags (classPath, classPath, flags)
55+ def apply (classPath : String , flags : Array [String ]): TestFlags = TestFlags (classPath, classPath, flags, Array .empty )
5256}
0 commit comments