Update to MiMa 0.6.0 (#27558)

This commit is contained in:
Arnout Engelen 2019-09-11 11:28:12 +02:00 committed by Johannes Rudolph
parent b84624fc70
commit e6859253e5
39 changed files with 128 additions and 12 deletions

View file

@ -8,3 +8,6 @@ ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.actor.AbstractActor#A
# #24989 Fix NotInfluenceReceiveTimeout behavior when used with Timers trait # #24989 Fix NotInfluenceReceiveTimeout behavior when used with Timers trait
ProblemFilters.exclude[IncompatibleTemplateDefProblem]("akka.actor.TimerSchedulerImpl$TimerMsg") ProblemFilters.exclude[IncompatibleTemplateDefProblem]("akka.actor.TimerSchedulerImpl$TimerMsg")
ProblemFilters.exclude[MissingClassProblem]("akka.actor.TimerSchedulerImpl$TimerMsg$") ProblemFilters.exclude[MissingClassProblem]("akka.actor.TimerSchedulerImpl$TimerMsg$")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.serialization.Serialization.withTransportInformation")

View file

@ -14,3 +14,15 @@ ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.CNameRecord.writ
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.AAAARecord.write") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.AAAARecord.write")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.ResourceRecord.write") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.ResourceRecord.write")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.SRVRecord.write") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.dns.SRVRecord.write")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.CoordinatedShutdown.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.TypedActor.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.event.AddressTerminatedTopic.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.Tcp.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.UdpConnected.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.Dns.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.io.Udp.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.CircuitBreaker.convertJavaFailureFnToScala")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.serialization.SerializationExtension.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.util.ManifestInfo.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,4 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleResultTypeProblem]("akka.actor.TypedActor.apply")
## TimerMode parameter
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.actor.FSM#Timer.unapply")

View file

@ -55,8 +55,8 @@ ProblemFilters.exclude[MissingClassProblem]("akka.actor.UntypedActorWithStash")
ProblemFilters.exclude[MissingClassProblem]("akka.actor.UntypedActorWithUnrestrictedStash") ProblemFilters.exclude[MissingClassProblem]("akka.actor.UntypedActorWithUnrestrictedStash")
ProblemFilters.exclude[MissingClassProblem]("akka.actor.UntypedActorContext") ProblemFilters.exclude[MissingClassProblem]("akka.actor.UntypedActorContext")
ProblemFilters.exclude[MissingClassProblem]("akka.actor.ExtensionKey") ProblemFilters.exclude[MissingClassProblem]("akka.actor.ExtensionKey")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.event.LoggingReceive.create") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.event.LoggingReceive.create")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.event.Logging.getLogger") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.event.Logging.getLogger")
ProblemFilters.exclude[MissingTypesProblem]("akka.routing.RoutedActorCell") ProblemFilters.exclude[MissingTypesProblem]("akka.routing.RoutedActorCell")
ProblemFilters.exclude[MissingTypesProblem]("akka.routing.ResizablePoolCell") ProblemFilters.exclude[MissingTypesProblem]("akka.routing.ResizablePoolCell")
@ -76,9 +76,9 @@ ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.actor.TimerScheduler.
# Remove deprecated features # Remove deprecated features
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.AbstractActor#ActorContext.getChild") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.AbstractActor#ActorContext.getChild")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorIdentity.getRef") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.actor.ActorIdentity.getRef")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.pattern.CircuitBreaker.onClose") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.CircuitBreaker.onClose")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.pattern.CircuitBreaker.onOpen") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.CircuitBreaker.onOpen")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.pattern.CircuitBreaker.onHalfOpen") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.pattern.CircuitBreaker.onHalfOpen")
# streamref serialization #27304 # streamref serialization #27304
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.actor.DynamicAccess.classIsOnClasspath") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.actor.DynamicAccess.classIsOnClasspath")
@ -87,4 +87,4 @@ ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.actor.DynamicAccess.c
ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ExtendedActorSystem.classicSystem") ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ExtendedActorSystem.classicSystem")
ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ActorSystem.classicSystem") ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ActorSystem.classicSystem")
ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.AbstractActor#ActorContext.classicActorContext") ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.AbstractActor#ActorContext.classicActorContext")
ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ActorContext.classicActorContext") ProblemFilters.exclude[InheritedNewAbstractMethodProblem]("akka.actor.ActorContext.classicActorContext")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.metrics.ClusterMetricsExtension.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -1,2 +1,5 @@
# Rename internal method #25840 # Rename internal method #25840
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.Shard.getEntity") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.Shard.getEntity")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.sharding.ClusterSharding.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,3 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.client.ClusterClientReceptionist.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.pubsub.DistributedPubSub.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.Cluster.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -33,3 +33,9 @@ ProblemFilters.exclude[MissingTypesProblem]("akka.discovery.ServiceDiscovery$Res
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.discovery.ServiceDiscovery#ResolvedTarget.unapply") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.discovery.ServiceDiscovery#ResolvedTarget.unapply")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.discovery.Lookup.unapply") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.discovery.Lookup.unapply")
ProblemFilters.exclude[MissingTypesProblem]("akka.discovery.ServiceDiscovery$Resolved$") ProblemFilters.exclude[MissingTypesProblem]("akka.discovery.ServiceDiscovery$Resolved$")
ProblemFilters.exclude[VirtualStaticMemberProblem]("akka.discovery.Lookup.productPrefix")
ProblemFilters.exclude[VirtualStaticMemberProblem]("akka.discovery.Lookup.productArity")
ProblemFilters.exclude[VirtualStaticMemberProblem]("akka.discovery.Lookup.productElement")
ProblemFilters.exclude[VirtualStaticMemberProblem]("akka.discovery.Lookup.productIterator")
ProblemFilters.exclude[VirtualStaticMemberProblem]("akka.discovery.Lookup.canEqual")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.DistributedData.get")

View file

@ -17,3 +17,5 @@ ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.ddata.Replicat
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.ddata.Replicator.replica") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.ddata.Replicator.replica")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.Replicator.receiveWeaklyUpMemberUp") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.Replicator.receiveWeaklyUpMemberUp")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.cluster.ddata.ORSet.clear")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.testconductor.TestConductor.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.persistence.query.PersistenceQuery.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,4 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.persistence.Persistence.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.persistence.fsm.SnapshotAfter.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.persistence.journal.PersistencePluginProxyExtension.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -0,0 +1,3 @@
# #27411 changes not caught by previous mima versions
## TimerMode parameter
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.persistence.fsm.PersistentFSM#Timer.unapply")

