score:1

Ahh, figured out how to get around this. I had to add

"org.testng" % "testng" % "6.4", // both 6.4 and 6.8.5 seem to work

to the NGPlugin libaryDependencies. In retrospect, this only makes sense, since EventRecorder in sbt-testng-interface has a compile dependency on org.testng . However, I have no idea how this was working before, since the previous version of sbt-testng-interface we depended on (2.0.3) also has that dependency as far as I could tell.

score:2

the compile error is caused by a change in the signature of FakeApplication(...).

Uncaught exception during compilation: scala.reflect.internal.Types$TypeError
[error] /home/bliang/Projects/play-testng-plugin/helpers/src/main/java/com/linkedin/plugin/NGTests.java:119: cannot find symbol
[error] symbol  : constructor FakeApplication(java.io.File,java.lang.ClassLoader,java.util.Map<java.lang.String,java.lang.String>,java.util.List<java.lang.String>)
[error] location: class play.test.FakeApplication
[error]         return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins());

You need to change

return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins());

to

return new FakeApplication(new File(path), Helpers.class.getClassLoader(), getConf(), getPlugins(), null);

in NGTest.java: 119

You may also encounter classpath issues due to different versions of play in the classpath. The groupId of Play was changed 2.2.x from "play" to "com.typesafe.play", which may be a problem since sbt will consider diffferent versions of play-* to be different artifacts, and therefore will NOT detect conflicting versions.


Related Query

More Query from same tag