Merge pull request #19988 from 2m/wip-#18765-mima-0.1.9-2m

Update to latest MiMa which is now an AutoPlugin
This commit is contained in:
Konrad Malawski 2016-03-11 12:16:09 +01:00
commit 4293907451
43 changed files with 137 additions and 210 deletions

View file

@ -4,3 +4,5 @@ AkkaBuild.defaultSettings
AkkaBuild.dontPublishSettings AkkaBuild.dontPublishSettings
Formatting.formatSettings Formatting.formatSettings
Dependencies.actorTests Dependencies.actorTests
disablePlugins(MimaPlugin)

View file

@ -1,16 +1,9 @@
import akka.{ AkkaBuild, Formatting, OSGi, Dependencies, Version } import akka.{ AkkaBuild, Formatting, OSGi, Dependencies, Version }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.actor OSGi.actor
Dependencies.actor Dependencies.actor
Version.versionSettings
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-actor").value
enablePlugins(spray.boilerplate.BoilerplatePlugin) enablePlugins(spray.boilerplate.BoilerplatePlugin)
Version.versionSettings

View file

@ -1,14 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, ScaladocNoVerificationOfDiagrams } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, ScaladocNoVerificationOfDiagrams }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.agent OSGi.agent
Dependencies.agent Dependencies.agent
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-agent").value
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)

View file

@ -2,7 +2,7 @@ import akka._
import com.typesafe.sbt.pgp.PgpKeys.publishSigned import com.typesafe.sbt.pgp.PgpKeys.publishSigned
enablePlugins(JmhPlugin, ScaladocNoVerificationOfDiagrams) enablePlugins(JmhPlugin, ScaladocNoVerificationOfDiagrams)
disablePlugins(Unidoc) disablePlugins(Unidoc, MimaPlugin)
AkkaBuild.defaultSettings AkkaBuild.defaultSettings

View file

@ -1,12 +1,6 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.camel OSGi.camel
Dependencies.camel Dependencies.camel
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-camel").value

View file

@ -1,19 +1,12 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNodeScalaTest, SigarLoader } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNodeScalaTest, SigarLoader }
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
SigarLoader.sigarSettings SigarLoader.sigarSettings
OSGi.clusterMetrics OSGi.clusterMetrics
Dependencies.clusterMetrics Dependencies.clusterMetrics
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-cluster-metrics").value
parallelExecution in Test := false parallelExecution in Test := false
enablePlugins(MultiNodeScalaTest) enablePlugins(MultiNodeScalaTest)

View file

@ -1,14 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, ScaladocNoVerificationOfDiagrams, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, ScaladocNoVerificationOfDiagrams, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.clusterSharding OSGi.clusterSharding
Dependencies.clusterSharding Dependencies.clusterSharding
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-cluster-sharding").value
enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams) enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)

View file

@ -1,14 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, ScaladocNoVerificationOfDiagrams, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, ScaladocNoVerificationOfDiagrams, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.clusterTools OSGi.clusterTools
Dependencies.clusterTools Dependencies.clusterTools
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-cluster-tools").value
enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams) enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)

View file

@ -1,17 +1,11 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNodeScalaTest } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNodeScalaTest }
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.cluster OSGi.cluster
Dependencies.cluster Dependencies.cluster
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-cluster").value
// disable parallel tests // disable parallel tests
parallelExecution in Test := false parallelExecution in Test := false

View file