View file

@ -0,0 +1,3 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.*Extension.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.serialization.ActorRefResolveThreadLocalCache.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -5,3 +5,11 @@ ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.artery.*.runInbo
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.remote.artery.ArteryTransport.bindInboundStreams") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.remote.artery.ArteryTransport.bindInboundStreams")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.artery.ArteryTransport.autoSelectPort") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.artery.ArteryTransport.autoSelectPort")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.remote.artery.tcp.TcpFraming.this") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.remote.artery.tcp.TcpFraming.this")
# #27411 changes not caught by previous mima versions
## ActorRef became an OptionVal
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.remote.transport.AkkaPduCodec#Message.unapply")
## StopSignal became OptionVal[StopSignal]
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.remote.artery.Association#OutboundStreamMatValues.unapply")
## ActorRef became OptionVal[ActorRef]
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.remote.EndpointManager#Send.unapply")

View file

@ -36,6 +36,7 @@ ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.serialization.Th
# Upgrade to protobuf 3 # Upgrade to protobuf 3
ProblemFilters.exclude[Problem]("akka.remote.serialization.ArteryMessageSerializer*") ProblemFilters.exclude[Problem]("akka.remote.serialization.ArteryMessageSerializer*")
ProblemFilters.exclude[Problem]("akka.remote.*Formats*") ProblemFilters.exclude[Problem]("akka.remote.*Formats*")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.artery.EventSink.alert")
# Remove AFR #27581 # Remove AFR #27581
ProblemFilters.exclude[MissingClassProblem]("akka.remote.artery.FlightRecorderReader$*") ProblemFilters.exclude[MissingClassProblem]("akka.remote.artery.FlightRecorderReader$*")

View file

