Promote Distributed Data, #22201

This commit is contained in:
Patrik Nordwall 2017-01-24 11:27:24 +01:00
parent d1ba2c1aae
commit f409c06c78
7 changed files with 19 additions and 22 deletions

View file

@ -1,7 +1,6 @@
import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, Unidoc, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, Unidoc, OSGi }
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.distributedData OSGi.distributedData
Dependencies.distributedData Dependencies.distributedData

View file

@ -208,7 +208,7 @@ The settings for Distributed Data is configured in the the section
``akka.cluster.sharding.distributed-data``. It's not possible to have different ``akka.cluster.sharding.distributed-data``. It's not possible to have different
``distributed-data`` settings for different sharding entity types. ``distributed-data`` settings for different sharding entity types.
You must explicitly add the ``akka-distributed-data-experimental`` dependency to your build if You must explicitly add the ``akka-distributed-data`` dependency to your build if
you use this mode. It is possible to remove ``akka-persistence`` dependency from a project if it you use this mode. It is possible to remove ``akka-persistence`` dependency from a project if it
is not used in user code. is not used in user code.

View file

@ -24,13 +24,6 @@ It is eventually consistent and geared toward providing high read and write avai
(partition tolerance), with low latency. Note that in an eventually consistent system a read may return an (partition tolerance), with low latency. Note that in an eventually consistent system a read may return an
out-of-date value. out-of-date value.
.. warning::
This module is marked as **“experimental”** as of its introduction in Akka 2.4.0. We will continue to
improve this API based on our users feedback, which implies that while we try to keep incompatible
changes to a minimum the binary compatibility guarantee for maintenance releases does not apply to the
contents of the ``akka.persistence`` package.
Using the Replicator Using the Replicator
==================== ====================
@ -588,13 +581,13 @@ To use Distributed Data you must add the following dependency in your project.
sbt:: sbt::
"com.typesafe.akka" %% "akka-distributed-data-experimental" % "@version@" @crossString@ "com.typesafe.akka" %% "akka-distributed-data" % "@version@" @crossString@
maven:: maven::
<dependency> <dependency>
<groupId>com.typesafe.akka</groupId> <groupId>com.typesafe.akka</groupId>
<artifactId>akka-distributed-data-experimental_@binVersion@</artifactId> <artifactId>akka-distributed-data_@binVersion@</artifactId>
<version>@version@</version> <version>@version@</version>
</dependency> </dependency>

View file

@ -211,7 +211,7 @@ The settings for Distributed Data is configured in the the section
``akka.cluster.sharding.distributed-data``. It's not possible to have different ``akka.cluster.sharding.distributed-data``. It's not possible to have different
``distributed-data`` settings for different sharding entity types. ``distributed-data`` settings for different sharding entity types.
You must explicitly add the ``akka-distributed-data-experimental`` dependency to your build if You must explicitly add the ``akka-distributed-data`` dependency to your build if
you use this mode. It is possible to remove ``akka-persistence`` dependency from a project if it you use this mode. It is possible to remove ``akka-persistence`` dependency from a project if it
is not used in user code. is not used in user code.

View file

@ -24,12 +24,6 @@ It is eventually consistent and geared toward providing high read and write avai
(partition tolerance), with low latency. Note that in an eventually consistent system a read may return an (partition tolerance), with low latency. Note that in an eventually consistent system a read may return an
out-of-date value. out-of-date value.
.. warning::
This module is marked as **“experimental”** as of its introduction in Akka 2.4.0. We will continue to
improve this API based on our users feedback, which implies that while we try to keep incompatible
changes to a minimum the binary compatibility guarantee for maintenance releases does not apply to the
contents of the ``akka.persistence`` package.
Using the Replicator Using the Replicator
==================== ====================
@ -600,13 +594,13 @@ To use Distributed Data you must add the following dependency in your project.
sbt:: sbt::
"com.typesafe.akka" %% "akka-distributed-data-experimental" % "@version@" @crossString@ "com.typesafe.akka" %% "akka-distributed-data" % "@version@" @crossString@
maven:: maven::
<dependency> <dependency>
<groupId>com.typesafe.akka</groupId> <groupId>com.typesafe.akka</groupId>
<artifactId>akka-distributed-data-experimental_@binVersion@</artifactId> <artifactId>akka-distributed-data_@binVersion@</artifactId>
<version>@version@</version> <version>@version@</version>
</dependency> </dependency>

View file

@ -184,7 +184,7 @@ object AkkaBuild extends Build {
).configs(MultiJvm) ).configs(MultiJvm)
lazy val distributedData = Project( lazy val distributedData = Project(
id = "akka-distributed-data-experimental", id = "akka-distributed-data",
base = file("akka-distributed-data"), base = file("akka-distributed-data"),
dependencies = Seq(cluster % "compile->compile;test->test;multi-jvm->multi-jvm") dependencies = Seq(cluster % "compile->compile;test->test;multi-jvm->multi-jvm")
).configs(MultiJvm) ).configs(MultiJvm)

View file

@ -58,8 +58,19 @@ object MiMa extends AutoPlugin {
} }
} }
val akka25PromotedArtifacts = Set(
"akka-distributed-data"
)
// check against all binary compatible artifacts // check against all binary compatible artifacts
versions.map(organization %% projectName % _).toSet versions.map { v =>
val adjustedProjectName =
if (akka25PromotedArtifacts(projectName) && v.startsWith("2.4"))
projectName + "-experimental"
else
projectName
organization %% adjustedProjectName % v
}.toSet
} }
case class FilterAnyProblem(name: String) extends com.typesafe.tools.mima.core.ProblemFilter { case class FilterAnyProblem(name: String) extends com.typesafe.tools.mima.core.ProblemFilter {