@ -1,12 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNode, ScaladocNoVerificationOfDiagrams } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi, MultiNode, ScaladocNoVerificationOfDiagrams }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.contrib OSGi.contrib
Dependencies.contrib Dependencies.contrib
description := """| description := """|
@ -21,3 +17,4 @@ description := """|
|""".stripMargin |""".stripMargin
enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams) enablePlugins(MultiNode, ScaladocNoVerificationOfDiagrams)
disablePlugins(MimaPlugin)

View file

@ -1,16 +1,9 @@
import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, Unidoc, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, MultiNode, Unidoc, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.distributedData OSGi.distributedData
Dependencies.distributedData Dependencies.distributedData
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-distributed-data-experimental").value
enablePlugins(MultiNodeScalaTest) enablePlugins(MultiNodeScalaTest)

View file

@ -3,28 +3,21 @@ import akka.ValidatePullRequest._
import com.typesafe.sbt.SbtScalariform.ScalariformKeys import com.typesafe.sbt.SbtScalariform.ScalariformKeys
import com.typesafe.sbt.SbtSite.site import com.typesafe.sbt.SbtSite.site
import com.typesafe.sbt.site.SphinxSupport._ import com.typesafe.sbt.site.SphinxSupport._
import com.typesafe.tools.mima.plugin.MimaKeys
enablePlugins(ScaladocNoVerificationOfDiagrams)
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.dontPublishSettings
Formatting.docFormatSettings Formatting.docFormatSettings
Dependencies.docs
site.settings site.settings
site.sphinxSupport() site.sphinxSupport()
site.publishSite site.publishSite
SphinxDoc.sphinxPreprocessing SphinxDoc.sphinxPreprocessing
SphinxDoc.docsSettings SphinxDoc.docsSettings
Dependencies.docs
unmanagedSourceDirectories in ScalariformKeys.format in Test <<= unmanagedSourceDirectories in Test unmanagedSourceDirectories in ScalariformKeys.format in Test <<= unmanagedSourceDirectories in Test
additionalTasks in ValidatePR += generate in Sphinx additionalTasks in ValidatePR += generate in Sphinx
AkkaBuild.dontPublishSettings enablePlugins(ScaladocNoVerificationOfDiagrams)
disablePlugins(MimaPlugin)

View file

@ -1,8 +1,6 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.httpCore OSGi.httpCore
Dependencies.httpCore Dependencies.httpCore
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http-core").value

View file

@ -1,11 +1,9 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.httpJackson OSGi.httpJackson
Dependencies.httpJackson Dependencies.httpJackson
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http-jackson").value
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)

View file

@ -1,9 +1,7 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.httpSprayJson OSGi.httpSprayJson
Dependencies.httpSprayJson Dependencies.httpSprayJson
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http-spray-json").value

View file

@ -1,9 +1,7 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.httpXml OSGi.httpXml
Dependencies.httpXml Dependencies.httpXml
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http-xml").value

View file

@ -1,10 +1,8 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.httpTestkit OSGi.httpTestkit
Dependencies.httpTestkit Dependencies.httpTestkit
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http-testkit").value
scalacOptions in Compile += "-language:postfixOps" scalacOptions in Compile += "-language:postfixOps"

View file

@ -10,3 +10,5 @@ testOptions += Tests.Argument(TestFrameworks.JUnit, "--ignore-runners=")
scalacOptions in Compile += "-language:_" scalacOptions in Compile += "-language:_"
mainClass in run in Test := Some("akka.http.javadsl.SimpleServerApp") mainClass in run in Test := Some("akka.http.javadsl.SimpleServerApp")
disablePlugins(MimaPlugin)

View file

@ -1,11 +1,10 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.http OSGi.http
Dependencies.http Dependencies.http
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-http").value
enablePlugins(spray.boilerplate.BoilerplatePlugin) enablePlugins(spray.boilerplate.BoilerplatePlugin)
scalacOptions in Compile += "-language:_" scalacOptions in Compile += "-language:_"

View file

@ -1,12 +1,7 @@
import akka.{ AkkaBuild, Dependencies, Formatting, ScaladocNoVerificationOfDiagrams } import akka.{ AkkaBuild, Dependencies, Formatting, ScaladocNoVerificationOfDiagrams }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
Dependencies.kernel Dependencies.kernel
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-kernel").value
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)

View file

@ -1,8 +1,4 @@
import akka.{AkkaBuild, Formatting, OSGi} import akka.{AkkaBuild, Formatting}
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-multi-node-testkit").value

View file

@ -1,14 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.osgi OSGi.osgi
Dependencies.osgi Dependencies.osgi
parallelExecution in Test := false parallelExecution in Test := false
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-osgi").value

View file

@ -1,5 +1,4 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.docFormatSettings Formatting.docFormatSettings
@ -14,3 +13,4 @@ scalacOptions += "-language:_"
sources in doc in Compile := List() sources in doc in Compile := List()
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)
disablePlugins(MimaPlugin)

View file

@ -1,18 +1,11 @@
import akka.{ AkkaBuild, Dependencies, Formatting, ScaladocNoVerificationOfDiagrams, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, ScaladocNoVerificationOfDiagrams, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.persistenceQuery OSGi.persistenceQuery
Dependencies.persistenceQuery Dependencies.persistenceQuery
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-persistence-query-experimental").value fork in Test := true
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)
fork in Test := true

View file

@ -6,3 +6,5 @@ Formatting.formatSettings
Dependencies.persistenceShared Dependencies.persistenceShared
fork in Test := true fork in Test := true
disablePlugins(MimaPlugin)

View file

@ -1,12 +1,10 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
// OSGi.persistenceTck TODO: we do need to export this as OSGi bundle too? // OSGi.persistenceTck TODO: we do need to export this as OSGi bundle too?
Dependencies.persistenceTck Dependencies.persistenceTck
fork in Test := true fork in Test := true
disablePlugins(MimaPlugin)

View file

@ -1,14 +1,8 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.persistence OSGi.persistence
Dependencies.persistence Dependencies.persistence
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-persistence").value
fork in Test := true fork in Test := true

View file

@ -1,11 +1,8 @@
import akka.{ AkkaBuild, Formatting, OSGi, Unidoc, Dependencies } import akka.{ AkkaBuild, Formatting, OSGi, Unidoc, Dependencies }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.protobuf
enablePlugins(ScaladocNoVerificationOfDiagrams) enablePlugins(ScaladocNoVerificationOfDiagrams)
disablePlugins(MimaPlugin)
OSGi.protobuf

View file

@ -1,18 +1,14 @@
import akka.{ AkkaBuild, Dependencies, Formatting, MultiNodeScalaTest, Unidoc } import akka.{ AkkaBuild, Dependencies, Formatting, MultiNodeScalaTest, Unidoc }
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._ import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.dontPublishSettings
Formatting.formatSettings Formatting.formatSettings
Dependencies.remoteTests Dependencies.remoteTests
// disable parallel tests // disable parallel tests
parallelExecution in Test := false parallelExecution in Test := false
publishArtifact in Compile := false publishArtifact in Compile := false
enablePlugins(MultiNodeScalaTest) enablePlugins(MultiNodeScalaTest)
disablePlugins(MimaPlugin)
AkkaBuild.dontPublishSettings

View file

@ -1,14 +1,8 @@
import akka.{AkkaBuild, Dependencies, Formatting, OSGi} import akka.{AkkaBuild, Dependencies, Formatting, OSGi}
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.remote OSGi.remote
Dependencies.remote Dependencies.remote
parallelExecution in Test := false parallelExecution in Test := false
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-remote").value

View file

@ -1,12 +1,6 @@
import akka.{ AkkaBuild, Dependencies, Formatting, OSGi } import akka.{ AkkaBuild, Dependencies, Formatting, OSGi }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.slf4j OSGi.slf4j
Dependencies.slf4j Dependencies.slf4j
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-slf4j").value

View file

@ -1,8 +1,6 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.streamTestkit OSGi.streamTestkit
Dependencies.streamTestkit Dependencies.streamTestkit
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-stream-testkit").value

View file

@ -4,3 +4,5 @@ AkkaBuild.defaultSettings
AkkaBuild.dontPublishSettings AkkaBuild.dontPublishSettings
Formatting.formatSettings Formatting.formatSettings
Dependencies.streamTestsTck Dependencies.streamTestsTck
disablePlugins(MimaPlugin)

View file

@ -4,3 +4,5 @@ AkkaBuild.defaultSettings
AkkaBuild.dontPublishSettings AkkaBuild.dontPublishSettings
Formatting.formatSettings Formatting.formatSettings
Dependencies.streamTests Dependencies.streamTests
disablePlugins(MimaPlugin)

View file

@ -1,9 +1,8 @@
import akka._ import akka._
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.stream OSGi.stream
Dependencies.stream Dependencies.stream
MimaKeys.previousArtifacts := akkaStreamAndHttpPreviousArtifacts("akka-stream").value
enablePlugins(spray.boilerplate.BoilerplatePlugin) enablePlugins(spray.boilerplate.BoilerplatePlugin)

View file

@ -1,15 +1,8 @@
import akka.{ AkkaBuild, Formatting, OSGi, Dependencies } import akka.{ AkkaBuild, Formatting, OSGi, Dependencies }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
Formatting.formatSettings Formatting.formatSettings
OSGi.testkit OSGi.testkit
Dependencies.testkit // to fix scaladoc generation
// to fix scaladoc generation
Dependencies.testkit
initialCommands += "import akka.testkit._" initialCommands += "import akka.testkit._"
MimaKeys.previousArtifacts := akkaPreviousArtifacts("akka-testkit").value

View file

@ -1,6 +1,7 @@
import akka.{ AkkaBuild, Formatting, OSGi, Dependencies } import akka.{ AkkaBuild, Formatting }
import com.typesafe.tools.mima.plugin.MimaKeys
AkkaBuild.defaultSettings AkkaBuild.defaultSettings
AkkaBuild.experimentalSettings AkkaBuild.experimentalSettings
Formatting.formatSettings Formatting.formatSettings
disablePlugins(MimaPlugin)

View file

@ -1 +1,2 @@
enablePlugins(akka.UnidocRoot, akka.TimeStampede, akka.UnidocWithPrValidation) enablePlugins(akka.UnidocRoot, akka.TimeStampede, akka.UnidocWithPrValidation)
disablePlugins(MimaPlugin)

View file

@ -13,6 +13,7 @@ import com.typesafe.sbt.S3Plugin.S3
import com.typesafe.sbt.S3Plugin.s3Settings import com.typesafe.sbt.S3Plugin.s3Settings
import com.typesafe.sbt.pgp.PgpKeys.publishSigned import com.typesafe.sbt.pgp.PgpKeys.publishSigned
import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm import com.typesafe.sbt.SbtMultiJvm.MultiJvmKeys.MultiJvm
import com.typesafe.tools.mima.plugin.MimaPlugin
import sbt.Keys._ import sbt.Keys._
import sbt._ import sbt._
import sbtunidoc.Plugin.ScalaUnidoc import sbtunidoc.Plugin.ScalaUnidoc
@ -75,7 +76,7 @@ object AkkaBuild extends Build {
stream, streamTestkit, streamTests, streamTestsTck, parsing, stream, streamTestkit, streamTests, streamTestsTck, parsing,
httpCore, http, httpSprayJson, httpXml, httpJackson, httpTests, httpTestkit httpCore, http, httpSprayJson, httpXml, httpJackson, httpTests, httpTestkit
) )
).disablePlugins(ValidatePullRequest) ).disablePlugins(ValidatePullRequest, MimaPlugin)
lazy val actor = Project( lazy val actor = Project(
id = "akka-actor", id = "akka-actor",
@ -350,7 +351,9 @@ object AkkaBuild extends Build {
samplePersistenceJava, samplePersistenceScala, samplePersistenceJavaLambda, samplePersistenceJava, samplePersistenceScala, samplePersistenceJavaLambda,
sampleRemoteJava, sampleRemoteScala, sampleSupervisionJavaLambda, sampleRemoteJava, sampleRemoteScala, sampleSupervisionJavaLambda,
sampleDistributedDataScala, sampleDistributedDataJava) sampleDistributedDataScala, sampleDistributedDataJava)
).settings(samplesSettings: _*) )
.settings(samplesSettings: _*)
.disablePlugins(MimaPlugin)
lazy val sampleCamelJava = Sample.project("akka-sample-camel-java") lazy val sampleCamelJava = Sample.project("akka-sample-camel-java")
lazy val sampleCamelScala = Sample.project("akka-sample-camel-scala") lazy val sampleCamelScala = Sample.project("akka-sample-camel-scala")
@ -529,36 +532,6 @@ object AkkaBuild extends Build {
javacOptions in doc ++= Seq("-Xdoclint:none") javacOptions in doc ++= Seq("-Xdoclint:none")
) )
def akkaPreviousArtifacts(id: String): Def.Initialize[Set[sbt.ModuleID]] = Def.setting {
if (enableMiMa) {
val versions = {
val akka23Versions = Seq("2.3.11", "2.3.12", "2.3.13", "2.3.14")
val akka24Versions = Seq("2.4.0", "2.4.1")
val akka24NewArtifacts = Seq(
"akka-cluster-sharding",
"akka-cluster-tools",
"akka-cluster-metrics",
"akka-persistence",
"akka-distributed-data-experimental",
"akka-persistence-query-experimental"
)
scalaBinaryVersion.value match {
case "2.11" if !akka24NewArtifacts.contains(id) => akka23Versions ++ akka24Versions
case _ => akka24Versions // Only Akka 2.4.x for scala > than 2.11
}
}
// check against all binary compatible artifacts
versions.map(organization.value %% id % _).toSet
}
else Set.empty
}
def akkaStreamAndHttpPreviousArtifacts(id: String): Def.Initialize[Set[sbt.ModuleID]] = Def.setting {
// TODO fix MiMa for 2.4 Akka streams
Set.empty
}
def loadSystemProperties(fileName: String): Unit = { def loadSystemProperties(fileName: String): Unit = {
import scala.collection.JavaConverters._ import scala.collection.JavaConverters._
val file = new File(fileName) val file = new File(fileName)

View file

@ -3,19 +3,55 @@
*/ */
package akka package akka
import com.typesafe.tools.mima.plugin.MimaKeys.{bbcIssueFilters, previousArtifacts}
import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings
import sbt._ import sbt._
import sbt.Keys._
import com.typesafe.tools.mima.plugin.MimaPlugin
import com.typesafe.tools.mima.plugin.MimaPlugin.autoImport._
object MiMa extends AutoPlugin { object MiMa extends AutoPlugin {
override def requires = MimaPlugin
override def trigger = allRequirements override def trigger = allRequirements
override val projectSettings = mimaDefaultSettings ++ Seq( override val projectSettings = Seq(
previousArtifacts := Set.empty, mimaBackwardIssueFilters ++= mimaIgnoredProblems,
bbcIssueFilters ++= mimaIgnoredProblems mimaPreviousArtifacts := akkaPreviousArtifacts(name.value, organization.value, scalaBinaryVersion.value)
) )
def akkaPreviousArtifacts(projectName: String, organization: String, scalaBinaryVersion: String): Set[sbt.ModuleID] = {
val versions = {
val akka23Versions = Seq("2.3.11", "2.3.12", "2.3.13", "2.3.14")
val akka24NoStreamVersions = Seq("2.4.0", "2.4.1")
val akka24StreamVersions = Seq("2.4.2")
val akka24NewArtifacts = Seq(
"akka-cluster-sharding",
"akka-cluster-tools",
"akka-cluster-metrics",
"akka-persistence",
"akka-distributed-data-experimental",
"akka-persistence-query-experimental"
)
val akka242NewArtifacts = Seq(
"akka-stream",
"akka-stream-testkit",
"akka-http-core",
"akka-http-experimental",
"akka-http-testkit",
"akka-http-jackson-experimental",
"akka-http-spray-json-experimental",
"akka-http-xml-experimental"
)
scalaBinaryVersion match {
case "2.11" if !(akka24NewArtifacts ++ akka242NewArtifacts).contains(projectName) => akka23Versions ++ akka24NoStreamVersions ++ akka24StreamVersions
case _ if akka242NewArtifacts.contains(projectName) => akka24StreamVersions
case _ => akka24NoStreamVersions ++ akka24StreamVersions // Only Akka 2.4.x for scala > than 2.11
}
}
// check against all binary compatible artifacts
versions.map(organization %% projectName % _).toSet
}
case class FilterAnyProblem(name: String) extends com.typesafe.tools.mima.core.ProblemFilter { case class FilterAnyProblem(name: String) extends com.typesafe.tools.mima.core.ProblemFilter {
import com.typesafe.tools.mima.core._ import com.typesafe.tools.mima.core._
override def apply(p: Problem): Boolean = p match { override def apply(p: Problem): Boolean = p match {
@ -565,8 +601,7 @@ object MiMa extends AutoPlugin {
Map( Map(
"2.3.11" -> Seq( "2.3.11" -> Seq(
ProblemFilters.exclude[MissingMethodProblem]("akka.actor.ActorCell.clearActorFields"), // #17805, incompatibility with 2.4.x fixed in 2.3.12 ProblemFilters.exclude[MissingMethodProblem]("akka.actor.ActorCell.clearActorFields") // #17805, incompatibility with 2.4.x fixed in 2.3.12
ProblemFilters.exclude[MissingMethodProblem]("akka.japi.Pair.toString") // reported on PR validation machine which uses Java 1.8.0_45
), ),
"2.3.14" -> bcIssuesBetween23and24, "2.3.14" -> bcIssuesBetween23and24,
"2.4.0" -> Seq( "2.4.0" -> Seq(
@ -608,6 +643,34 @@ object MiMa extends AutoPlugin {
// #19440 // #19440
ProblemFilters.exclude[MissingMethodProblem]("akka.pattern.PipeToSupport.pipeCompletionStage"), ProblemFilters.exclude[MissingMethodProblem]("akka.pattern.PipeToSupport.pipeCompletionStage"),
ProblemFilters.exclude[MissingMethodProblem]("akka.pattern.FutureTimeoutSupport.afterCompletionStage") ProblemFilters.exclude[MissingMethodProblem]("akka.pattern.FutureTimeoutSupport.afterCompletionStage")
),
"2.4.2" -> Seq(
FilterAnyProblemStartingWith("akka.stream.impl.VirtualProcessor"),
ProblemFilters.exclude[MissingClassProblem]("akka.stream.impl.Stages$Drop"),
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.stream.impl.MaterializerSession.assignPort"),
ProblemFilters.exclude[MissingClassProblem]("akka.stream.impl.Stages$Drop$"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.FanIn#InputBunch.dequeuePrefering"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.fusing.Fusing#BuildStructuralInfo.registerInteral"),
ProblemFilters.exclude[MissingTypesProblem]("akka.stream.impl.fusing.Drop"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.fusing.Drop.onPush"),
ProblemFilters.exclude[FinalClassProblem]("akka.stream.stage.GraphStageLogic$Reading"), // this class is private
// #19815 make HTTP compile under Scala 2.12.0-M3
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.http.scaladsl.model.headers.CacheDirectives#private.apply"),
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.http.scaladsl.model.headers.CacheDirectives#no-cache.apply"),
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.impl.model.parser.SimpleHeaders.strict-transport-security"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.engine.rendering.RequestRenderingContext.copy"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.engine.rendering.RequestRenderingContext.this"),
ProblemFilters.exclude[MissingTypesProblem]("akka.http.impl.engine.rendering.RequestRenderingContext$"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.engine.rendering.RequestRenderingContext.apply"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.engine.parsing.HttpResponseParser.setRequestMethodForNextResponse"),
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.http.impl.util.package.errorHandling"),
// #19983 withoutSizeLimit overrides for Scala API
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.scaladsl.model.RequestEntity.withoutSizeLimit"),
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.scaladsl.model.UniversalEntity.withoutSizeLimit"),
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.http.scaladsl.model.ResponseEntity.withoutSizeLimit")
) )
) )
} }

View file

@ -76,7 +76,6 @@ object Sample {
*/ */
private val enableAutoPlugins = (project: Project) => private val enableAutoPlugins = (project: Project) =>
project.settings(( project.settings((
MiMa.projectSettings ++
Publish.projectSettings ++ Publish.projectSettings ++
ValidatePullRequest.projectSettings ValidatePullRequest.projectSettings
): _*).configs(ValidatePullRequest.ValidatePR) ): _*).configs(ValidatePullRequest.ValidatePR)

View file

@ -4,6 +4,7 @@
package akka package akka
import com.typesafe.tools.mima.plugin.MimaKeys.reportBinaryIssues import com.typesafe.tools.mima.plugin.MimaKeys.reportBinaryIssues
import com.typesafe.tools.mima.plugin.MimaPlugin
import net.virtualvoid.sbt.graph.backend.SbtUpdateReport import net.virtualvoid.sbt.graph.backend.SbtUpdateReport
import net.virtualvoid.sbt.graph.DependencyGraphKeys._ import net.virtualvoid.sbt.graph.DependencyGraphKeys._
import net.virtualvoid.sbt.graph.ModuleGraph import net.virtualvoid.sbt.graph.ModuleGraph
@ -245,10 +246,7 @@ object ValidatePullRequest extends AutoPlugin {
} apply { tasks: Seq[Task[Any]] => } apply { tasks: Seq[Task[Any]] =>
tasks.join map { seq => () /* Ignore the sequence of unit returned */ } tasks.join map { seq => () /* Ignore the sequence of unit returned */ }
} }
}.value, }.value
// add reportBinaryIssues to validatePullRequest on minor version maintenance branch
validatePullRequest <<= validatePullRequest.dependsOn(reportBinaryIssues)
) )
} }
@ -271,6 +269,20 @@ object MultiNodeWithPrValidation extends AutoPlugin {
) )
} }
/**
* This autoplugin adds MiMa binary issue reporting to validatePullRequest task,
* when a project has MimaPlugin autoplugin enabled.
*/
object MimaWithPrValidation extends AutoPlugin {
import ValidatePullRequest._
override def trigger = allRequirements
override def requires = ValidatePullRequest && MimaPlugin
override lazy val projectSettings = Seq(
additionalTasks in ValidatePR += reportBinaryIssues
)
}
object UnidocWithPrValidation extends AutoPlugin { object UnidocWithPrValidation extends AutoPlugin {
import ValidatePullRequest._ import ValidatePullRequest._

View file

@ -17,8 +17,7 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-site" % "0.7.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.6.0") addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.6.0")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.7-32-g3bebac4") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.9")
resolvers += Resolver.url("2m-sbt-plugins", url("https://dl.bintray.com/2m/sbt-plugins/"))(Resolver.ivyStylePatterns)
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0") addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")