diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b0c867a92f..f2bd8302bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -227,7 +227,11 @@ an error like this: [error] filter with: ProblemFilters.exclude[ReversedMissingMethodProblem]("akka.stream.scaladsl.FlowOps.foldAsync") ``` -In such situations it's good to consult with a core team member if the violation can be safely ignored (by adding the above snippet to `/src/main/mima-filters/.backwards.excludes`), or if it would indeed break binary compatibility. +In such situations it's good to consult with a core team member whether the violation can be safely ignored or if it would indeed +break binary compatibility. If the violation can be ignored add exclude statements from the mima output to +a new file named `/src/main/mima-filters/.backwards.excludes/--.excludes`, +e.g. `akka-actor/src/main/mima-filters/2.5.x.backwards.excludes/pr-12345-rename-internal-classes.excludes`. Make sure to add a comment +in the file that describes briefly why the incompatibility can be ignored. Situations when it may be fine to ignore a MiMa issued warning include: diff --git a/akka-actor/src/main/mima-filters/2.5.x.backwards.excludes b/akka-actor/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 98% rename from akka-actor/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-actor/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 745e6f9664..7eea95d2ac 100644 --- a/akka-actor/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-actor/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # excludes for 2.6 ProblemFilters.exclude[MissingClassProblem]("akka.actor.Inbox$") diff --git a/akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes b/akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 83% rename from akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index bff359dbbc..771021ca3d 100644 --- a/akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-cluster-metrics/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Upgrade to protobuf 3 ProblemFilters.exclude[Problem]("akka.cluster.metrics.protobuf.msg.ClusterMetricsMessages*") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.cluster.metrics.protobuf.MessageSerializer.compress") diff --git a/akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes b/akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 95% rename from akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 7ab8fa9ee5..b1124f3b03 100644 --- a/akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-cluster-sharding/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # #26877 Performance improvements of DDataShard ProblemFilters.exclude[Problem]("akka.cluster.sharding.Shard.*") diff --git a/akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes b/akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 86% rename from akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 2b6554c6c3..05f5cbfde4 100644 --- a/akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-cluster-tools/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Protobuf 3 ProblemFilters.exclude[Problem]("akka.cluster.client.protobuf.msg.*") ProblemFilters.exclude[Problem]("akka.cluster.pubsub.protobuf.msg.*") diff --git a/akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes b/akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 95% rename from akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 81c2ce3e97..1655678c01 100644 --- a/akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-cluster/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # 26757 add timings to cluster heart beat messages ProblemFilters.exclude[MissingTypesProblem]("akka.cluster.ClusterHeartbeatSender$Heartbeat$") ProblemFilters.exclude[MissingTypesProblem]("akka.cluster.ClusterHeartbeatSender$HeartbeatRsp$") diff --git a/akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes b/akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 61% rename from akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 6c04674e2e..876f40e563 100644 --- a/akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-coordination/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,2 +1,3 @@ +# This file contains all excludes added before changing to the subdirectory style # Made final when removing api may change ProblemFilters.exclude[FinalClassProblem]("akka.coordination.lease.LeaseUsageSettings") diff --git a/akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes b/akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 52% rename from akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 9ecfc58dd2..27f9178e69 100644 --- a/akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-distributed-data/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,2 +1,3 @@ +# This file contains all excludes added before changing to the subdirectory style # Upgrade to protobuf 3 ProblemFilters.exclude[Problem]("akka.cluster.ddata.protobuf.*") diff --git a/akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes b/akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 79% rename from akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index aba4546843..413597e872 100644 --- a/akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-multi-node-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Protobuf 3 ProblemFilters.exclude[Problem]("akka.remote.testconductor.TestConductorProtocol*") ProblemFilters.exclude[IncompatibleMethTypeProblem]("akka.remote.testconductor.ProtobufDecoder.this") diff --git a/akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes b/akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 95% rename from akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index ed61f8b4f4..49a5ecdec2 100644 --- a/akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-persistence-query/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Remove ActorPublisher/Subscriber ProblemFilters.exclude[MissingClassProblem]("akka.persistence.query.journal.leveldb.LiveEventsByTagPublisher") diff --git a/akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes b/akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 92% rename from akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index f2b3b96b5d..af2ec67dd1 100644 --- a/akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-persistence/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # excludes for 2.6 # Remove deprecated features since 2.5.0 https://github.com/akka/akka/issues/26492 diff --git a/akka-remote/src/main/mima-filters/2.5.x.backwards.excludes b/akka-remote/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 98% rename from akka-remote/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-remote/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index d5661eae86..9534d2ee74 100644 --- a/akka-remote/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-remote/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # #26190 remove actorFor ProblemFilters.exclude[DirectMissingMethodProblem]("akka.remote.RemoteActorRefProvider.actorFor") diff --git a/akka-stream/src/main/mima-filters/2.5.x.backwards.excludes b/akka-stream/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 99% rename from akka-stream/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-stream/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 22adda73e3..6d87af7652 100644 --- a/akka-stream/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-stream/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Java9 RS APIs and more that was missed in a few earlier versions ProblemFilters.exclude[MissingClassProblem]("akka.stream.javadsl.JavaFlowSupport$Source") ProblemFilters.exclude[MissingClassProblem]("akka.stream.javadsl.JavaFlowSupport") diff --git a/akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes b/akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes similarity index 91% rename from akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes rename to akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes index 23e01fed9d..c2b565184e 100644 --- a/akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes +++ b/akka-testkit/src/main/mima-filters/2.5.x.backwards.excludes/_existing.excludes @@ -1,3 +1,4 @@ +# This file contains all excludes added before changing to the subdirectory style # Remove JavaTestKit https://github.com/akka/akka/issues/26189 ProblemFilters.exclude[MissingClassProblem]("akka.testkit.JavaTestKit") ProblemFilters.exclude[MissingClassProblem]("akka.testkit.JavaTestKit$*")