@ -1,3 +1,10 @@
# #25742 zip/unzip 22 parameters support # #25742 zip/unzip 22 parameters support
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.ZipWithApply.apply") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.ZipWithApply.apply")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.UnzipWithApply.apply") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.UnzipWithApply.apply")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("com.typesafe.sslconfig.akka.AkkaSSLConfig.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("com.typesafe.sslconfig.akka.AkkaSSLConfig.apply")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.javadsl.Tcp.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.scaladsl.Tcp.get")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.scaladsl.Tcp.apply")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -27,3 +27,7 @@ ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowO
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.interleaveGraph$default$3") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.interleaveGraph$default$3")
ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.interleave") ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.interleave")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.SubFlowImpl.interleaveGraph") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.impl.SubFlowImpl.interleaveGraph")
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectAbstractMethodProblem]("akka.stream.Shape.outlets")
ProblemFilters.exclude[DirectAbstractMethodProblem]("akka.stream.Shape.inlets")

View file

@ -66,8 +66,10 @@ ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowO
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.ActorAttributes#Dispatcher.resolve") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.ActorAttributes#Dispatcher.resolve")
# #24372 No Future/CompletionStage in StreamRefs # #24372 No Future/CompletionStage in StreamRefs
# no filter because MiMa doesn't check the generic signature ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.scaladsl.StreamRefs.sinkRef")
# https://github.com/lightbend/mima/issues/40 ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.scaladsl.StreamRefs.sourceRef")
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.javadsl.StreamRefs.sinkRef")
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.javadsl.StreamRefs.sourceRef")
# 26188 remove Timed # 26188 remove Timed
ProblemFilters.exclude[MissingClassProblem]("akka.stream.extra.Timed$TimedFlowContext") ProblemFilters.exclude[MissingClassProblem]("akka.stream.extra.Timed$TimedFlowContext")
@ -227,4 +229,10 @@ ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.stage.GraphStage
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.stream.stage.GraphStageLogic#StageActor.this") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.stream.stage.GraphStageLogic#StageActor.this")
# Internal class made final #27472 # Internal class made final #27472
ProblemFilters.exclude[FinalClassProblem]("akka.stream.scaladsl.CoupledTerminationBidi") ProblemFilters.exclude[FinalClassProblem]("akka.stream.scaladsl.CoupledTerminationBidi")
# Rename type parameter for join and joinMat #26828
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.javadsl.Flow.join")
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.javadsl.Flow.joinMat")
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.scaladsl.Flow.join")
ProblemFilters.exclude[IncompatibleSignatureProblem]("akka.stream.scaladsl.Flow.joinMat")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.testkit.TestKitExtension.get")

View file

@ -0,0 +1,2 @@
# #27411 changes not caught by previous mima versions
ProblemFilters.exclude[IncompatibleSignatureProblem]("*")

View file

@ -9,4 +9,5 @@ ProblemFilters.exclude[MissingClassProblem]("akka.testkit.TestMessageSerializer"
# Some TestKit methods unaccessible from Java # Some TestKit methods unaccessible from Java
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.testkit.javadsl.TestKit.expectMsgAnyOf") ProblemFilters.exclude[DirectMissingMethodProblem]("akka.testkit.javadsl.TestKit.expectMsgAnyOf")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.testkit.javadsl.TestKit.expectMsgAllOf") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.testkit.javadsl.TestKit.expectMsgAllOf")
ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.testkit.javadsl.TestKit.expectMsgAnyOf") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.testkit.javadsl.TestKit.expectMsgAnyOf")
ProblemFilters.exclude[DirectMissingMethodProblem]("akka.testkit.javadsl.TestKit.expectMsgAllOf")

View file

@ -35,7 +35,11 @@ object MiMa extends AutoPlugin {
else 0 else 0
if (!projectName.contains("typed")) { if (!projectName.contains("typed")) {
expandVersions(2, 5, firstPatchOf25 to latestPatchOf25) // 2.5.18 is the only release built with Scala 2.12.7, which due to
// https://github.com/scala/bug/issues/11207 produced many more
// static methods than expected. These are hard to filter out, so
// we exclude it here and rely on the checks for 2.5.17 and 2.5.19.
expandVersions(2, 5, ((firstPatchOf25 to latestPatchOf25).toSet - 18).toList)
} else { } else {
Nil Nil
} ++ expandVersions(2, 6, 0 to latestPatchOf26) } ++ expandVersions(2, 6, 0 to latestPatchOf26)

View file

@ -7,7 +7,7 @@ addSbtPlugin("com.lightbend.sbt" % "sbt-java-formatter" % "0.4.4")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.0.4") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.0.4")
addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.6") addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.9.6")
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.5") addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.5")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.3.0") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.6.0")
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.2") addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.2")
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.2") addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.2")
addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "3.0.0") addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "3.0.0")