Ref #26233
Currently Akka fails to build on sbt community build, which runs on JDK 8. Likely it will fail on Scala community build as well due to `--ignore-source-errors`.
This makes the flag conditional based on the running JDK.
It will be useful for Scala toolchain to be able to validate its latest using latest Akka if possible.
* Remove Scala 2.11 from crossScalaVersions
* because +buildRelease doesn't work with mixed crossScalaVersions
* let's use akka.build.scalaVersion when building for 2.11
* aggregatedProjects adjusted depending on akka.build.scalaVersion is 2.11 or not,
there excluding/including the -typed modules
* update travis to use akka.build.scalaVersion
* lease api
* Cluster singleton manager with lease
* Refactor OldestData to use option for actor reference
* Sharding with lease
* Docs for singleton and sharding lease + config for sharding lease
* Have ddata shard wait until lease is acquired before getting state
So now we can compile akka-distributed-data with
-Xfatal-warnings - though I'm not yet sure about
enabling the (other) undisciplineScalacOptions
* Fix multi-node silencing
* Fix scaladoc warnings
* Introduce annotation to declare ccompat use
* Add explicit toString
* Fix deprecation on 2.13
* Move 'immutable' ccompat helpers to shared ccompat package
* Add MiMa for internal scala 2.13 compatibility class
* Internal API markers
* Fix scaladoc generation
Got bitten by https://github.com/scala/bug/issues/11021
This does 2 things:
* publish a 'buildinfo' report along with the project artifacts to describe
the build context and parameters
* post-process the jars to remove 'arbitrary' differences, such as jar file
ordering and timestamps.
This makes it easier to detect and explain when 2 builds of the same source
don't produce a bit-per-bit identical result. This for example can improve
our confidence that our distribution pipeline has not been compromised.
* ⇒, →, ←
* because we don't want to show them in documentation snippets and
then it's complicated to avoid that when snippets are
located in src/test/scala in individual modules
* dont replace object `→` in FSM.scala and PersistentFSM.scala
* AvoidInfix in scalafmt.conf
* align.tokens in scalafmt.conf
* scalafmt in MultiJvm
* sbt-scalafmt 2.0.0-RC5
* scalafmt in all* command alias
* scalafmtAll in CONTRIBUTING.md
* Avoid -Ywarn-unused:_ on Scala 2.13
* Exclude warn-unused:explicits when generating docs
* Don't apply discipline to the docs compilation run
This approach also means no explicit code is needed anymore to
prevent #26119 from being triggered.