@@ -112,6 +112,8 @@ object runner extends Cross[Runner](Scala.runnerScalaVersions)
112112 with CrossScalaDefaultToRunner
113113object `test-runner` extends Cross[TestRunner](Scala.runnerScalaVersions)
114114 with CrossScalaDefaultToRunner
115+ object `java-test-runner` extends JavaTestRunner
116+ with LocatedInModules
115117object `tasty-lib` extends Cross[TastyLib](Scala.scala3MainVersions)
116118 with CrossScalaDefaultToInternal
117119
@@ -452,12 +454,18 @@ trait Core extends ScalaCliCrossSbtModule
452454 val runnerMainClass = build.runner(crossScalaVersion)
453455 .mainClass()
454456 .getOrElse(sys.error("No main class defined for runner"))
457+ val javaTestRunnerMainClass = `java-test-runner`
458+ .mainClass()
459+ .getOrElse(sys.error("No main class defined for java-test-runner"))
455460 val detailedVersionValue =
456461 if (`local-repo`.developingOnStubModules) s"""Some("${vcsState()}")"""
457462 else "None"
458463 val testRunnerOrganization = `test-runner`(crossScalaVersion)
459464 .pomSettings()
460465 .organization
466+ val javaTestRunnerOrganization = `java-test-runner`
467+ .pomSettings()
468+ .organization
461469 val code =
462470 s"""package scala.build.internal
463471 |
@@ -479,6 +487,11 @@ trait Core extends ScalaCliCrossSbtModule
479487 | def testRunnerVersion = "${`test-runner`(crossScalaVersion).publishVersion()}"
480488 | def testRunnerMainClass = "$testRunnerMainClass"
481489 |
490+ | def javaTestRunnerOrganization = "$javaTestRunnerOrganization"
491+ | def javaTestRunnerModuleName = "${`java-test-runner`.artifactName()}"
492+ | def javaTestRunnerVersion = "${`java-test-runner`.publishVersion()}"
493+ | def javaTestRunnerMainClass = "$javaTestRunnerMainClass"
494+ |
482495 | def runnerOrganization = "${build.runner(crossScalaVersion).pomSettings().organization}"
483496 | def runnerModuleName = "${build.runner(crossScalaVersion).artifactName()}"
484497 | def runnerVersion = "${build.runner(crossScalaVersion).publishVersion()}"
@@ -1323,6 +1336,16 @@ trait TestRunner extends CrossSbtModule
13231336 override def mainClass: T[Option[String]] = Some("scala.build.testrunner.DynamicTestRunner")
13241337}
13251338
1339+ trait JavaTestRunner extends JavaModule
1340+ with ScalaCliPublishModule
1341+ with LocatedInModules {
1342+ override def mvnDeps: T[Seq[Dep]] = super.mvnDeps() ++ Seq(
1343+ Deps.asm,
1344+ Deps.testInterface
1345+ )
1346+ override def mainClass: T[Option[String]] = Some("scala.build.testrunner.JavaDynamicTestRunner")
1347+ }
1348+
13261349trait TastyLib extends ScalaCliCrossSbtModule
13271350 with ScalaCliPublishModule
13281351 with ScalaCliScalafixModule
@@ -1357,7 +1380,7 @@ object `local-repo` extends LocalRepo {
13571380 def developingOnStubModules = false
13581381
13591382 override def stubsModules: Seq[PublishLocalNoFluff] =
1360- Seq(runner(Scala.runnerScala3), `test-runner`(Scala.runnerScala3))
1383+ Seq(runner(Scala.runnerScala3), `test-runner`(Scala.runnerScala3), `java-test-runner` )
13611384
13621385 override def version: T[String] = runner(Scala.runnerScala3).publishVersion()
13631386}
0 commit comments