diff --git a/build.sbt b/build.sbt index 4140bc4126..ee13ec32b8 100644 --- a/build.sbt +++ b/build.sbt @@ -39,30 +39,20 @@ lazy val root = Project( base = file("."), aggregate = aggregatedProjects ).settings(rootSettings: _*) - .settings(unidocRootIgnoreProjects := Seq(remoteTests, benchJmh, protobuf, akkaScalaNightly, docs)) + +lazy val actor = akkaModule("akka-actor") + +lazy val actorTests = akkaModule("akka-actor-tests") + .dependsOn(testkit % "compile->compile;test->test") + +lazy val agent = akkaModule("akka-agent") + .dependsOn(actor, testkit % "test->test") lazy val akkaScalaNightly = akkaModule("akka-scala-nightly") // remove dependencies that we have to build ourselves (Scala STM) .aggregate(aggregatedProjects diff List[ProjectReference](agent, docs): _*) .disablePlugins(ValidatePullRequest, MimaPlugin) -lazy val actor = akkaModule("akka-actor") - -lazy val testkit = akkaModule("akka-testkit") - .dependsOn(actor) - -lazy val typed = akkaModule("akka-typed") - .dependsOn(testkit % "compile->compile;test->test") - -lazy val typedTests = akkaModule("akka-typed-tests") - .dependsOn(typed, typedTestkit % "compile->compile;test->test") - -lazy val typedTestkit = akkaModule("akka-typed-testkit") - .dependsOn(typed, testkit % "compile->compile;test->test") - -lazy val actorTests = akkaModule("akka-actor-tests") - .dependsOn(testkit % "compile->compile;test->test") - lazy val benchJmh = akkaModule("akka-bench-jmh") .dependsOn( Seq( @@ -73,17 +63,8 @@ lazy val benchJmh = akkaModule("akka-bench-jmh") ).map(_ % "compile->compile;compile->test;provided->provided"): _* ).disablePlugins(ValidatePullRequest) -lazy val protobuf = akkaModule("akka-protobuf") - -lazy val remote = akkaModule("akka-remote") - .dependsOn(actor, stream, actorTests % "test->test", testkit % "test->test", streamTestkit % "test", protobuf) - -lazy val multiNodeTestkit = akkaModule("akka-multi-node-testkit") - .dependsOn(remote, testkit) - -lazy val remoteTests = akkaModule("akka-remote-tests") - .dependsOn(actorTests % "test->test", remote % "test->test", streamTestkit % "test", multiNodeTestkit) - .configs(MultiJvm) +lazy val camel = akkaModule("akka-camel") + .dependsOn(actor, slf4j, testkit % "test->test") lazy val cluster = akkaModule("akka-cluster") .dependsOn(remote, remoteTests % "test->test" , testkit % "test->test") @@ -93,65 +74,30 @@ lazy val clusterMetrics = akkaModule("akka-cluster-metrics") .dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm", slf4j % "test->compile") .configs(MultiJvm) -lazy val clusterTools = akkaModule("akka-cluster-tools") - .dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm") - .configs(MultiJvm) - lazy val clusterSharding = akkaModule("akka-cluster-sharding") // TODO akka-persistence dependency should be provided in pom.xml artifact. // If I only use "provided" here it works, but then we can't run tests. // Scope "test" is alright in the pom.xml, but would have been nicer with // provided. .dependsOn( - cluster % "compile->compile;test->test;multi-jvm->multi-jvm", - distributedData, - persistence % "compile->compile;test->provided", - clusterTools) + cluster % "compile->compile;test->test;multi-jvm->multi-jvm", + distributedData, + persistence % "compile->compile;test->provided", + clusterTools) + .configs(MultiJvm) + +lazy val clusterTools = akkaModule("akka-cluster-tools") + .dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm") + .configs(MultiJvm) + +lazy val contrib = akkaModule("akka-contrib") + .dependsOn(remote, remoteTests % "test->test", cluster, clusterTools, persistence % "compile->compile;test->provided") .configs(MultiJvm) lazy val distributedData = akkaModule("akka-distributed-data") .dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm") .configs(MultiJvm) -lazy val slf4j = akkaModule("akka-slf4j") - .dependsOn(actor, testkit % "test->test") - -lazy val agent = akkaModule("akka-agent") - .dependsOn(actor, testkit % "test->test") - -lazy val persistence = akkaModule("akka-persistence") - .dependsOn(actor, testkit % "test->test", protobuf) - -lazy val persistenceQuery = akkaModule("akka-persistence-query") - .dependsOn( - stream, - persistence % "compile->compile;provided->provided;test->test", - streamTestkit % "test") - -lazy val persistenceTck = akkaModule("akka-persistence-tck") - .dependsOn(persistence % "compile->compile;provided->provided;test->test", testkit % "compile->compile;test->test") - -lazy val persistenceShared = akkaModule("akka-persistence-shared") - .dependsOn(persistence % "test->test", testkit % "test->test", remote % "test", protobuf) - -lazy val stream = akkaModule("akka-stream") - .dependsOn(actor) - -lazy val streamTestkit = akkaModule("akka-stream-testkit") - .dependsOn(stream, testkit % "compile->compile;test->test") - -lazy val streamTests = akkaModule("akka-stream-tests") - .dependsOn(streamTestkit % "test->test", stream) - -lazy val streamTestsTck = akkaModule("akka-stream-tests-tck") - .dependsOn(streamTestkit % "test->test", stream) - -lazy val camel = akkaModule("akka-camel") - .dependsOn(actor, slf4j, testkit % "test->test") - -lazy val osgi = akkaModule("akka-osgi") - .dependsOn(actor) - lazy val docs = akkaModule("akka-docs") .dependsOn( actor, cluster, clusterMetrics, slf4j, agent, camel, osgi, persistenceTck, persistenceQuery, distributedData, stream, @@ -164,10 +110,66 @@ lazy val docs = akkaModule("akka-docs") streamTestkit % "compile->compile;test->test" ) -lazy val contrib = akkaModule("akka-contrib") - .dependsOn(remote, remoteTests % "test->test", cluster, clusterTools, persistence % "compile->compile;test->provided") +lazy val multiNodeTestkit = akkaModule("akka-multi-node-testkit") + .dependsOn(remote, testkit) + +lazy val osgi = akkaModule("akka-osgi") + .dependsOn(actor) + +lazy val persistence = akkaModule("akka-persistence") + .dependsOn(actor, testkit % "test->test", protobuf) + +lazy val persistenceQuery = akkaModule("akka-persistence-query") + .dependsOn( + stream, + persistence % "compile->compile;provided->provided;test->test", + streamTestkit % "test") + +lazy val persistenceShared = akkaModule("akka-persistence-shared") + .dependsOn(persistence % "test->test", testkit % "test->test", remote % "test", protobuf) + +lazy val persistenceTck = akkaModule("akka-persistence-tck") + .dependsOn(persistence % "compile->compile;provided->provided;test->test", testkit % "compile->compile;test->test") + +lazy val protobuf = akkaModule("akka-protobuf") + +lazy val remote = akkaModule("akka-remote") + .dependsOn(actor, stream, actorTests % "test->test", testkit % "test->test", streamTestkit % "test", protobuf) + +lazy val remoteTests = akkaModule("akka-remote-tests") + .dependsOn(actorTests % "test->test", remote % "test->test", streamTestkit % "test", multiNodeTestkit) .configs(MultiJvm) +lazy val slf4j = akkaModule("akka-slf4j") + .dependsOn(actor, testkit % "test->test") + +lazy val stream = akkaModule("akka-stream") + .dependsOn(actor) + +lazy val streamTestkit = akkaModule("akka-stream-testkit") + .dependsOn(stream, testkit % "compile->compile;test->test") + +lazy val streamTests = akkaModule("akka-stream-tests") + .dependsOn(streamTestkit % "test->test", stream) + +lazy val streamTestsTck = akkaModule("akka-stream-tests-tck") + .dependsOn(streamTestkit % "test->test", stream) + +lazy val typed = akkaModule("akka-typed") + .dependsOn(testkit % "compile->compile;test->test") + +lazy val typedTests = akkaModule("akka-typed-tests") + .dependsOn(typed, typedTestkit % "compile->compile;test->test") + +lazy val typedTestkit = akkaModule("akka-typed-testkit") + .dependsOn(typed, testkit % "compile->compile;test->test") + +lazy val testkit = akkaModule("akka-testkit") + .dependsOn(actor) + + + + def akkaModule(name: String): Project = Project(id = name, base = file(name)) .settings(akka.AkkaBuild.buildSettings) \ No newline at end of file