diff --git a/akka-contrib/docs/index.rst b/akka-contrib/docs/index.rst
index e6701d5f35..5dd2117905 100644
--- a/akka-contrib/docs/index.rst
+++ b/akka-contrib/docs/index.rst
@@ -1,3 +1,5 @@
+.. _akka-contrib:
+
External Contributions
======================
diff --git a/akka-docs/rst/cluster/cluster-usage-scala.rst b/akka-docs/rst/cluster/cluster-usage-scala.rst
index f0dec3c590..bc2e8b90a8 100644
--- a/akka-docs/rst/cluster/cluster-usage-scala.rst
+++ b/akka-docs/rst/cluster/cluster-usage-scala.rst
@@ -543,7 +543,7 @@ How to Test
:ref:`multi-node-testing` is useful for testing cluster applications.
Set up your project according to the instructions in :ref:`multi-node-testing` and :ref:`multi-jvm-testing`, i.e.
-add the ``sbt-multi-jvm`` plugin and the dependency to ``akka-remote-tests-experimental``.
+add the ``sbt-multi-jvm`` plugin and the dependency to ``akka-multi-node-testkit``.
First, as described in :ref:`multi-node-testing`, we need some scaffolding to configure the ``MultiNodeSpec``.
Define the participating roles and their :ref:`cluster_configuration_scala` in an object extending ``MultiNodeConfig``:
diff --git a/akka-docs/rst/dev/multi-jvm-testing.rst b/akka-docs/rst/dev/multi-jvm-testing.rst
index 6b85a00485..e94e844a12 100644
--- a/akka-docs/rst/dev/multi-jvm-testing.rst
+++ b/akka-docs/rst/dev/multi-jvm-testing.rst
@@ -70,7 +70,7 @@ Here is an example Build.scala file that uses the MultiJvm plugin:
// ---- test dependencies ----
"com.typesafe.akka" %% "akka-testkit" % "@version@" %
"test" @crossString@,
- "com.typesafe.akka" %% "akka-remote-tests-experimental" % "@version@" %
+ "com.typesafe.akka" %% "akka-multi-node-testkit" % "@version@" %
"test" @crossString@,
"org.scalatest" %% "scalatest" % "1.9.1" % "test",
"junit" % "junit" % "4.5" % "test"
diff --git a/akka-docs/rst/dev/multi-node-testing.rst b/akka-docs/rst/dev/multi-node-testing.rst
index eb293eaeb8..d1dae07ea2 100644
--- a/akka-docs/rst/dev/multi-node-testing.rst
+++ b/akka-docs/rst/dev/multi-node-testing.rst
@@ -173,10 +173,10 @@ The multi node testing kit is a separate jar file. Make sure that you have the f
.. parsed-literal::
- "com.typesafe.akka" %% "akka-remote-tests-experimental" % "@version@" @crossString@
+ "com.typesafe.akka" %% "akka-multi-node-testkit" % "@version@" @crossString@
If you are using the latest nightly build you should pick a timestamped Akka version from
-``_.
+``_.
We recommend against using ``SNAPSHOT`` in order to obtain stable builds.
A Multi Node Testing Example
diff --git a/akka-docs/rst/intro/getting-started.rst b/akka-docs/rst/intro/getting-started.rst
index d7a1c18bd7..8c1013181f 100644
--- a/akka-docs/rst/intro/getting-started.rst
+++ b/akka-docs/rst/intro/getting-started.rst
@@ -31,16 +31,55 @@ Modules
Akka is very modular and consists of several JARs containing different features.
-- ``akka-actor`` -- Classic Actors, Typed Actors, IO Actor etc.
-- ``akka-remote`` -- Remote Actors
-- ``akka-testkit`` -- Toolkit for testing Actor systems
-- ``akka-kernel`` -- Akka microkernel for running a bare-bones mini application server
-- ``akka-transactor`` -- Transactors - transactional actors, integrated with Scala STM
-- ``akka-agent`` -- Agents, integrated with Scala STM
-- ``akka-camel`` -- Apache Camel integration
-- ``akka-zeromq`` -- ZeroMQ integration
-- ``akka-slf4j`` -- SLF4J Logger (event bus listener)
-- ``akka-filebased-mailbox`` -- Akka durable mailbox (find more among community projects)
+- ``akka-actor`` – Classic Actors, Typed Actors, IO Actor etc.
+
+- ``akka-agent`` – Agents, integrated with Scala STM
+
+- ``akka-camel`` – Apache Camel integration
+
+- ``akka-dataflow`` – add-on to SIP-14 futures supporting implicit
+ continuation-passing style
+
+- ``akka-file-mailbox`` – Akka durable mailbox (find more among community
+ projects)
+
+- ``akka-kernel`` – Akka microkernel for running a bare-bones mini application
+ server
+
+- ``akka-mailboxes-common`` – common infrastructure for implementing durable
+ mailboxes
+
+- ``akka-osgi`` – base bundle for using Akka in OSGi containers, containing the
+ ``akka-actor`` classes
+
+- ``akka-osgi-aries`` – Aries blueprint for provisioning actor systems
+
+- ``akka-remote`` – Remote Actors
+
+- ``akka-slf4j`` – SLF4J Logger (event bus listener)
+
+- ``akka-testkit`` – Toolkit for testing Actor systems
+
+- ``akka-transactor`` – Transactors - transactional actors, integrated with
+ Scala STM
+
+- ``akka-zeromq`` – ZeroMQ integration
+
+In addition to these stable modules there are several which are on their way
+into the stable core but are still marked “experimental” at this point. This
+does not mean that they do not function as intended, it primarily means that
+their API has not yet solidified enough in order to be considered frozen. You
+can help accelerating this process by giving feedback on these modules on our
+mailing list.
+
+- ``akka-channels-experimental`` – Typed Channels on top of untyped Actors,
+ using Scala 2.10 macros
+
+- ``akka-cluster-experimental`` – Cluster membership management, leader
+ election, elastic routers.
+
+- ``akka-contrib`` – an assortment of contributions which may or may not be
+ moved into core modules, see :ref:`akka-contrib` for more details.
The filename of the actual JAR is for example ``@jarName@`` (and analog for
the other modules).
diff --git a/akka-docs/rst/java/remoting.rst b/akka-docs/rst/java/remoting.rst
index c7f50262be..f8788d9e95 100644
--- a/akka-docs/rst/java/remoting.rst
+++ b/akka-docs/rst/java/remoting.rst
@@ -362,13 +362,18 @@ It is possible to listen to events that occur in Akka Remote, and to subscribe/u
you simply register as listener to the below described types in on the ``ActorSystem.eventStream``.
.. note::
- To subscribe to any remote event, subscribe to :meth:``RemotingLifecycleEvent`
- To subscribe to events related only to the lifecycle of associations, subscribe to :meth:`akka.remote.AssociationEvent`
+
+ To subscribe to any remote event, subscribe to
+ :meth:`RemotingLifecycleEvent`. To subscribe to events related only to the
+ lifecycle of associations, subscribe to
+ :meth:`akka.remote.AssociationEvent`.
.. note::
- The use of term "Association" instead of "Connection" reflects that the remoting subsystem may use
- connectionless transports, but an association similar to transport layer connections is maintained between endpoints
- by the Akka protocol.
+
+ The use of term "Association" instead of "Connection" reflects that the
+ remoting subsystem may use connectionless transports, but an association
+ similar to transport layer connections is maintained between endpoints by
+ the Akka protocol.
By default an event listener is registered which logs all of the events
described below. This default was chosen to help setting up a system, but it is
@@ -376,6 +381,7 @@ quite common to switch this logging off once that phase of the project is
finished.
.. note::
+
In order to switch off the logging, set
``akka.remote.log-remote-lifecycle-events = off`` in your
``application.conf``.
diff --git a/akka-docs/rst/scala/remoting.rst b/akka-docs/rst/scala/remoting.rst
index 6b43516e21..9004ce6d6a 100644
--- a/akka-docs/rst/scala/remoting.rst
+++ b/akka-docs/rst/scala/remoting.rst
@@ -363,13 +363,18 @@ It is possible to listen to events that occur in Akka Remote, and to subscribe/u
you simply register as listener to the below described types in on the ``ActorSystem.eventStream``.
.. note::
- To subscribe to any remote event, subscribe to :meth:``RemotingLifecycleEvent`
- To subscribe to events related only to the lifecycle of associations, subscribe to :meth:`akka.remote.AssociationEvent`
+
+ To subscribe to any remote event, subscribe to
+ :meth:`RemotingLifecycleEvent`. To subscribe to events related only to
+ the lifecycle of associations, subscribe to
+ :meth:`akka.remote.AssociationEvent`.
.. note::
- The use of term "Association" instead of "Connection" reflects that the remoting subsystem may use
- connectionless transports, but an association similar to transport layer connections is maintained between endpoints
- by the Akka protocol.
+
+ The use of term "Association" instead of "Connection" reflects that the
+ remoting subsystem may use connectionless transports, but an association
+ similar to transport layer connections is maintained between endpoints by
+ the Akka protocol.
By default an event listener is registered which logs all of the events
described below. This default was chosen to help setting up a system, but it is
@@ -377,6 +382,7 @@ quite common to switch this logging off once that phase of the project is
finished.
.. note::
+
In order to switch off the logging, set
``akka.remote.log-remote-lifecycle-events = off`` in your
``application.conf``.
diff --git a/akka-remote-tests/src/main/java/akka/remote/testconductor/TestConductorProtocol.java b/akka-multi-node-testkit/src/main/java/akka/remote/testconductor/TestConductorProtocol.java
similarity index 100%
rename from akka-remote-tests/src/main/java/akka/remote/testconductor/TestConductorProtocol.java
rename to akka-multi-node-testkit/src/main/java/akka/remote/testconductor/TestConductorProtocol.java
diff --git a/akka-remote-tests/src/main/protocol/TestConductorProtocol.proto b/akka-multi-node-testkit/src/main/protocol/TestConductorProtocol.proto
similarity index 100%
rename from akka-remote-tests/src/main/protocol/TestConductorProtocol.proto
rename to akka-multi-node-testkit/src/main/protocol/TestConductorProtocol.proto
diff --git a/akka-remote-tests/src/main/resources/reference.conf b/akka-multi-node-testkit/src/main/resources/reference.conf
similarity index 100%
rename from akka-remote-tests/src/main/resources/reference.conf
rename to akka-multi-node-testkit/src/main/resources/reference.conf
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testconductor/Conductor.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testconductor/Conductor.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Conductor.scala
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testconductor/DataTypes.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/DataTypes.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testconductor/DataTypes.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/DataTypes.scala
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testconductor/Extension.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testconductor/Extension.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Extension.scala
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testconductor/Player.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testconductor/Player.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/Player.scala
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testconductor/RemoteConnection.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/RemoteConnection.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testconductor/RemoteConnection.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testconductor/RemoteConnection.scala
diff --git a/akka-remote-tests/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala b/akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala
similarity index 100%
rename from akka-remote-tests/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala
rename to akka-multi-node-testkit/src/main/scala/akka/remote/testkit/MultiNodeSpec.scala
diff --git a/project/AkkaBuild.scala b/project/AkkaBuild.scala
index a9f0811825..c3f03b41b9 100644
--- a/project/AkkaBuild.scala
+++ b/project/AkkaBuild.scala
@@ -98,7 +98,9 @@ object AkkaBuild extends Build {
id = "akka-dataflow",
base = file("akka-dataflow"),
dependencies = Seq(testkit % "test->test"),
- settings = defaultSettings ++ scaladocSettings ++ OSGi.dataflow ++ cpsPlugin
+ settings = defaultSettings ++ scaladocSettings ++ OSGi.dataflow ++ cpsPlugin ++ Seq(
+ previousArtifact := akkaPreviousArtifact("akka-dataflow")
+ )
)
lazy val testkit = Project(
@@ -118,6 +120,7 @@ object AkkaBuild extends Build {
dependencies = Seq(testkit % "compile;test->test"),
settings = defaultSettings ++ scaladocSettings ++ Seq(
autoCompilerPlugins := true,
+ publishArtifact in Compile := false,
libraryDependencies ++= Dependencies.actorTests
)
)
@@ -129,15 +132,25 @@ object AkkaBuild extends Build {
settings = defaultSettings ++ scaladocSettings ++ OSGi.remote ++ Seq(
libraryDependencies ++= Dependencies.remote,
// disable parallel tests
- parallelExecution in Test := false
+ parallelExecution in Test := false,
+ previousArtifact := akkaPreviousArtifact("akka-remote")
+ )
+ )
+
+ lazy val multiNodeTests = Project(
+ id = "akka-multi-node-testkit",
+ base = file("akka-multi-node-testkit"),
+ dependencies = Seq(remote, testkit),
+ settings = defaultSettings ++ scaladocSettings ++ Seq(
+ previousArtifact := akkaPreviousArtifact("akka-multi-node-testkit")
)
)
lazy val remoteTests = Project(
- id = "akka-remote-tests-experimental",
+ id = "akka-remote-tests",
base = file("akka-remote-tests"),
- dependencies = Seq(remote, actorTests % "test->test", testkit),
- settings = defaultSettings ++ scaladocSettings ++ multiJvmSettings ++ experimentalSettings ++ Seq(
+ dependencies = Seq(actorTests % "test->test", multiNodeTests),
+ settings = defaultSettings ++ scaladocSettings ++ multiJvmSettings ++ Seq(
libraryDependencies ++= Dependencies.remoteTests,
// disable parallel tests
parallelExecution in Test := false,
@@ -145,7 +158,8 @@ object AkkaBuild extends Build {
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
},
scalatestOptions in MultiJvm := defaultMultiJvmScalatestOptions,
- previousArtifact := akkaPreviousArtifact("akka-remote")
+ publishArtifact in Compile := false,
+ previousArtifact := akkaPreviousArtifact("akka-remote-tests")
)
) configs (MultiJvm)
@@ -161,7 +175,7 @@ object AkkaBuild extends Build {
(name: String) => (src ** (name + ".conf")).get.headOption.map("-Dakka.config=" + _.absolutePath).toSeq
},
scalatestOptions in MultiJvm := defaultMultiJvmScalatestOptions,
- previousArtifact := akkaPreviousArtifact("akka-remote")
+ previousArtifact := akkaPreviousArtifact("akka-cluster-experimental")
)
) configs (MultiJvm)
@@ -170,7 +184,8 @@ object AkkaBuild extends Build {
base = file("akka-slf4j"),
dependencies = Seq(actor, testkit % "test->test"),
settings = defaultSettings ++ scaladocSettings ++ OSGi.slf4j ++ Seq(
- libraryDependencies ++= Dependencies.slf4j
+ libraryDependencies ++= Dependencies.slf4j,
+ previousArtifact := akkaPreviousArtifact("akka-slf4j")
)
)
@@ -412,6 +427,7 @@ object AkkaBuild extends Build {
enableOutput in generateEpub in Sphinx := true,
unmanagedSourceDirectories in Test <<= sourceDirectory in Sphinx apply { _ ** "code" get },
libraryDependencies ++= Dependencies.docs,
+ publishArtifact in Compile := false,
unmanagedSourceDirectories in ScalariformKeys.format in Test <<= unmanagedSourceDirectories in Test,
testOptions += Tests.Argument(TestFrameworks.JUnit, "-v")
)
@@ -451,6 +467,7 @@ object AkkaBuild extends Build {
base = file("akka-channels-tests"),
dependencies = Seq(channels, testkit % "compile;test->test"),
settings = defaultSettings ++ experimentalSettings ++ Seq(
+ publishArtifact in Compile := false,
libraryDependencies <+= (scalaVersion)("org.scala-lang" % "scala-compiler" % _)
)
)
diff --git a/scripts/multi-node-log-replace.sh b/scripts/multi-node-log-replace.sh
index 3bee844c2d..1f2afed49c 100755
--- a/scripts/multi-node-log-replace.sh
+++ b/scripts/multi-node-log-replace.sh
@@ -22,4 +22,4 @@
# check for an sbt command
type -P sbt &> /dev/null || fail "sbt command not found"
-sbt "project akka-remote-tests-experimental" "test:run-main akka.remote.testkit.LogRoleReplace $1 $2"
+sbt "project akka-remote-tests" "test:run-main akka.remote.testkit.LogRoleReplace $1 $2"