From b3d00afdd1e607c2d227f3ab559c11978d366c68 Mon Sep 17 00:00:00 2001 From: Hawstein Date: Thu, 11 May 2017 00:00:42 +0800 Subject: [PATCH 1/5] Move ConstantFun to akka.util, #22813 --- .../main/scala/akka/util/ConstantFun.scala | 47 ++++++++ .../stream/MaterializationBenchmark.scala | 2 +- .../scala/akka/stream/tck/FlattenTest.scala | 2 +- .../java/akka/stream/javadsl/FlowTest.java | 2 +- .../java/akka/stream/javadsl/SourceTest.java | 2 +- .../stream/impl/fusing/InterpreterSpec.scala | 2 +- .../impl/fusing/InterpreterStressSpec.scala | 2 +- .../stream/scaladsl/FlowConcatAllSpec.scala | 2 +- .../scala/akka/stream/impl/ConstantFun.scala | 1 + .../main/scala/akka/stream/javadsl/Flow.scala | 3 +- .../scala/akka/stream/javadsl/Graph.scala | 2 +- .../scala/akka/stream/javadsl/Source.scala | 3 +- .../scala/akka/stream/javadsl/SubFlow.scala | 2 +- .../scala/akka/stream/javadsl/SubSource.scala | 2 +- .../scala/akka/stream/scaladsl/Flow.scala | 1 + .../scala/akka/stream/scaladsl/Graph.scala | 1 + .../scala/akka/stream/scaladsl/Source.scala | 1 + project/MiMa.scala | 110 +++++++++--------- 18 files changed, 120 insertions(+), 67 deletions(-) create mode 100644 akka-actor/src/main/scala/akka/util/ConstantFun.scala diff --git a/akka-actor/src/main/scala/akka/util/ConstantFun.scala b/akka-actor/src/main/scala/akka/util/ConstantFun.scala new file mode 100644 index 0000000000..5d2ac06a5a --- /dev/null +++ b/akka-actor/src/main/scala/akka/util/ConstantFun.scala @@ -0,0 +1,47 @@ +/** + * Copyright (C) 2015-2017 Lightbend Inc. + */ +package akka.util + +import akka.annotation.InternalApi +import akka.japi.function.{ Function ⇒ JFun, Function2 ⇒ JFun2 } +import akka.japi.{ Pair ⇒ JPair } + +/** + * INTERNAL API + */ +@InternalApi private[akka] object ConstantFun { + private[this] val JavaIdentityFunction = new JFun[Any, Any] { + @throws(classOf[Exception]) override def apply(param: Any): Any = param + } + + val JavaPairFunction = new JFun2[AnyRef, AnyRef, AnyRef JPair AnyRef] { + def apply(p1: AnyRef, p2: AnyRef): AnyRef JPair AnyRef = JPair(p1, p2) + } + + def javaCreatePairFunction[A, B]: JFun2[A, B, JPair[A, B]] = JavaPairFunction.asInstanceOf[JFun2[A, B, JPair[A, B]]] + + def javaIdentityFunction[T]: JFun[T, T] = JavaIdentityFunction.asInstanceOf[JFun[T, T]] + + def scalaIdentityFunction[T]: T ⇒ T = conforms.asInstanceOf[Function[T, T]] + + def scalaAnyToNone[A, B]: A ⇒ Option[B] = none + def scalaAnyTwoToNone[A, B, C]: (A, B) ⇒ Option[C] = two2none + def javaAnyToNone[A, B]: A ⇒ Option[B] = none + def nullFun[T] = _nullFun.asInstanceOf[Any ⇒ T] + + val zeroLong = (_: Any) ⇒ 0L + + val oneLong = (_: Any) ⇒ 1L + + val oneInt = (_: Any) ⇒ 1 + + private val _nullFun = (_: Any) ⇒ null + + private val conforms = (a: Any) ⇒ a + + private val none = (_: Any) ⇒ None + + private val two2none = (_: Any, _: Any) ⇒ None + +} diff --git a/akka-bench-jmh/src/main/scala/akka/stream/MaterializationBenchmark.scala b/akka-bench-jmh/src/main/scala/akka/stream/MaterializationBenchmark.scala index d2aa1d86c4..847547c0a1 100644 --- a/akka-bench-jmh/src/main/scala/akka/stream/MaterializationBenchmark.scala +++ b/akka-bench-jmh/src/main/scala/akka/stream/MaterializationBenchmark.scala @@ -8,11 +8,11 @@ import java.util.concurrent.TimeUnit import akka.NotUsed import akka.actor.ActorSystem import akka.stream.scaladsl._ +import akka.util.ConstantFun import org.openjdk.jmh.annotations._ import scala.concurrent.Await import scala.concurrent.duration._ import scala.concurrent.Future -import akka.stream.impl.ConstantFun import akka.Done object MaterializationBenchmark { diff --git a/akka-stream-tests-tck/src/test/scala/akka/stream/tck/FlattenTest.scala b/akka-stream-tests-tck/src/test/scala/akka/stream/tck/FlattenTest.scala index 550fd98c13..0337f99b15 100644 --- a/akka-stream-tests-tck/src/test/scala/akka/stream/tck/FlattenTest.scala +++ b/akka-stream-tests-tck/src/test/scala/akka/stream/tck/FlattenTest.scala @@ -3,9 +3,9 @@ */ package akka.stream.tck -import akka.stream.impl.ConstantFun import akka.stream.scaladsl.Sink import akka.stream.scaladsl.Source +import akka.util.ConstantFun import org.reactivestreams.Publisher class FlattenTest extends AkkaPublisherVerification[Int] { diff --git a/akka-stream-tests/src/test/java/akka/stream/javadsl/FlowTest.java b/akka-stream-tests/src/test/java/akka/stream/javadsl/FlowTest.java index 487570cc24..a1b7c8d26b 100644 --- a/akka-stream-tests/src/test/java/akka/stream/javadsl/FlowTest.java +++ b/akka-stream-tests/src/test/java/akka/stream/javadsl/FlowTest.java @@ -10,7 +10,7 @@ import akka.japi.JavaPartialFunction; import akka.japi.Pair; import akka.japi.function.*; import akka.stream.*; -import akka.stream.impl.ConstantFun; +import akka.util.ConstantFun; import akka.stream.javadsl.GraphDSL.Builder; import akka.stream.stage.*; import akka.testkit.AkkaSpec; diff --git a/akka-stream-tests/src/test/java/akka/stream/javadsl/SourceTest.java b/akka-stream-tests/src/test/java/akka/stream/javadsl/SourceTest.java index 516cf66af7..511d6342ec 100644 --- a/akka-stream-tests/src/test/java/akka/stream/javadsl/SourceTest.java +++ b/akka-stream-tests/src/test/java/akka/stream/javadsl/SourceTest.java @@ -11,7 +11,7 @@ import akka.japi.Pair; import akka.japi.function.*; import akka.japi.pf.PFBuilder; import akka.stream.*; -import akka.stream.impl.ConstantFun; +import akka.util.ConstantFun; import akka.stream.stage.*; import akka.testkit.AkkaSpec; import akka.stream.testkit.TestPublisher; diff --git a/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterSpec.scala b/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterSpec.scala index 4d9366620f..1d03d26214 100644 --- a/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterSpec.scala +++ b/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterSpec.scala @@ -4,12 +4,12 @@ package akka.stream.impl.fusing -import akka.stream.impl.ConstantFun import akka.stream.stage._ import akka.stream.testkit.StreamSpec import akka.testkit.EventFilter import akka.stream._ import akka.stream.impl.fusing.GraphStages.SimpleLinearGraphStage +import akka.util.ConstantFun class InterpreterSpec extends StreamSpec with GraphInterpreterSpecKit { import Supervision.stoppingDecider diff --git a/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterStressSpec.scala b/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterStressSpec.scala index ffc58c9343..6488780a65 100644 --- a/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterStressSpec.scala +++ b/akka-stream-tests/src/test/scala/akka/stream/impl/fusing/InterpreterStressSpec.scala @@ -4,10 +4,10 @@ package akka.stream.impl.fusing -import akka.stream.impl.ConstantFun import akka.stream.Supervision import akka.stream.testkit.StreamSpec import akka.testkit.LongRunningTest +import akka.util.ConstantFun class InterpreterStressSpec extends StreamSpec with GraphInterpreterSpecKit { import Supervision.stoppingDecider diff --git a/akka-stream-tests/src/test/scala/akka/stream/scaladsl/FlowConcatAllSpec.scala b/akka-stream-tests/src/test/scala/akka/stream/scaladsl/FlowConcatAllSpec.scala index 2509c203c9..a0f40331b6 100644 --- a/akka-stream-tests/src/test/scala/akka/stream/scaladsl/FlowConcatAllSpec.scala +++ b/akka-stream-tests/src/test/scala/akka/stream/scaladsl/FlowConcatAllSpec.scala @@ -4,7 +4,7 @@ package akka.stream.scaladsl import akka.NotUsed -import akka.stream.impl.ConstantFun +import akka.util.ConstantFun import scala.util.control.NoStackTrace import akka.stream.ActorMaterializer diff --git a/akka-stream/src/main/scala/akka/stream/impl/ConstantFun.scala b/akka-stream/src/main/scala/akka/stream/impl/ConstantFun.scala index 256a2860c5..641c64d4da 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/ConstantFun.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/ConstantFun.scala @@ -10,6 +10,7 @@ import akka.japi.{ Pair ⇒ JPair } /** * INTERNAL API */ +@deprecated("Use akka.util.ConstantFun instead", "2.5.0") @InternalApi private[akka] object ConstantFun { private[this] val JavaIdentityFunction = new JFun[Any, Any] { @throws(classOf[Exception]) override def apply(param: Any): Any = param diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala index 013559f163..913d2c590a 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala @@ -3,10 +3,11 @@ */ package akka.stream.javadsl +import akka.util.ConstantFun import akka.{ Done, NotUsed } import akka.event.LoggingAdapter import akka.japi.{ Pair, function } -import akka.stream.impl.{ ConstantFun, StreamLayout } +import akka.stream.impl.StreamLayout import akka.stream._ import org.reactivestreams.Processor diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Graph.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Graph.scala index 93f157189c..e009ef3398 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Graph.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Graph.scala @@ -6,8 +6,8 @@ package akka.stream.javadsl import akka.NotUsed import akka.stream._ import akka.japi.{ Pair, function } +import akka.util.ConstantFun import scala.annotation.unchecked.uncheckedVariance -import akka.stream.impl.ConstantFun /** * Merge several streams, taking elements as they arrive from input streams diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala index 21962ad1f8..9fed0bfa93 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala @@ -6,12 +6,13 @@ package akka.stream.javadsl import java.util import java.util.Optional +import akka.util.ConstantFun import akka.{ Done, NotUsed } import akka.actor.{ ActorRef, Cancellable, Props } import akka.event.LoggingAdapter import akka.japi.{ Pair, Util, function } import akka.stream._ -import akka.stream.impl.{ ConstantFun, LinearTraversalBuilder, SourceQueueAdapter, StreamLayout } +import akka.stream.impl.{ LinearTraversalBuilder, SourceQueueAdapter, StreamLayout } import org.reactivestreams.{ Publisher, Subscriber } import scala.annotation.unchecked.uncheckedVariance diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/SubFlow.scala b/akka-stream/src/main/scala/akka/stream/javadsl/SubFlow.scala index 61f080f56d..57aa2cf385 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/SubFlow.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/SubFlow.scala @@ -7,7 +7,7 @@ import akka.NotUsed import akka.event.LoggingAdapter import akka.japi.function import akka.stream._ -import akka.stream.impl.ConstantFun +import akka.util.ConstantFun import scala.collection.JavaConverters._ import scala.annotation.unchecked.uncheckedVariance diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/SubSource.scala b/akka-stream/src/main/scala/akka/stream/javadsl/SubSource.scala index 7fa5a1466c..d871b04ce7 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/SubSource.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/SubSource.scala @@ -7,7 +7,7 @@ import akka.NotUsed import akka.event.LoggingAdapter import akka.japi.function import akka.stream._ -import akka.stream.impl.ConstantFun +import akka.util.ConstantFun import scala.collection.JavaConverters._ import scala.annotation.unchecked.uncheckedVariance diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala index d6b38ec173..56225be88a 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala @@ -9,6 +9,7 @@ import akka.Done import akka.stream.impl._ import akka.stream.impl.fusing._ import akka.stream.stage._ +import akka.util.ConstantFun import org.reactivestreams.{ Processor, Publisher, Subscriber, Subscription } import scala.annotation.unchecked.uncheckedVariance diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala index bdc5a2579f..06481014aa 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Graph.scala @@ -10,6 +10,7 @@ import akka.stream.impl.fusing.GraphStages import akka.stream.impl.Stages.DefaultAttributes import akka.stream.scaladsl.Partition.PartitionOutOfBoundsException import akka.stream.stage.{ GraphStage, GraphStageLogic, InHandler, OutHandler } +import akka.util.ConstantFun import scala.annotation.unchecked.uncheckedVariance import scala.annotation.tailrec diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala index 0f434810f9..46e6b26097 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala @@ -4,6 +4,7 @@ package akka.stream.scaladsl import akka.stream.impl.Stages.DefaultAttributes +import akka.util.ConstantFun import akka.{ Done, NotUsed } import akka.actor.{ ActorRef, Cancellable, Props } import akka.stream.actor.ActorPublisher diff --git a/project/MiMa.scala b/project/MiMa.scala index 6980b41bde..55723042c8 100644 --- a/project/MiMa.scala +++ b/project/MiMa.scala @@ -56,12 +56,12 @@ object MiMa extends AutoPlugin { if (!akka242NewArtifacts.contains(projectName)) akka24NoStreamVersions else Seq.empty } ++ akka24StreamVersions ++ akka24WithScala212 ++ akka25Versions - - case "2.12" => + + case "2.12" => akka24WithScala212 ++ akka25Versions } } - + val akka25PromotedArtifacts = Set( "akka-distributed-data" ) @@ -71,7 +71,7 @@ object MiMa extends AutoPlugin { val adjustedProjectName = if (akka25PromotedArtifacts(projectName) && v.startsWith("2.4")) projectName + "-experimental" - else + else projectName organization %% adjustedProjectName % v }.toSet @@ -99,7 +99,7 @@ object MiMa extends AutoPlugin { val bcIssuesBetween24and25 = Seq( // ##22269 GSet as delta-CRDT ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.GSet.this"), // constructor supplied by companion object - + // # 18262 embed FJP, Mailbox extends ForkJoinTask ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.dispatch.ForkJoinExecutorConfigurator#ForkJoinExecutorServiceFactory.threadFactory"), ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.dispatch.ForkJoinExecutorConfigurator#ForkJoinExecutorServiceFactory.this"), @@ -118,7 +118,7 @@ object MiMa extends AutoPlugin { // #21875 delta-CRDT ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.GCounter.this"), - + // #22188 ORSet delta-CRDT ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.ORSet.this"), ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.cluster.ddata.protobuf.SerializationSupport.versionVectorToProto"), @@ -126,7 +126,7 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.cluster.ddata.protobuf.SerializationSupport.versionVectorFromBinary"), ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.cluster.ddata.protobuf.ReplicatedDataSerializer.versionVectorToProto"), ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.ddata.protobuf.ReplicatedDataSerializer.versionVectorFromProto"), - + // #22141 sharding minCap ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.DDataShardCoordinator.updatingStateTimeout"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.DDataShardCoordinator.waitingForStateTimeout"), @@ -136,7 +136,7 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.CircuitBreaker#State.callThrough"), ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.CircuitBreaker#State.invoke"), - // #21423 Remove deprecated metrics + // #21423 Remove deprecated metrics ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ClusterReadView.clusterMetrics"), ProblemFilters.exclude[MissingClassProblem]("akka.cluster.InternalClusterAction$MetricsTick$"), ProblemFilters.exclude[MissingClassProblem]("akka.cluster.MetricsCollector"), @@ -209,13 +209,13 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[MissingClassProblem]("akka.cluster.protobuf.msg.ClusterMessages$NodeMetrics$Metric"), ProblemFilters.exclude[MissingClassProblem]("akka.cluster.protobuf.msg.ClusterMessages$NodeMetrics$Metric$Builder"), ProblemFilters.exclude[MissingClassProblem]("akka.cluster.protobuf.msg.ClusterMessages$NodeMetrics$Number$Builder"), - + // #22154 Sharding remembering entities with ddata, internal actors FilterAnyProblemStartingWith("akka.cluster.sharding.Shard"), FilterAnyProblemStartingWith("akka.cluster.sharding.PersistentShard"), FilterAnyProblemStartingWith("akka.cluster.sharding.ClusterShardingGuardian"), FilterAnyProblemStartingWith("akka.cluster.sharding.ShardRegion"), - + // #21647 pruning FilterAnyProblemStartingWith("akka.cluster.ddata.PruningState"), ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.cluster.ddata.RemovedNodePruning.modifiedByNodes"), @@ -230,7 +230,7 @@ object MiMa extends AutoPlugin { // #21537 coordinated shutdown ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ClusterCoreDaemon.removed"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.Gossip.convergence"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.Gossip.convergence"), //#21717 Improvements to AbstractActor API FilterAnyProblemStartingWith("akka.japi.pf.ReceiveBuilder"), @@ -244,8 +244,8 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[MissingTypesProblem]("akka.routing.RoutedActorCell"), ProblemFilters.exclude[MissingTypesProblem]("akka.routing.ResizablePoolCell"), ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.persistence.AbstractPersistentActor.createReceiveRecover"), - ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.persistence.AbstractPersistentActor.createReceive"), - + ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.persistence.AbstractPersistentActor.createReceive"), + // #21423 removal of deprecated stages (in 2.5.x) ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.javadsl.Source.transform"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.javadsl.SubSource.transform"), @@ -307,20 +307,20 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorSystem.isTerminated"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorSystem.awaitTermination"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorSystem.awaitTermination"), - + // #21423 remove deprecated ActorPath.ElementRegex ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorPath.ElementRegex"), - + // #21423 remove some deprecated event bus classes ProblemFilters.exclude[MissingClassProblem]("akka.event.ActorClassification"), ProblemFilters.exclude[MissingClassProblem]("akka.event.EventStream$"), ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.event.EventStream.this"), ProblemFilters.exclude[MissingClassProblem]("akka.event.japi.ActorEventBus"), - + // #21423 remove deprecated util.Crypt ProblemFilters.exclude[MissingClassProblem]("akka.util.Crypt"), ProblemFilters.exclude[MissingClassProblem]("akka.util.Crypt$"), - + // #21423 removal of deprecated serializer constructors (in 2.5.x) ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.serialization.ProtobufSerializer.this"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.serialization.MessageContainerSerializer.this"), @@ -328,11 +328,11 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[DirectMissingMethodProblem]("akka.serialization.JavaSerializer.this"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.serialization.ByteArraySerializer.this"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.protobuf.ClusterMessageSerializer.this"), - + // #21423 removal of deprecated constructor in PromiseActorRef ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.PromiseActorRef.this"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.PromiseActorRef.apply"), - + // #21423 remove deprecated methods in routing ProblemFilters.exclude[DirectMissingMethodProblem]("akka.routing.Pool.nrOfInstances"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.routing.Group.paths"), @@ -343,7 +343,7 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.routing.RemoteRouterConfig.nrOfInstances"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.routing.ClusterRouterGroup.paths"), ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.routing.ClusterRouterPool.nrOfInstances"), - + // #21423 remove deprecated persist method (persistAll) // This might filter changes to the ordinary persist method also, but not much to do about that ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.persistence.UntypedPersistentActor.persist"), @@ -365,13 +365,13 @@ object MiMa extends AutoPlugin { ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.sharding.PersistentShardCoordinator.persistAsync"), ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.sharding.RemoveInternalClusterShardingData#RemoveOnePersistenceId.persist"), ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.sharding.RemoveInternalClusterShardingData#RemoveOnePersistenceId.persistAsync"), - + // #21423 remove deprecated ARRAY_OF_BYTE_ARRAY ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.serialization.ProtobufSerializer.ARRAY_OF_BYTE_ARRAY"), - + // #21423 remove deprecated constructor in DeadlineFailureDetector ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.remote.DeadlineFailureDetector.this"), - + // #21423 removal of deprecated `PersistentView` (in 2.5.x) ProblemFilters.exclude[MissingClassProblem]("akka.persistence.Update"), ProblemFilters.exclude[MissingClassProblem]("akka.persistence.Update$"), @@ -866,7 +866,7 @@ object MiMa extends AutoPlugin { // Interpreter internals change ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.stream.stage.GraphStageLogic.portToConn"), - // #20994 adding new decode method, since we're on JDK7+ now + // #20994 adding new decode method, since we're on JDK7+ now ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.util.ByteString.decodeString"), // #20508 HTTP: Document how to be able to support custom request methods @@ -1163,41 +1163,41 @@ object MiMa extends AutoPlugin { // * this list ends with the latest released version number // * is kept in sync between release-2.4 and master branch ) - + val Release25Filters = Seq( "2.5.0" -> Seq( - - // #22759 LMDB files - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.env"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.db"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.keyBuffer"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.valueBuffer_="), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.valueBuffer"), - - ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.groupedWeightedWithin"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSubscriber.props"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSource.this"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSink.this"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FilePublisher.props"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSubscriber.this"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FilePublisher.this"), - ProblemFilters.exclude[MissingClassProblem]("akka.stream.impl.fusing.GroupedWithin"), - - ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.traversalBuilder"), - ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.named"), - ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.addAttributes"), - ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.async") + + // #22759 LMDB files + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.env"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.db"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.keyBuffer"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.valueBuffer_="), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.LmdbDurableStore.valueBuffer"), + + ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.groupedWeightedWithin"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSubscriber.props"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSource.this"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSink.this"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FilePublisher.props"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FileSubscriber.this"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.io.FilePublisher.this"), + ProblemFilters.exclude[MissingClassProblem]("akka.stream.impl.fusing.GroupedWithin"), + + ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.traversalBuilder"), + ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.named"), + ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.addAttributes"), + ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.stream.Graph.async") ), "2.5.1" -> Seq( - // #21213 Feature request: Let BackoffSupervisor reply to messages when its child is stopped - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffSupervisor.this"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.copy"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.this"), - ProblemFilters.exclude[MissingTypesProblem]("akka.pattern.BackoffOptionsImpl$"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.apply"), - ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOnRestartSupervisor.this"), - ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.HandleBackoff.replyWhileStopped"), - ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.BackoffOptions.withReplyWhileStopped") + // #21213 Feature request: Let BackoffSupervisor reply to messages when its child is stopped + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffSupervisor.this"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.copy"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.this"), + ProblemFilters.exclude[MissingTypesProblem]("akka.pattern.BackoffOptionsImpl$"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOptionsImpl.apply"), + ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.BackoffOnRestartSupervisor.this"), + ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.HandleBackoff.replyWhileStopped"), + ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.pattern.BackoffOptions.withReplyWhileStopped") ) ) From e19c61a6eb269a15c593774e2572191af1a34044 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Wed, 10 May 2017 11:10:46 -0700 Subject: [PATCH 2/5] Update RST documentation for a cleaner conversion (#22895) Our documentation conversion script got confused by some of the things found in the rst sources --- akka-docs/rst/common/duration.rst | 1 + akka-docs/rst/dev/building-akka.rst | 3 --- akka-docs/rst/dev/documentation.rst | 2 -- akka-docs/rst/general/supervision.rst | 2 ++ akka-docs/rst/java/actors.rst | 6 ++++++ akka-docs/rst/java/camel.rst | 7 +++++-- akka-docs/rst/java/event-bus.rst | 1 + akka-docs/rst/java/persistence-query.rst | 1 + akka-docs/rst/java/persistence.rst | 2 ++ akka-docs/rst/java/testing.rst | 2 ++ akka-docs/rst/project/licenses.rst | 2 -- akka-docs/rst/scala/actors.rst | 1 + akka-docs/rst/scala/camel.rst | 3 +-- akka-docs/rst/scala/code/docs/camel/Introduction.scala | 4 +++- akka-docs/rst/scala/persistence.rst | 2 ++ 15 files changed, 27 insertions(+), 12 deletions(-) diff --git a/akka-docs/rst/common/duration.rst b/akka-docs/rst/common/duration.rst index 97136d48b3..4573343944 100644 --- a/akka-docs/rst/common/duration.rst +++ b/akka-docs/rst/common/duration.rst @@ -43,6 +43,7 @@ Java provides less syntactic sugar, so you have to spell out the operations as method calls instead: .. includecode:: code/docs/duration/Java.java#import + .. includecode:: code/docs/duration/Java.java#dsl Deadline diff --git a/akka-docs/rst/dev/building-akka.rst b/akka-docs/rst/dev/building-akka.rst index fafbaab5a7..e29c5e72f1 100644 --- a/akka-docs/rst/dev/building-akka.rst +++ b/akka-docs/rst/dev/building-akka.rst @@ -1,6 +1,3 @@ - -.. highlightlang:: none - .. _building-akka: ############### diff --git a/akka-docs/rst/dev/documentation.rst b/akka-docs/rst/dev/documentation.rst index e493d92ef3..67ec1644f9 100644 --- a/akka-docs/rst/dev/documentation.rst +++ b/akka-docs/rst/dev/documentation.rst @@ -1,5 +1,3 @@ -.. highlightlang:: rest - .. _documentation: ######################### diff --git a/akka-docs/rst/general/supervision.rst b/akka-docs/rst/general/supervision.rst index 5c4752d1fc..26e8ac559b 100644 --- a/akka-docs/rst/general/supervision.rst +++ b/akka-docs/rst/general/supervision.rst @@ -222,6 +222,7 @@ because of a failure, in increasing intervals of 3, 6, 12, 24 and finally 30 sec The above is equivalent to this Java code: .. includecode:: ../java/code/jdocs/pattern/BackoffSupervisorDocTest.java#backoff-imports + .. includecode:: ../java/code/jdocs/pattern/BackoffSupervisorDocTest.java#backoff-stop Using a ``randomFactor`` to add a little bit of additional variance to the backoff intervals @@ -242,6 +243,7 @@ because of some exception, in increasing intervals of 3, 6, 12, 24 and finally 3 The above is equivalent to this Java code: .. includecode:: ../java/code/jdocs/pattern/BackoffSupervisorDocTest.java#backoff-imports + .. includecode:: ../java/code/jdocs/pattern/BackoffSupervisorDocTest.java#backoff-fail The ``akka.pattern.BackoffOptions`` can be used to customize the behavior of the back-off supervisor actor, below are some examples: diff --git a/akka-docs/rst/java/actors.rst b/akka-docs/rst/java/actors.rst index 320143da98..bd784e9351 100644 --- a/akka-docs/rst/java/actors.rst +++ b/akka-docs/rst/java/actors.rst @@ -73,6 +73,7 @@ dispatcher to use, see more below). Here are some examples of how to create a :class:`Props` instance. .. includecode:: code/jdocs/actor/ActorDocTest.java#import-props + .. includecode:: code/jdocs/actor/ActorDocTest.java#creating-props The second variant shows how to pass constructor arguments to the @@ -137,6 +138,7 @@ Actors are created by passing a :class:`Props` instance into the :class:`ActorContext`. .. includecode:: code/jdocs/actor/ActorDocTest.java#import-actorRef + .. includecode:: code/jdocs/actor/ActorDocTest.java#system-actorOf Using the :class:`ActorSystem` will create top-level actors, supervised by the @@ -179,6 +181,7 @@ constructor arguments are determined by a dependency injection framework. __ Props_ .. includecode:: code/jdocs/actor/DependencyInjectionDocTest.java#import + .. includecode:: code/jdocs/actor/DependencyInjectionDocTest.java :include: creating-indirectly :exclude: obtain-fresh-Actor-instance-from-DI-framework @@ -320,6 +323,7 @@ termination (see `Stopping Actors`_). This service is provided by the Registering a monitor is easy: .. includecode:: code/jdocs/actor/ActorDocTest.java#import-terminated + .. includecode:: code/jdocs/actor/ActorDocTest.java#watch It should be noted that the :class:`Terminated` message is generated @@ -469,6 +473,7 @@ negative result is generated. Please note that this does not mean that delivery of that reply is guaranteed, it still is a normal message. .. includecode:: code/jdocs/actor/ActorDocTest.java#import-identify + .. includecode:: code/jdocs/actor/ActorDocTest.java#identify You can also acquire an :class:`ActorRef` for an :class:`ActorSelection` with @@ -546,6 +551,7 @@ The ``ask`` pattern involves actors as well as futures, hence it is offered as a use pattern rather than a method on :class:`ActorRef`: .. includecode:: code/jdocs/actor/ActorDocTest.java#import-ask + .. includecode:: code/jdocs/actor/ActorDocTest.java#ask-pipe This example demonstrates ``ask`` together with the ``pipe`` pattern on diff --git a/akka-docs/rst/java/camel.rst b/akka-docs/rst/java/camel.rst index 40b095cd69..bdda6c0963 100644 --- a/akka-docs/rst/java/camel.rst +++ b/akka-docs/rst/java/camel.rst @@ -215,6 +215,7 @@ result in the `Exchange`_ failing with a TimeoutException set on the failure of The timeout on the consumer actor can be overridden with the ``replyTimeout``, as shown below. .. includecode:: code/jdocs/camel/Consumer4.java#Consumer4 + .. _Exchange: https://svn.apache.org/repos/asf/camel/tags/camel-2.8.0/camel-core/src/main/java/org/apache/camel/Exchange.java .. _ask: @github@/akka-actor/src/main/scala/akka/pattern/Patterns.scala @@ -252,7 +253,9 @@ message is forwarded to a target actor instead of being replied to the original sender. .. includecode:: code/jdocs/camel/ResponseReceiver.java#RouteResponse + .. includecode:: code/jdocs/camel/Forwarder.java#RouteResponse + .. includecode:: code/jdocs/camel/OnRouteResponseTestBase.java#RouteResponse Before producing messages to endpoints, producer actors can pre-process them by @@ -396,8 +399,6 @@ URI options The following URI options are supported: -.. tabularcolumns:: |l|l|l|L| - +--------------+----------+---------+------------------------------------------------+ | Name | Type | Default | Description | +==============+==========+=========+================================================+ @@ -427,7 +428,9 @@ In the following example, a custom route to an actor is created, using the actor's path. .. includecode:: code/jdocs/camel/Responder.java#CustomRoute + .. includecode:: code/jdocs/camel/CustomRouteBuilder.java#CustomRoute + .. includecode:: code/jdocs/camel/CustomRouteTestBase.java#CustomRoute The `CamelPath.toCamelUri` converts the `ActorRef` to the Camel actor component URI format which points to the actor endpoint as described above. diff --git a/akka-docs/rst/java/event-bus.rst b/akka-docs/rst/java/event-bus.rst index c7a8c104f9..760e619238 100644 --- a/akka-docs/rst/java/event-bus.rst +++ b/akka-docs/rst/java/event-bus.rst @@ -142,6 +142,7 @@ used for :class:`RemotingLifecycleEvent`). The following example demonstrates how a simple subscription works. Given a simple actor: .. includecode:: code/jdocs/event/LoggingDocTest.java#imports-deadletter + .. includecode:: code/jdocs/event/LoggingDocTest.java#deadletter-actor it can be subscribed like this: diff --git a/akka-docs/rst/java/persistence-query.rst b/akka-docs/rst/java/persistence-query.rst index 2ebd9fd5d6..f47897dd2d 100644 --- a/akka-docs/rst/java/persistence-query.rst +++ b/akka-docs/rst/java/persistence-query.rst @@ -191,6 +191,7 @@ In case your write logic is state-less and you just need to convert the events f before writing into the alternative datastore, then the projection is as simple as: .. includecode:: code/jdocs/persistence/PersistenceQueryDocTest.java#projection-into-different-store-simple-classes + .. includecode:: code/jdocs/persistence/PersistenceQueryDocTest.java#projection-into-different-store-simple Resumable projections diff --git a/akka-docs/rst/java/persistence.rst b/akka-docs/rst/java/persistence.rst index 1fd9596d6c..a1461f2b88 100644 --- a/akka-docs/rst/java/persistence.rst +++ b/akka-docs/rst/java/persistence.rst @@ -477,7 +477,9 @@ The example below highlights how messages arrive in the Actor's mailbox and how mechanism when ``persist()`` is used. Notice the early stop behaviour that occurs when ``PoisonPill`` is used: .. includecode:: code/jdocs/persistence/LambdaPersistenceDocTest.java#safe-shutdown + .. includecode:: code/jdocs/persistence/LambdaPersistenceDocTest.java#safe-shutdown-example-bad + .. includecode:: code/jdocs/persistence/LambdaPersistenceDocTest.java#safe-shutdown-example-good .. _replay-filter-java: diff --git a/akka-docs/rst/java/testing.rst b/akka-docs/rst/java/testing.rst index bf155fe623..65814ec439 100644 --- a/akka-docs/rst/java/testing.rst +++ b/akka-docs/rst/java/testing.rst @@ -500,6 +500,7 @@ create a fabricated parent in your test. This, however, does not enable you to t the parent actor in isolation. .. includecode:: code/jdocs/testkit/ParentChildTest.java#test-fabricated-parent-creator + .. includecode:: code/jdocs/testkit/ParentChildTest.java#test-fabricated-parent Externalize child making from the parent @@ -509,6 +510,7 @@ Alternatively, you can tell the parent how to create its child. There are two wa to do this: by giving it a :class:`Props` object or by giving it a function which takes care of creating the child actor: .. includecode:: code/jdocs/testkit/ParentChildTest.java#test-dependentparent + .. includecode:: code/jdocs/testkit/ParentChildTest.java#test-dependentparent-generic Creating the :class:`Actor` is straightforward and the function may look like this in your test code: diff --git a/akka-docs/rst/project/licenses.rst b/akka-docs/rst/project/licenses.rst index 73916591c3..97063f3cf2 100644 --- a/akka-docs/rst/project/licenses.rst +++ b/akka-docs/rst/project/licenses.rst @@ -3,8 +3,6 @@ Licenses ======== -.. highlight:: text - Akka License ------------ diff --git a/akka-docs/rst/scala/actors.rst b/akka-docs/rst/scala/actors.rst index 876f8af5f9..e60ae7b6c9 100644 --- a/akka-docs/rst/scala/actors.rst +++ b/akka-docs/rst/scala/actors.rst @@ -118,6 +118,7 @@ There are two edge cases in actor creation with :class:`Props`: * An actor with :class:`AnyVal` arguments. .. includecode:: code/docs/actor/PropsEdgeCaseSpec.scala#props-edge-cases-value-class + .. includecode:: code/docs/actor/PropsEdgeCaseSpec.scala#props-edge-cases-value-class-example * An actor with default constructor values. diff --git a/akka-docs/rst/scala/camel.rst b/akka-docs/rst/scala/camel.rst index a85ce820bd..2d6f0c58ea 100644 --- a/akka-docs/rst/scala/camel.rst +++ b/akka-docs/rst/scala/camel.rst @@ -211,6 +211,7 @@ result in the `Exchange`_ failing with a TimeoutException set on the failure of The timeout on the consumer actor can be overridden with the ``replyTimeout``, as shown below. .. includecode:: code/docs/camel/Consumers.scala#Consumer4 + .. _Exchange: https://svn.apache.org/repos/asf/camel/tags/camel-2.8.0/camel-core/src/main/java/org/apache/camel/Exchange.java .. _ask: @github@/akka-actor/src/main/scala/akka/pattern/AskSupport.scala @@ -391,8 +392,6 @@ URI options The following URI options are supported: -.. tabularcolumns:: |l|l|l|L| - +--------------+----------+---------+-------------------------------------------+ | Name | Type | Default | Description | +==============+==========+=========+===========================================+ diff --git a/akka-docs/rst/scala/code/docs/camel/Introduction.scala b/akka-docs/rst/scala/code/docs/camel/Introduction.scala index ed5e6f7383..f79c7e16e4 100644 --- a/akka-docs/rst/scala/code/docs/camel/Introduction.scala +++ b/akka-docs/rst/scala/code/docs/camel/Introduction.scala @@ -1,10 +1,12 @@ package docs.camel +//#imports import akka.actor.{ Props, ActorSystem } import akka.camel.CamelExtension import language.postfixOps import akka.util.Timeout +//#imports object Introduction { def foo(): Unit = { @@ -106,4 +108,4 @@ object Introduction { //#CamelDeactivation } -} \ No newline at end of file +} diff --git a/akka-docs/rst/scala/persistence.rst b/akka-docs/rst/scala/persistence.rst index b094b91334..deb9b88d22 100644 --- a/akka-docs/rst/scala/persistence.rst +++ b/akka-docs/rst/scala/persistence.rst @@ -477,7 +477,9 @@ The example below highlights how messages arrive in the Actor's mailbox and how mechanism when ``persist()`` is used. Notice the early stop behaviour that occurs when ``PoisonPill`` is used: .. includecode:: code/docs/persistence/PersistenceDocSpec.scala#safe-shutdown + .. includecode:: code/docs/persistence/PersistenceDocSpec.scala#safe-shutdown-example-bad + .. includecode:: code/docs/persistence/PersistenceDocSpec.scala#safe-shutdown-example-good .. _replay-filter-scala: From 4338b6a42c045d5c39bf0e2ab81c1e990fc37d34 Mon Sep 17 00:00:00 2001 From: Konrad `ktoso` Malawski Date: Wed, 10 May 2017 10:45:17 +0900 Subject: [PATCH 3/5] =doc request adding links to issues in guide --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index da6ba6f8e6..8c04e20b77 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -145,6 +145,7 @@ For a pull request to be considered at all it has to meet these requirements: 1. Regardless if the code introduces new features or fixes bugs or regressions, it must have comprehensive tests. 1. The code must be well documented in the Lightbend's standard documentation format (see the ‘Documentation’ section below). 1. The commit messages must properly describe the changes, see further below. +1. A pull request must indicate (link to) the issue it is aimed to resolve in the description (or comments) of the PR, in order to establish a link between PR and Issue. This can be achieved by writing "Fixes #1234" or similar in PR description. 1. All Lightbend projects must include Lightbend copyright notices. Each project can choose between one of two approaches: 1. All source files in the project must have a Lightbend copyright notice in the file header. From 902f42d71bb43a351348fb790b28cca0a3a92c60 Mon Sep 17 00:00:00 2001 From: Philippus Baalman Date: Thu, 11 May 2017 13:17:15 +0200 Subject: [PATCH 4/5] Correct link to Java Akka Docs, fixes https://github.com/akka/akka/issues/22879 (#22882) --- akka-docs/rst/intro/what-is-akka.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/akka-docs/rst/intro/what-is-akka.rst b/akka-docs/rst/intro/what-is-akka.rst index cf9d1c4ece..df8913c731 100644 --- a/akka-docs/rst/intro/what-is-akka.rst +++ b/akka-docs/rst/intro/what-is-akka.rst @@ -22,7 +22,7 @@ Akka is Open Source and available under the Apache 2 License. Download from http://akka.io/downloads. Please note that all code samples compile, so if you want direct access to the sources, have a look -over at the Akka Docs subproject on github: for `Java <@github@/akka-docs/rst/java/code/docs>`_ +over at the Akka Docs subproject on github: for `Java <@github@/akka-docs/rst/java/code/jdocs>`_ and `Scala <@github@/akka-docs/rst/scala/code/docs>`_. From ef672897b56a171253ce1602314fca709e616455 Mon Sep 17 00:00:00 2001 From: Arnout Engelen Date: Fri, 12 May 2017 07:31:23 -0700 Subject: [PATCH 5/5] Update sbt-updates and dependency-graph plugins (#22927) --- project/plugins.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/plugins.sbt b/project/plugins.sbt index ed83ce6170..c41e2d481f 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -30,12 +30,12 @@ addSbtPlugin("pl.project13.sbt" % "sbt-jol" % "0.1.1") addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.0.0-RC1") // for advanced PR validation features -addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.0") +addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2") libraryDependencies += "org.kohsuke" % "github-api" % "1.68" addSbtPlugin("io.spray" % "sbt-boilerplate" % "0.6.0") -addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.8") +addSbtPlugin("com.timushev.sbt" % "sbt-updates" % "0.1.10") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.2.9")