Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
aebeaa0
Fix .jvmopts for modern JDKs by removing unsupported CMSClassUnloadin…
halotukozak Feb 24, 2026
c55330d
Bump sbt to 1.10.7
halotukozak Feb 24, 2026
b7c6bf5
Bump sbt-scoverage to 2.3.1 to resolve scala-xml conflict
halotukozak Feb 24, 2026
3e83f14
Bump sbt-scalajs to 1.18.2
halotukozak Feb 24, 2026
d9a9cbd
Bump sbt-unidoc to 0.5.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
65a0106
Bump sbt-jmh to 0.4.7
halotukozak Feb 24, 2026
c1d3daa
Bump sbt-mima-plugin to 1.1.4
halotukozak Feb 24, 2026
85cb483
Bump sbt-header to 5.10.0
halotukozak Feb 24, 2026
031d577
Bump sbt-scalafmt to 2.5.4
halotukozak Feb 24, 2026
807251c
Bump sbt-assembly to 2.3.1
halotukozak Feb 24, 2026
9da2412
Bump sbt-reproducible-builds to 0.32
halotukozak Feb 24, 2026
b1d55b8
Bump sbt-dynver to 5.1.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
0f8710a
Bump sbt-git to 2.1.0 (org change to com.github.sbt)
halotukozak Feb 24, 2026
d365e23
Bump sbt-sonatype to 3.12.2
halotukozak Feb 24, 2026
911ea97
Bump sbt-pgp to 2.3.1
halotukozak Feb 24, 2026
f395995
Add libraryDependencySchemes for geny to resolve meta-build conflict
halotukozak Feb 24, 2026
6aeefdf
Fix geny version conflict using VersionScheme.Always
halotukozak Feb 24, 2026
45d359d
Update Scala versions to 2.12.20, 2.13.16, 3.3.5
halotukozak Feb 24, 2026
0c9251f
Fix Scala 2.13.16 compatibility and build configuration
halotukozak Feb 24, 2026
cb4aebe
Clarify Task.start/startAndForget stack tracing behavior
halotukozak Feb 25, 2026
b6440ef
feat(01-infrastructure-modernization-01): migrate sbt-tpolecat to org…
halotukozak Feb 25, 2026
da27598
docs(01-infrastructure-modernization-01): complete sbt-tpolecat migra…
halotukozak Feb 25, 2026
7465e7b
fix(01-02): add -Wconf suppressions and fix Scala 3 value-discard errors
halotukozak Feb 25, 2026
294f64c
fix(01-02): disable tpolecat test-time warnings for pre-existing patt…
halotukozak Feb 25, 2026
07bfa7f
docs(01-02): complete cross-compile verification plan
halotukozak Feb 26, 2026
cdb46e3
Remove .planning from git and add to .gitignore
halotukozak Feb 26, 2026
0ecf74e
some reverts
halotukozak Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
java: [ 8, 11 ]
# WARN: build.sbt depends on this key path, as scalaVersion and
# crossScalaVersions is determined from it
scala: [ 2.12.15, 2.13.8, 3.1.2 ]
scala: [ 2.12.20, 2.13.16, 3.3.5 ]

env:
CI: true
Expand Down Expand Up @@ -63,9 +63,9 @@ jobs:
# WARN: build.sbt depends on this key path, as scalaVersion and
# crossScalaVersions is determined from it
include:
- { java: 8, scala: 2.12.15 }
- { java: 8, scala: 2.13.8 }
- { java: 8, scala: 3.1.2 }
- { java: 8, scala: 2.12.20 }
- { java: 8, scala: 2.13.16 }
- { java: 8, scala: 3.3.5 }

env:
CI: true
Expand Down Expand Up @@ -115,9 +115,9 @@ jobs:
fail-fast: false
matrix:
include:
- { java: 8, scala: 2.12.15 }
- { java: 8, scala: 2.13.8 }
- { java: 8, scala: 3.1.2 }
- { java: 8, scala: 2.12.20 }
- { java: 8, scala: 2.13.16 }
- { java: 8, scala: 3.3.5 }

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -158,9 +158,9 @@ jobs:
fail-fast: false
matrix:
include:
- { java: 8, scala: 2.13.8 }
- { java: 8, scala: 2.13.16 }
# TODO: enable this after it works!
# - { java: 8, scala: 3.1.2 }
# - { java: 8, scala: 3.3.5 }

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ TAGS
metals.sbt
.vscode
.bsp
.planning/
1 change: 0 additions & 1 deletion .jvmopts
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,4 @@
-XX:ReservedCodeCacheSize=250M
-XX:+TieredCompilation
-XX:-UseGCOverheadLimit
-XX:+CMSClassUnloadingEnabled

