@@ -4,16 +4,16 @@ import scala.sys.process.*
44
55ThisBuild / scalaVersion := " 3.3.8"
66ThisBuild / organization := " eu.neverblink.jelly"
7- ThisBuild / homepage := Some (url (" https://w3id.org/jelly/jelly-jvm" ))
8- ThisBuild / licenses := List (" Apache-2.0" -> url (" https://www.apache.org/licenses/LICENSE-2.0" ))
7+ ThisBuild / homepage := Some (uri (" https://w3id.org/jelly/jelly-jvm" ))
8+ ThisBuild / licenses := List (" Apache-2.0" -> uri (" https://www.apache.org/licenses/LICENSE-2.0" ))
99ThisBuild / versionScheme := Some (" semver-spec" )
1010ThisBuild / autoAPIMappings := true
1111ThisBuild / developers := List (
1212 Developer (
1313 " Ostrzyciel" ,
1414 " Piotr Sowiński" ,
1515 " piotr@neverblink.eu" ,
16- url (" https://github.com/Ostrzyciel" ),
16+ uri (" https://github.com/Ostrzyciel" ),
1717 ),
1818)
1919ThisBuild / semanticdbEnabled := true
@@ -82,6 +82,13 @@ lazy val commonSettings = Seq(
8282 ),
8383)
8484
85+ // Pekko's ActorSystem registers a JVM shutdown hook that outlives the test run. Unforked, those
86+ // hooks execute in sbt's own JVM after sbt has already discarded the test classloader...
87+ // which crashes sbt.
88+ lazy val pekkoTestSettings = Seq (
89+ Test / fork := true ,
90+ )
91+
8592// Shared settings for all Java-only modules
8693lazy val commonJavaSettings = Seq (
8794 // Disable Scala features for this module
@@ -553,6 +560,7 @@ lazy val stream = (project in file("pekko-stream"))
553560 " org.apache.pekko" %% " pekko-stream-typed" % pekkoV,
554561 ),
555562 commonSettings,
563+ pekkoTestSettings,
556564 )
557565 .dependsOn(core % " compile->compile;test->test" )
558566
@@ -582,6 +590,7 @@ lazy val integrationTests = (project in file("integration-tests"))
582590 Seq (cliBinary)
583591 },
584592 commonSettings,
593+ pekkoTestSettings,
585594 )
586595 .dependsOn(
587596 core % " compile->compile;test->test" ,
@@ -603,6 +612,7 @@ lazy val examples = (project in file("examples"))
603612 " com.apicatalog" % " titanium-rdf-n-quads" % titaniumNqV,
604613 ),
605614 commonSettings,
615+ pekkoTestSettings,
606616 )
607617 .dependsOn(
608618 core % " compile->compile;test->test" ,
@@ -659,6 +669,7 @@ lazy val grpc = (project in file("pekko-grpc"))
659669 }.dependsOn(rdfProtos / ProtobufConfig / protobufGenerate),
660670 Compile / sourceManaged := sourceManaged.value / " main" ,
661671 commonSettings,
672+ pekkoTestSettings,
662673 )
663674 .dependsOn(stream)
664675 .dependsOn(core % " compile->compile;test->test" )
0 commit comments