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.
* Typed modules not compiled on 2.11
* Dependent modules also not on 2.11:
* docs
* akka-bench-jmh split into a separate one for typed
Still doesn't work because something with sbt
stuff moved to a new package. you wouldn't expect that in a point
release, but they put type aliases in place so Scala users wouldn't
notice. but the change is visible to Java code.
the upgrade is not strictly necessary, but it would be convenient
for the Scala 2.13 community build to have this merged, so I don't
have to maintain these changes in our Akka fork
The Ubuntu PPA for adoptopenjdk does not strictly follow the Ubuntu Java
naming correctly which can fail the akka build if no other JDK is installed.
rpardini/adoptopenjdk-deb-installer