* Add scalafix plugin for jdk 9.
* Add command alias sortImports.
* Excludes some sources from SortImports.
* Update SortImports to 0.4.0
* Sort imports with `sortImports` command.
* scalafix ExplicitNonNullaryApply prepare
+ Temporarily use com.sandinh:sbt-scalafix because scalacenter/scalafix#1098
+ Add ExplicitNonNullaryApply rule to .scalafix.conf
+ Manually fix a NonNullaryApply case in DeathWatchSpec that cause
`fixall` fail because ExplicitNonNullaryApply rule incorrectly rewrite
`context unbecome` to `context unbecome()` instead of `context.unbecome()`
* scalafix ExplicitNonNullaryApply
fix by enabling only ExplicitNonNullaryApply rule in .scalafix.conf then:
```
% sbt -Dakka.build.scalaVersion=2.13.1
> fixall
```
* scalafmtAll
* Revert to ch.epfl.scala:sbt-scalafix
Co-authored-by: Bùi Việt Thành <thanhbv@sandinh.net>
* deprecate internal sameThread ec and use a new one for all internal use sites
* Use the respective Scala version standard library "same thread" ec
* fallback to the old inline impl on 2.12 when reflection isn't possible
Notably fixes the case where upstream finished before the connection
was successfully established, and avoids RSTing the incoming stream
when the outgoing stream is done (which is now possible due to the
cancellation reason being propagated).
* update MiMa latestPatch
* Even later latest
* exclude jdk9 classes in 2.6.x excludes
* mima exclude for SystemMaterializer.materializer type
Co-authored-by: Johan Andrén <johan@markatta.com>
This way the stack trace will be more helpful because it contains the stage
that actually triggered the materialization.
Otherwise, we will only fail during `preStart` in the interpreter where the
stage will be failed and the error be propagated through the stream where
it can be hard to figure out what happened.
Also improve the message itself to contain the user provided name of the
sink/source.
* allow Sink.queue concurrent pulling
* replace methods with default parameters on two overloaded methods to pass binary compatibility check :/
* replace ⇒ with =>
* reformat
* add javadsl
* fix PR comments and add concurrency to Sink.queue
* fix merge after auto resolving
* duplicate changes to javadsl
* revert source changes
* add graceful terminations
* clean up tests
* optimize imports
* trigger rebuild
* cover the case when materializer shutdown before async callbacks were processed
* vars to vals; fix require messages
* disable compatibility check for @InternalApi private[akka] class
This will also mean that completion will not be blocked by elements that
will later be filtered out.
One particular use case of that would be a kind of partitioning use case,
where you put several streams behind a broadcast and each consumer will filter
out elements not handled there. In that case, the broadcast can get head-of-line
blocked when one of the consumers currently has no demand but also wouldn't
have to handle any elements because they would all be filtered out.
* Add stream name to buffer overflow log message (#28085)
* De-emphasize stream name by moving it to the back
Co-authored-by: Arnout Engelen <github@bzzt.net>
* Add an overloaded version of the Flow#mapError (Java DSL) which does not use a Scala PartialFunction.
* Add test verifying mapError matching on parent class
* Add to Source, SubSource and SubFlow as well
* Unfortunately it seems the jdk9-only tests could not actually be compiled.
With these changes those can actually be compiled and ran again.
* Always link to jdk11 for java.* javadocs
* Update sbt-paradox-akka to fix linking to inner classes for javadoc
* Bugfix for delay stage with EmitEarly #28269
Emit early would make it pull eagerly even if out was not available,
when element arrived and buffer was full and out not available that
element would be left in the input port and never end up in the buffer.
* Additional cleanup of the Delay stage
* Scala 2.13.0 -> Scala 2.13.1
* Update to genjavadoc 0.15
* Allow 'higherKinds' without explicit import
To follow the 2.13.1 convention
* Remaining higherKinds imports
* Mima excludes for missing value classes in generics
* stream: debug dot output should point `shouldPush` in the right direction
* stream: also support Pushing and Pulling states for ConnectionSnapshot
Using ShouldPull for Pushing and ShouldPush for Pulling is not quite accurate
but probably good enough for now.