2017-11-14 11:41:37 +09:00
|
|
|
import akka.AutomaticModuleName
|
|
|
|
|
|
2017-10-30 03:13:14 +02:00
|
|
|
enablePlugins(UnidocRoot, TimeStampede, UnidocWithPrValidation, NoPublish)
|
2016-03-10 10:45:35 +02:00
|
|
|
disablePlugins(MimaPlugin)
|
2017-10-30 03:13:14 +02:00
|
|
|
|
2017-05-16 22:03:18 +02:00
|
|
|
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
|
|
|
|
|
import com.typesafe.tools.mima.plugin.MimaPlugin
|
2017-10-30 03:13:14 +02:00
|
|
|
import spray.boilerplate.BoilerplatePlugin
|
2017-05-16 22:03:18 +02:00
|
|
|
import akka.AkkaBuild._
|
2017-10-30 03:13:14 +02:00
|
|
|
import akka.{AkkaBuild, Dependencies, GitHub, OSGi, Protobuf, SigarLoader, VersionGenerator}
|
|
|
|
|
import sbt.Keys.{initialCommands, parallelExecution}
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
initialize := {
|
|
|
|
|
// Load system properties from a file to make configuration from Jenkins easier
|
|
|
|
|
loadSystemProperties("project/akka-build.properties")
|
|
|
|
|
initialize.value
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
akka.AkkaBuild.buildSettings
|
|
|
|
|
shellPrompt := { s => Project.extract(s).currentProject.id + " > " }
|
|
|
|
|
resolverSettings
|
|
|
|
|
|
|
|
|
|
lazy val aggregatedProjects: Seq[ProjectReference] = Seq(
|
|
|
|
|
actor, actorTests,
|
|
|
|
|
agent,
|
|
|
|
|
benchJmh,
|
|
|
|
|
camel,
|
|
|
|
|
cluster, clusterMetrics, clusterSharding, clusterTools,
|
|
|
|
|
contrib,
|
|
|
|
|
distributedData,
|
|
|
|
|
docs,
|
|
|
|
|
multiNodeTestkit,
|
|
|
|
|
osgi,
|
|
|
|
|
persistence, persistenceQuery, persistenceShared, persistenceTck,
|
|
|
|
|
protobuf,
|
|
|
|
|
remote, remoteTests,
|
|
|
|
|
slf4j,
|
|
|
|
|
stream, streamTestkit, streamTests, streamTestsTck,
|
|
|
|
|
testkit,
|
2017-12-18 14:50:46 +00:00
|
|
|
actorTyped, actorTypedTests, typedTestkit, persistenceTyped, clusterTyped, clusterShardingTyped
|
2017-05-16 22:03:18 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
lazy val root = Project(
|
|
|
|
|
id = "akka",
|
2017-06-29 11:01:23 +01:00
|
|
|
base = file(".")
|
|
|
|
|
).aggregate(aggregatedProjects: _*)
|
|
|
|
|
.settings(rootSettings: _*)
|
2017-05-26 14:09:07 +02:00
|
|
|
.settings(unidocRootIgnoreProjects := Seq(remoteTests, benchJmh, protobuf, akkaScalaNightly, docs))
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val actor = akkaModule("akka-actor")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.actor)
|
|
|
|
|
.settings(OSGi.actor)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.actor"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(
|
|
|
|
|
unmanagedSourceDirectories in Compile += {
|
|
|
|
|
val ver = scalaVersion.value.take(4)
|
|
|
|
|
(scalaSource in Compile).value.getParentFile / s"scala-$ver"
|
|
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
.settings(VersionGenerator.settings)
|
|
|
|
|
.enablePlugins(BoilerplatePlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val actorTests = akkaModule("akka-actor-tests")
|
2017-05-16 22:03:18 +02:00
|
|
|
.dependsOn(testkit % "compile->compile;test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.actorTests)
|
|
|
|
|
.enablePlugins(NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val agent = akkaModule("akka-agent")
|
|
|
|
|
.dependsOn(actor, testkit % "test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.agent)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.agent"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.agent)
|
|
|
|
|
.enablePlugins(ScaladocNoVerificationOfDiagrams)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val akkaScalaNightly = akkaModule("akka-scala-nightly")
|
|
|
|
|
// remove dependencies that we have to build ourselves (Scala STM)
|
|
|
|
|
.aggregate(aggregatedProjects diff List[ProjectReference](agent, docs): _*)
|
2017-10-30 03:13:14 +02:00
|
|
|
.disablePlugins(MimaPlugin)
|
2017-05-22 15:56:57 +02:00
|
|
|
.disablePlugins(ValidatePullRequest, MimaPlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val benchJmh = akkaModule("akka-bench-jmh")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
Seq(
|
|
|
|
|
actor,
|
|
|
|
|
stream, streamTests,
|
|
|
|
|
persistence, distributedData,
|
|
|
|
|
testkit
|
|
|
|
|
).map(_ % "compile->compile;compile->test;provided->provided"): _*
|
2017-10-30 03:13:14 +02:00
|
|
|
)
|
|
|
|
|
.settings(Dependencies.benchJmh)
|
|
|
|
|
.enablePlugins(JmhPlugin, ScaladocNoVerificationOfDiagrams, NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin, ValidatePullRequest)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val camel = akkaModule("akka-camel")
|
|
|
|
|
.dependsOn(actor, slf4j, testkit % "test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.camel)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.camel"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.camel)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val cluster = akkaModule("akka-cluster")
|
|
|
|
|
.dependsOn(remote, remoteTests % "test->test" , testkit % "test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.cluster)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.cluster)
|
|
|
|
|
.settings(Protobuf.settings)
|
|
|
|
|
.settings(
|
|
|
|
|
parallelExecution in Test := false
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNodeScalaTest)
|
|
|
|
|
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val clusterMetrics = akkaModule("akka-cluster-metrics")
|
|
|
|
|
.dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm", slf4j % "test->compile")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.clusterMetrics)
|
|
|
|
|
.settings(Dependencies.clusterMetrics)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.metrics"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Protobuf.settings)
|
|
|
|
|
.settings(SigarLoader.sigarSettings)
|
|
|
|
|
.settings(
|
|
|
|
|
parallelExecution in Test := false
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNodeScalaTest)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
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(
|
2017-10-30 03:13:14 +02:00
|
|
|
cluster % "compile->compile;test->test;multi-jvm->multi-jvm",
|
|
|
|
|
distributedData,
|
|
|
|
|
persistence % "compile->compile;test->provided",
|
|
|
|
|
clusterTools
|
|
|
|
|
)
|
|
|
|
|
.settings(Dependencies.clusterSharding)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.sharding"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.clusterSharding)
|
|
|
|
|
.settings(Protobuf.settings)
|
2017-05-22 15:56:57 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val clusterTools = akkaModule("akka-cluster-tools")
|
|
|
|
|
.dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.clusterTools)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.tools"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.clusterTools)
|
|
|
|
|
.settings(Protobuf.settings)
|
2017-05-22 15:56:57 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val contrib = akkaModule("akka-contrib")
|
|
|
|
|
.dependsOn(remote, remoteTests % "test->test", cluster, clusterTools, persistence % "compile->compile;test->provided")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.contrib)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.contrib"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.contrib)
|
|
|
|
|
.settings(
|
|
|
|
|
description := """|
|
|
|
|
|
|This subproject provides a home to modules contributed by external
|
|
|
|
|
|developers which may or may not move into the officially supported code
|
|
|
|
|
|base over time. A module in this subproject doesn't have to obey the rule
|
|
|
|
|
|of staying binary compatible between minor releases. Breaking API changes
|
|
|
|
|
|may be introduced in minor releases without notice as we refine and
|
|
|
|
|
|simplify based on your feedback. A module may be dropped in any release
|
|
|
|
|
|without prior deprecation. The Lightbend subscription does not cover
|
|
|
|
|
|support for these modules.
|
|
|
|
|
|""".stripMargin
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val distributedData = akkaModule("akka-distributed-data")
|
|
|
|
|
.dependsOn(cluster % "compile->compile;test->test;multi-jvm->multi-jvm")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.distributedData)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.ddata"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.distributedData)
|
|
|
|
|
.settings(Protobuf.settings)
|
2017-05-16 22:03:18 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNodeScalaTest)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val docs = akkaModule("akka-docs")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
actor, cluster, clusterMetrics, slf4j, agent, camel, osgi, persistenceTck, persistenceQuery, distributedData, stream,
|
|
|
|
|
clusterTools % "compile->compile;test->test",
|
2017-07-06 08:05:48 -07:00
|
|
|
clusterSharding % "compile->compile;test->test",
|
2017-05-22 15:56:57 +02:00
|
|
|
testkit % "compile->compile;test->test",
|
|
|
|
|
remote % "compile->compile;test->test",
|
|
|
|
|
persistence % "compile->compile;provided->provided;test->test",
|
2017-12-18 14:50:46 +00:00
|
|
|
actorTyped % "compile->compile;test->test",
|
|
|
|
|
persistenceTyped % "compile->compile;test->test",
|
|
|
|
|
clusterTyped % "compile->compile;test->test",
|
|
|
|
|
clusterShardingTyped % "compile->compile;test->test",
|
|
|
|
|
actorTypedTests % "compile->compile;test->test",
|
2017-05-22 15:56:57 +02:00
|
|
|
streamTestkit % "compile->compile;test->test"
|
|
|
|
|
)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.docs)
|
|
|
|
|
.settings(
|
|
|
|
|
name in (Compile, paradox) := "Akka",
|
|
|
|
|
paradoxProperties ++= Map(
|
|
|
|
|
"akka.canonical.base_url" -> "http://doc.akka.io/docs/akka/current",
|
|
|
|
|
"github.base_url" -> GitHub.url(version.value), // for links like this: @github[#1](#1) or @github[83986f9](83986f9)
|
|
|
|
|
"extref.akka.http.base_url" -> "http://doc.akka.io/docs/akka-http/current/%s",
|
|
|
|
|
"extref.wikipedia.base_url" -> "https://en.wikipedia.org/wiki/%s",
|
|
|
|
|
"extref.github.base_url" -> (GitHub.url(version.value) + "/%s"), // for links to our sources
|
|
|
|
|
"extref.samples.base_url" -> "https://github.com/akka/akka-samples/tree/2.5/%s",
|
|
|
|
|
"extref.ecs.base_url" -> "https://example.lightbend.com/v1/download/%s",
|
|
|
|
|
"scaladoc.akka.base_url" -> "https://doc.akka.io/api/akka/2.5",
|
|
|
|
|
"scaladoc.akka.http.base_url" -> "https://doc.akka.io/api/akka-http/current",
|
|
|
|
|
"javadoc.akka.base_url" -> "https://doc.akka.io/japi/akka/2.5",
|
|
|
|
|
"javadoc.akka.http.base_url" -> "http://doc.akka.io/japi/akka-http/current",
|
|
|
|
|
"scala.version" -> scalaVersion.value,
|
|
|
|
|
"scala.binary_version" -> scalaBinaryVersion.value,
|
|
|
|
|
"akka.version" -> version.value,
|
|
|
|
|
"sigar_loader.version" -> "1.6.6-rev002",
|
|
|
|
|
"algolia.docsearch.api_key" -> "543bad5ad786495d9ccd445ed34ed082",
|
|
|
|
|
"algolia.docsearch.index_name" -> "akka_io",
|
|
|
|
|
"google.analytics.account" -> "UA-21117439-1",
|
|
|
|
|
"google.analytics.domain.name" -> "akka.io",
|
|
|
|
|
"snip.code.base_dir" -> (sourceDirectory in Test).value.getAbsolutePath,
|
|
|
|
|
"snip.akka.base_dir" -> (baseDirectory in ThisBuild).value.getAbsolutePath,
|
|
|
|
|
"fiddle.code.base_dir" -> (sourceDirectory in Test).value.getAbsolutePath
|
|
|
|
|
),
|
2017-10-30 13:45:30 +01:00
|
|
|
paradoxGroups := Map("Language" -> Seq("Scala", "Java")),
|
|
|
|
|
resolvers += Resolver.jcenterRepo,
|
2017-12-18 14:50:46 +00:00
|
|
|
deployRsyncArtifact := List((paradox in Compile).value -> s"www/docs/akka/${version.value}")
|
2017-10-30 03:13:14 +02:00
|
|
|
)
|
2017-10-30 13:45:30 +01:00
|
|
|
.enablePlugins(AkkaParadoxPlugin, DeployRsync, NoPublish, ParadoxBrowse, ScaladocNoVerificationOfDiagrams)
|
2017-10-30 03:13:14 +02:00
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val multiNodeTestkit = akkaModule("akka-multi-node-testkit")
|
|
|
|
|
.dependsOn(remote, testkit)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Protobuf.settings)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.remote.testkit"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val osgi = akkaModule("akka-osgi")
|
|
|
|
|
.dependsOn(actor)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.osgi)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.osgi"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.osgi)
|
|
|
|
|
.settings(
|
|
|
|
|
parallelExecution in Test := false
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val persistence = akkaModule("akka-persistence")
|
|
|
|
|
.dependsOn(actor, testkit % "test->test", protobuf)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.persistence)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.persistence"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.persistence)
|
|
|
|
|
.settings(Protobuf.settings)
|
|
|
|
|
.settings(
|
|
|
|
|
fork in Test := true
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val persistenceQuery = akkaModule("akka-persistence-query")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
stream,
|
|
|
|
|
persistence % "compile->compile;provided->provided;test->test",
|
2017-10-30 03:13:14 +02:00
|
|
|
streamTestkit % "test"
|
|
|
|
|
)
|
|
|
|
|
.settings(Dependencies.persistenceQuery)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.persistence.query"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.persistenceQuery)
|
|
|
|
|
.settings(
|
|
|
|
|
fork in Test := true
|
|
|
|
|
)
|
|
|
|
|
.enablePlugins(ScaladocNoVerificationOfDiagrams)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val persistenceShared = akkaModule("akka-persistence-shared")
|
|
|
|
|
.dependsOn(persistence % "test->test", testkit % "test->test", remote % "test", protobuf)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.persistenceShared)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.persistence.shared"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(
|
|
|
|
|
fork in Test := true
|
|
|
|
|
)
|
|
|
|
|
.enablePlugins(NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
2017-05-16 22:03:18 +02:00
|
|
|
lazy val persistenceTck = akkaModule("akka-persistence-tck")
|
|
|
|
|
.dependsOn(persistence % "compile->compile;provided->provided;test->test", testkit % "compile->compile;test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.persistenceTck)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.persistence.tck"))
|
2017-10-30 03:13:14 +02:00
|
|
|
//.settings(OSGi.persistenceTck) TODO: we do need to export this as OSGi bundle too?
|
|
|
|
|
.settings(
|
|
|
|
|
fork in Test := true
|
|
|
|
|
)
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-05-22 15:56:57 +02:00
|
|
|
lazy val protobuf = akkaModule("akka-protobuf")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.protobuf)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.protobuf"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(ScaladocNoVerificationOfDiagrams)
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val remote = akkaModule("akka-remote")
|
|
|
|
|
.dependsOn(actor, stream, actorTests % "test->test", testkit % "test->test", streamTestkit % "test", protobuf)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.remote)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.remote"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.remote)
|
|
|
|
|
.settings(Protobuf.settings)
|
|
|
|
|
.settings(
|
|
|
|
|
parallelExecution in Test := false
|
|
|
|
|
)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val remoteTests = akkaModule("akka-remote-tests")
|
|
|
|
|
.dependsOn(actorTests % "test->test", remote % "test->test", streamTestkit % "test", multiNodeTestkit)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.remoteTests)
|
|
|
|
|
.settings(Protobuf.settings)
|
|
|
|
|
.settings(
|
|
|
|
|
parallelExecution in Test := false
|
|
|
|
|
)
|
2017-05-22 15:56:57 +02:00
|
|
|
.configs(MultiJvm)
|
2017-10-30 03:13:14 +02:00
|
|
|
.enablePlugins(MultiNodeScalaTest, NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
|
|
|
|
lazy val slf4j = akkaModule("akka-slf4j")
|
|
|
|
|
.dependsOn(actor, testkit % "test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.slf4j)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.slf4j"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.slf4j)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val stream = akkaModule("akka-stream")
|
|
|
|
|
.dependsOn(actor)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.stream)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.stream"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.stream)
|
|
|
|
|
.enablePlugins(BoilerplatePlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val streamTestkit = akkaModule("akka-stream-testkit")
|
|
|
|
|
.dependsOn(stream, testkit % "compile->compile;test->test")
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.streamTestkit)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.stream.testkit"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.streamTestkit)
|
2017-11-09 09:12:58 +01:00
|
|
|
.disablePlugins(MimaPlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val streamTests = akkaModule("akka-stream-tests")
|
|
|
|
|
.dependsOn(streamTestkit % "test->test", stream)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.streamTests)
|
|
|
|
|
.enablePlugins(NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
lazy val streamTestsTck = akkaModule("akka-stream-tests-tck")
|
|
|
|
|
.dependsOn(streamTestkit % "test->test", stream)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(Dependencies.streamTestsTck)
|
|
|
|
|
.settings(
|
|
|
|
|
// These TCK tests are using System.gc(), which
|
|
|
|
|
// is causing long GC pauses when running with G1 on
|
|
|
|
|
// the CI build servers. Therefore we fork these tests
|
|
|
|
|
// to run with small heap without G1.
|
|
|
|
|
fork in Test := true
|
|
|
|
|
)
|
|
|
|
|
.enablePlugins(NoPublish)
|
|
|
|
|
.disablePlugins(MimaPlugin, WhiteSourcePlugin)
|
|
|
|
|
|
|
|
|
|
lazy val testkit = akkaModule("akka-testkit")
|
|
|
|
|
.dependsOn(actor)
|
|
|
|
|
.settings(Dependencies.testkit)
|
2017-11-14 11:41:37 +09:00
|
|
|
.settings(AutomaticModuleName.settings("akka.actor.testkit"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(OSGi.testkit)
|
|
|
|
|
.settings(
|
|
|
|
|
initialCommands += "import akka.testkit._"
|
|
|
|
|
)
|
2017-05-16 22:03:18 +02:00
|
|
|
|
2017-12-18 14:50:46 +00:00
|
|
|
lazy val actorTyped = akkaModule("akka-actor-typed")
|
|
|
|
|
.dependsOn(actor)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
2017-12-18 14:50:46 +00:00
|
|
|
.settings(AutomaticModuleName.settings("akka.actor.typed")) // fine for now, eventually new module name to become typed.actor
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(
|
|
|
|
|
initialCommands := """
|
|
|
|
|
import akka.typed._
|
|
|
|
|
import akka.typed.scaladsl.Actor
|
|
|
|
|
import scala.concurrent._
|
|
|
|
|
import scala.concurrent.duration._
|
|
|
|
|
import akka.util.Timeout
|
|
|
|
|
implicit val timeout = Timeout(5.seconds)
|
|
|
|
|
"""
|
|
|
|
|
)
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
|
|
|
|
|
2017-12-18 14:50:46 +00:00
|
|
|
lazy val persistenceTyped = akkaModule("akka-persistence-typed")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
actorTyped,
|
|
|
|
|
persistence,
|
|
|
|
|
testkit % "test->test",
|
|
|
|
|
typedTestkit % "test->test",
|
|
|
|
|
actorTypedTests % "test->test"
|
|
|
|
|
)
|
|
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
|
|
|
|
.settings(AutomaticModuleName.settings("akka.persistence.typed"))
|
2017-10-30 03:13:14 +02:00
|
|
|
.disablePlugins(MimaPlugin)
|
2017-09-22 12:17:04 +02:00
|
|
|
|
2017-12-18 14:50:46 +00:00
|
|
|
lazy val clusterTyped = akkaModule("akka-cluster-typed")
|
2017-09-22 12:17:04 +02:00
|
|
|
.dependsOn(
|
2017-12-18 14:50:46 +00:00
|
|
|
actorTyped,
|
|
|
|
|
cluster,
|
2017-09-21 17:58:29 +02:00
|
|
|
clusterTools,
|
2017-12-18 14:50:46 +00:00
|
|
|
distributedData,
|
|
|
|
|
persistence % "provided->test",
|
|
|
|
|
persistenceTyped % "provided->test",
|
|
|
|
|
testkit % "test->test",
|
|
|
|
|
typedTestkit % "test->test",
|
|
|
|
|
actorTypedTests % "test->test"
|
|
|
|
|
)
|
|
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
|
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.typed"))
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
|
|
|
|
|
|
|
|
|
lazy val clusterShardingTyped = akkaModule("akka-cluster-sharding-typed")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
clusterTyped,
|
|
|
|
|
persistenceTyped,
|
2017-09-21 17:58:29 +02:00
|
|
|
clusterSharding,
|
2017-12-18 14:50:46 +00:00
|
|
|
testkit % "test->test",
|
|
|
|
|
typedTestkit % "test->test",
|
|
|
|
|
actorTypedTests % "test->test"
|
|
|
|
|
)
|
|
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
|
|
|
|
.settings(AutomaticModuleName.settings("akka.cluster.sharding.typed"))
|
|
|
|
|
// To be able to import ContainerFormats.proto
|
|
|
|
|
.settings(Protobuf.importPath := Some(baseDirectory.value / ".." / "akka-remote" / "src" / "main" / "protobuf" ))
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lazy val typedTestkit = akkaModule("akka-testkit-typed")
|
|
|
|
|
.dependsOn(actorTyped, testkit % "compile->compile;test->test")
|
|
|
|
|
.settings(AutomaticModuleName.settings("akka.testkit.typed"))
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
|
|
|
|
|
|
|
|
|
lazy val actorTypedTests = akkaModule("akka-actor-typed-tests")
|
|
|
|
|
.dependsOn(
|
|
|
|
|
actorTyped,
|
|
|
|
|
typedTestkit % "compile->compile;test->provided;test->test"
|
2017-10-30 03:13:14 +02:00
|
|
|
)
|
|
|
|
|
.settings(AkkaBuild.mayChangeSettings)
|
|
|
|
|
.disablePlugins(MimaPlugin)
|
2017-12-11 11:18:43 +01:00
|
|
|
.enablePlugins(NoPublish)
|
2017-05-22 15:56:57 +02:00
|
|
|
|
2017-05-16 22:03:18 +02:00
|
|
|
|
|
|
|
|
def akkaModule(name: String): Project =
|
|
|
|
|
Project(id = name, base = file(name))
|
2017-06-29 11:01:23 +01:00
|
|
|
.settings(akka.AkkaBuild.buildSettings)
|
2017-10-30 03:13:14 +02:00
|
|
|
.settings(akka.AkkaBuild.defaultSettings)
|
|
|
|
|
.settings(akka.Formatting.formatSettings)
|
|
|
|
|
.enablePlugins(BootstrapGenjavadoc)
|
2017-12-18 12:09:59 +00:00
|
|
|
|
|
|
|
|
lazy val typedTests = taskKey[Unit]("Runs all the typed tests")
|
|
|
|
|
typedTests := {
|
|
|
|
|
(test in(actorTyped, Test)).value
|
|
|
|
|
(test in(actorTypedTests, Test)).value
|
|
|
|
|
(test in(clusterTyped, Test)).value
|
|
|
|
|
(test in(clusterShardingTyped, Test)).value
|
|
|
|
|
}
|