This is an automated email from the ASF dual-hosted git repository.
pjfanning pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pekko-projection.git
The following commit(s) were added to refs/heads/main by this push:
new 6a5a5ee6 Update sbt-mima-plugin to 1.2.0 (#622)
6a5a5ee6 is described below
commit 6a5a5ee69895dbdc9cd48ffbb8154679640c66b2
Author: Scala Steward <[email protected]>
AuthorDate: Tue Sep 8 22:39:44 2026 +0200
Update sbt-mima-plugin to 1.2.0 (#622)
* Update sbt-mima-plugin to 1.2.0
* Add MiMa excludes for internal offset stores
Motivation:
MiMa 1.2.0 reports pre-existing changes in the @InternalApi offset store
classes that MiMa 1.1.6 did not detect, so the sbt-mima-plugin 1.2.0
upgrade fails the Check Code Style job for the slick and r2dbc modules.
Modification:
Add backwards excludes for the newly reported problems in
SlickOffsetStore and R2dbcOffsetStore. Both classes are
@InternalApi private[projection], so they carry no compatibility
guarantee.
Result:
mimaReportBinaryIssues passes for the slick and r2dbc modules with
sbt-mima-plugin 1.2.0.
Tests:
- sbt "slick/mimaReportBinaryIssues" "r2dbc/mimaReportBinaryIssues" /
success
References:
Refs #622
* Give the code style check job more heap
Motivation:
The Check Code Style job runs sbt with the default 1GB heap. With
sbt-mima-plugin 1.2.0 the mimaReportBinaryIssues run over all modules
spends most of its time in GC and then dies with
java.lang.OutOfMemoryError: Java heap space.
Modification:
Set JAVA_OPTS for the code style and binary-compatibility step, using
the same JVM settings as the nightly publish workflow but with a 4GB
maximum heap.
Result:
The job has enough heap to complete checkCodeStyle and
mimaReportBinaryIssues.
Tests:
- Not run - CI configuration only; verified by the GitHub Actions run on
this PR
References:
Refs #622
---------
Co-authored-by: PJ Fanning <[email protected]>
---
.github/workflows/checks.yml | 2 ++
project/plugins.sbt | 2 +-
.../internal-r2dbc-offset-store.excludes | 28 ++++++++++++++++++++++
.../internal-slick-offset-store.excludes | 23 ++++++++++++++++++
4 files changed, 54 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 53c4f2c6..28a46c01 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -46,6 +46,8 @@ jobs:
uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d #
v8.1.1
- name: Code style check and binary-compatibility check
+ env:
+ JAVA_OPTS: -Xms2G -Xmx4G -Xss2M -XX:ReservedCodeCacheSize=256M
-Dfile.encoding=UTF-8
run: sbt "checkCodeStyle; mimaReportBinaryIssues"
check-code-compilation:
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 664326c0..3bee080d 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -25,7 +25,7 @@ addSbtPlugin("com.github.sbt" % "sbt-site-paradox" % "1.8.0")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox-theme" % "0.11.0")
addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.11.0")
-addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.6")
+addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.2.0")
addSbtPlugin("com.lightbend.sbt" % "sbt-bill-of-materials" % "1.1.1")
addSbtPlugin("com.github.sbt.junit" % "sbt-jupiter-interface" % "0.19.0")
diff --git
a/r2dbc/src/main/mima-filters/2.0.x.backwards.excludes/internal-r2dbc-offset-store.excludes
b/r2dbc/src/main/mima-filters/2.0.x.backwards.excludes/internal-r2dbc-offset-store.excludes
new file mode 100644
index 00000000..862cfca1
--- /dev/null
+++
b/r2dbc/src/main/mima-filters/2.0.x.backwards.excludes/internal-r2dbc-offset-store.excludes
@@ -0,0 +1,28 @@
+# 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.
+
+# Internal API changes that are only reported since the upgrade to MiMa 1.2.0
+# org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore is @InternalApi
private[projection]
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.FutureTrue")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.FutureFalse")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.saveOffset")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.saveOffsetInTx")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.saveOffsets")
+ProblemFilters.exclude[IncompatibleSignatureProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.saveOffsetsInTx")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.isDuplicate")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.filterAccepted")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.r2dbc.internal.R2dbcOffsetStore.isAccepted")
diff --git
a/slick/src/main/mima-filters/2.0.x.backwards.excludes/internal-slick-offset-store.excludes
b/slick/src/main/mima-filters/2.0.x.backwards.excludes/internal-slick-offset-store.excludes
new file mode 100644
index 00000000..13a679d4
--- /dev/null
+++
b/slick/src/main/mima-filters/2.0.x.backwards.excludes/internal-slick-offset-store.excludes
@@ -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.
+
+# Internal API changes that are only reported since the upgrade to MiMa 1.2.0
+# org.apache.pekko.projection.slick.internal.SlickOffsetStore is @InternalApi
private[projection]
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.slick.internal.SlickOffsetStore.db")
+ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.apache.pekko.projection.slick.internal.SlickOffsetStore.dialect")
+ProblemFilters.exclude[DirectMissingMethodProblem]("org.apache.pekko.projection.slick.internal.SlickOffsetStore.this")
+ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.apache.pekko.projection.slick.internal.SlickOffsetStore.this")
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]