diff --git a/actor/src/main/mima-filters/binary-api b/actor/src/main/mima-filters/binary-api new file mode 100644 index 00000000000..64a8d9b6f10 --- /dev/null +++ b/actor/src/main/mima-filters/binary-api @@ -0,0 +1,33 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Definitions that were narrowed to private[pekko] or sealed in 2.0.x but are still public in +# bytecode. Kept checked so a later removal is still reported against clients compiled +# against 1.0.x. See https://github.com/scala-garden/mima#keeping-a-definition-checked + +# org.apache.pekko.dispatch.BalancingDispatcher escaped through org.apache.pekko.dispatch.BalancingDispatcherConfigurator.create +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.dispatch.BalancingDispatcher") +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.dispatch.BalancingDispatcherConfigurator") +BinaryApi.keep[HierarchyNoLongerCheckedProblem]("org.apache.pekko.io.Dns$Command") +# org.apache.pekko.pattern.BackoffReset escaped through org.apache.pekko.pattern.BackoffSupervisor.reset +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.BackoffReset") +# org.apache.pekko.pattern.HandleBackoff escaped as a parent of class org.apache.pekko.pattern.internal.BackoffOnStopSupervisor, class org.apache.pekko.pattern.BackoffSupervisor +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.HandleBackoff") +# org.apache.pekko.pattern.HandlingWhileStopped escaped through org.apache.pekko.pattern.internal.BackoffOnStopSupervisor.this, as a parent of class org.apache.pekko.pattern.BackoffSupervisor +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.HandlingWhileStopped") +# org.apache.pekko.pattern.internal.BackoffOnStopSupervisor escaped as a parent of class org.apache.pekko.pattern.BackoffSupervisor +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.pattern.internal.BackoffOnStopSupervisor") diff --git a/cluster-sharding-typed/src/main/mima-filters/binary-api b/cluster-sharding-typed/src/main/mima-filters/binary-api new file mode 100644 index 00000000000..bab4205e285 --- /dev/null +++ b/cluster-sharding-typed/src/main/mima-filters/binary-api @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Definitions that were narrowed to private[pekko] in 2.0.x but are still public in +# bytecode. Kept checked so a later removal is still reported against clients compiled +# against 1.0.x. See https://github.com/scala-garden/mima#keeping-a-definition-checked + +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.cluster.sharding.typed.ClusterShardingSettings#PassivationStrategySettings.this(scala.Option,scala.Option,scala.Option,scala.Option)Unit") diff --git a/cluster-sharding/src/main/mima-filters/binary-api b/cluster-sharding/src/main/mima-filters/binary-api new file mode 100644 index 00000000000..f8f6e52651c --- /dev/null +++ b/cluster-sharding/src/main/mima-filters/binary-api @@ -0,0 +1,22 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Definitions that were narrowed to private[pekko] in 2.0.x but are still public in +# bytecode. Kept checked so a later removal is still reported against clients compiled +# against 1.0.x. See https://github.com/scala-garden/mima#keeping-a-definition-checked + +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.cluster.sharding.PersistentShardCoordinator") diff --git a/project/plugins.sbt b/project/plugins.sbt index 313f37984a0..43d814eb95e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -15,7 +15,7 @@ addSbtPlugin("com.lightbend.sbt" % "sbt-bill-of-materials" % "1.1.1") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.6.2") addSbtPlugin("ch.epfl.scala" % "sbt-scalafix" % "0.14.8") addSbtPlugin("com.github.sbt" % "sbt-osgi" % "0.10.0") -addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.0") +addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.1") addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.6.1") addSbtPlugin("com.thoughtworks.sbt-api-mappings" % "sbt-api-mappings" % "3.0.3") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.8") diff --git a/remote/src/main/mima-filters/binary-api b/remote/src/main/mima-filters/binary-api new file mode 100644 index 00000000000..55659b6088a --- /dev/null +++ b/remote/src/main/mima-filters/binary-api @@ -0,0 +1,23 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Definitions that were narrowed to private[pekko] in 2.0.x but are still public in +# bytecode. Kept checked so a later removal is still reported against clients compiled +# against 1.0.x. See https://github.com/scala-garden/mima#keeping-a-definition-checked + +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.remote.transport.netty.NettyTransportSettings.PortSelector()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.remote.transport.netty.NettyTransportSettings.BindPortSelector()Int") diff --git a/stream/src/main/mima-filters/binary-api b/stream/src/main/mima-filters/binary-api new file mode 100644 index 00000000000..927817bb0e2 --- /dev/null +++ b/stream/src/main/mima-filters/binary-api @@ -0,0 +1,39 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Definitions that were narrowed to private[pekko] or sealed in 2.0.x but are still public in +# bytecode. Kept checked so a later removal is still reported against clients compiled +# against 1.0.x. See https://github.com/scala-garden/mima#keeping-a-definition-checked + +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializer") +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializer$") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.initialInputBufferSize()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.maxInputBufferSize()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.dispatcher()java.lang.String") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.supervisionDecider()scala.Function1") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.debugLogging()Boolean") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.outputBurstLimit()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.fuzzingMode()Boolean") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.autoFusing()Boolean") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.maxFixedBufferSize()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.syncProcessingLimit()Int") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.blockingIoDispatcher()java.lang.String") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings.withDispatcher(java.lang.String)org.apache.pekko.stream.ActorMaterializerSettings") +BinaryApi.keep[ClassNoLongerCheckedProblem]("org.apache.pekko.stream.ActorMaterializerSettings$") +BinaryApi.keep[HierarchyNoLongerCheckedProblem]("org.apache.pekko.stream.Attributes$MandatoryAttribute") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.mode()org.apache.pekko.stream.StreamSubscriptionTimeoutTerminationMode") +BinaryApi.keep[MethodNoLongerCheckedProblem]("org.apache.pekko.stream.StreamSubscriptionTimeoutSettings.timeout()scala.concurrent.duration.FiniteDuration")