29 changes: 23 additions & 6 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import sbt.{ Def, Global, Tags }

import scala.collection.immutable.SortedSet
import MonixBuildUtils._
import org.typelevel.scalacoptions.ScalacOptions

val benchmarkProjects = List(
"benchmarksPrev",
Expand Down Expand Up @@ -31,9 +32,9 @@ val reactiveStreams_Version = "1.0.4"
val macrotaskExecutor_Version = "1.0.0"
val minitest_Version = "2.9.6"
val implicitBox_Version = "0.3.4"
val kindProjector_Version = "0.13.2"
val kindProjector_Version = "0.13.3"
val betterMonadicFor_Version = "0.3.1"
val silencer_Version = "1.7.8"
val silencer_Version = "1.7.19"
val scalaCompat_Version = "2.7.0"

// The Monix version with which we must keep binary compatibility.
Expand Down Expand Up @@ -168,15 +169,19 @@ lazy val sharedSettings = pgpSettings ++ Seq(
else
ver
},
/*
// Enable this to debug warnings...
Compile / scalacOptions ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 13)) => Seq("-Wconf:any:warning-verbose")
case Some((2, 13)) => Seq(
"-Wconf:cat=other-implicit-type:silent",
// Silence -Wvalue-discard warnings: tpolecat 0.5.x enables -Wvalue-discard which
// catches discarded values (e.g. trySuccess/tryFailure returning Boolean). These are
// pre-existing patterns in the codebase and not bugs.
"-Wconf:msg=unused value of type:silent"
)
case _ => Seq.empty
}
},
*/

// Disabled from the sbt-tpolecat set
Compile / scalacOptions --= Seq(
Expand All @@ -191,6 +196,16 @@ lazy val sharedSettings = pgpSettings ++ Seq(
"-Wunused:params",
"-Xlint:infer-any"
),
// Disabled from tpolecat for test compilation:
// -Wunused:patvars triggers on for-comprehension loop vars in tests (pre-existing pattern)
// -Xlint:constant triggers on intentional overflow tests (e.g. Long.MaxValue + 1)
Test / scalacOptions --= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 13)) => Seq("-Wunused:patvars", "-Xlint:constant")
case Some((2, 12)) => Seq("-Ywarn-unused:patvars")
case _ => Seq.empty
}
},
// Turning off fatal warnings for doc generation
Compile / doc / tpolecatExcludeOptions ++= ScalacOptions.defaultConsoleExclude,
// Silence everything in auto-generated files
Expand All @@ -202,7 +217,9 @@ lazy val sharedSettings = pgpSettings ++ Seq(
},
scalacOptions --= {
if (isDotty.value)
Seq("-Xfatal-warnings")
// tpolecat uses -Werror in Scala 3 (not -Xfatal-warnings); remove both to disable fatal warnings
// so that pre-existing value-discard and similar patterns don't break Scala 3 builds
Seq("-Xfatal-warnings", "-Werror")
else
Seq()
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ object CancelablePromise {
}
if (errors ne null) {
// Throws all errors as a composite
val x :: xs = errors.toList
val x :: xs = errors.toList: @unchecked
throw Platform.composeErrors(x, xs: _*)
}
true
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@
# limitations under the License.
#

sbt.version=1.5.2
sbt.version=1.10.7
28 changes: 15 additions & 13 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.10.0")
addSbtPlugin("com.eed3si9n" % "sbt-unidoc" % "0.4.3")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.3")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.0")
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.7.0")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.6")
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.18.2")
addSbtPlugin("com.github.sbt" % "sbt-unidoc" % "0.5.0")
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.7")
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.4")
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0")
addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.5.4")
addSbtPlugin("com.github.tkawachi" % "sbt-doctest" % "0.10.0")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.9.3")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.3.1")
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "1.2.0")
addSbtPlugin("net.bzzt" % "sbt-reproducible-builds" % "0.30")
addSbtPlugin("io.github.davidgregory084" % "sbt-tpolecat" % "0.3.1")
addSbtPlugin("com.dwijnand" % "sbt-dynver" % "4.1.1")
addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "1.0.2")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.12")
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.1.2")
addSbtPlugin("net.bzzt" % "sbt-reproducible-builds" % "0.32")
addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.3")
addSbtPlugin("com.github.sbt" % "sbt-dynver" % "5.1.0")
addSbtPlugin("com.github.sbt" % "sbt-git" % "2.1.0")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.12.2")
addSbtPlugin("com.github.sbt" % "sbt-pgp" % "2.3.1")

libraryDependencySchemes += "com.lihaoyi" %% "geny" % VersionScheme.Always
Loading