@@ -134,7 +134,7 @@ object Build {
134134 * - `3.M.0` if `P > 0`
135135 * - `3.(M-1).0` if `P = 0`
136136 */
137- val mimaPreviousDottyVersion = " 3.7.0 "
137+ val mimaPreviousDottyVersion = " 3.7.3 " // for 3.8.0, we compare against 3.7.3
138138
139139 /** LTS version against which we check binary compatibility.
140140 *
@@ -304,6 +304,7 @@ object Build {
304304 Test / develocityBuildCacheClient := None ,
305305 extraDevelocityCacheInputFiles := Seq .empty,
306306 extraDevelocityCacheInputFiles / outputFileStamper := FileStamper .Hash ,
307+ resolvers += (" Artifactory" at " https://repo.scala-lang.org/artifactory/fat-jar/" ),
307308 )
308309
309310 // Settings shared globally (scoped in Global). Used in build.sbt
@@ -1636,6 +1637,16 @@ object Build {
16361637 publish / skip := false ,
16371638 // Project specific target folder. sbt doesn't like having two projects using the same target folder
16381639 target := target.value / " scala-library-nonbootstrapped" ,
1640+ // Add configuration for MiMa
1641+ mimaCheckDirection := (compatMode match {
1642+ case CompatMode .BinaryCompatible => " backward"
1643+ case CompatMode .SourceAndBinaryCompatible => " both"
1644+ }),
1645+ mimaExcludeAnnotations += " scala.annotation.experimental" ,
1646+ mimaPreviousArtifacts += (" org.scala-lang" % " fat-stdlib" % " 3.7.3" ),
1647+ mimaForwardIssueFilters := MiMaFilters .Scala3Library .ForwardsBreakingChanges ,
1648+ mimaBackwardIssueFilters := MiMaFilters .Scala3Library .BackwardsBreakingChanges ,
1649+ customMimaReportBinaryIssues(" MiMaFilters.Scala3Library" ),
16391650 )
16401651
16411652 /* Configuration of the org.scala-lang:scala3-library_3:*.**.**-nonbootstrapped project */
@@ -1748,6 +1759,16 @@ object Build {
17481759 scalaCompilerBridgeBinaryJar := {
17491760 Some ((`scala3-sbt-bridge-nonbootstrapped` / Compile / packageBin).value)
17501761 },
1762+ // Add configuration for MiMa
1763+ mimaCheckDirection := (compatMode match {
1764+ case CompatMode .BinaryCompatible => " backward"
1765+ case CompatMode .SourceAndBinaryCompatible => " both"
1766+ }),
1767+ mimaExcludeAnnotations += " scala.annotation.experimental" ,
1768+ mimaPreviousArtifacts += (" org.scala-lang" % " fat-stdlib" % " 3.7.3" ),
1769+ mimaForwardIssueFilters := MiMaFilters .Scala3Library .ForwardsBreakingChanges ,
1770+ mimaBackwardIssueFilters := MiMaFilters .Scala3Library .BackwardsBreakingChanges ,
1771+ customMimaReportBinaryIssues(" MiMaFilters.Scala3Library" ),
17511772 )
17521773
17531774 /* Configuration of the org.scala-lang:scala3-library_3:*.**.**-bootstrapped project */
@@ -1952,6 +1973,7 @@ object Build {
19521973 /* Configuration of the org.scala-lang:tasty-core_3:*.**.**-nonbootstrapped project */
19531974 lazy val `tasty-core-nonbootstrapped` = project.in(file(" tasty" ))
19541975 .dependsOn(`scala3-library-nonbootstrapped`)
1976+ .settings(commonMiMaSettings)
19551977 .settings(
19561978 name := " tasty-core-nonbootstrapped" ,
19571979 moduleName := " tasty-core" ,
@@ -2005,13 +2027,16 @@ object Build {
20052027 Test / envVars ++= Map (
20062028 " EXPECTED_TASTY_VERSION" -> expectedTastyVersion,
20072029 ),
2008-
2030+ mimaForwardIssueFilters := MiMaFilters .TastyCore .ForwardsBreakingChanges ,
2031+ mimaBackwardIssueFilters := MiMaFilters .TastyCore .BackwardsBreakingChanges ,
2032+ customMimaReportBinaryIssues(" MiMaFilters.TastyCore" ),
20092033 )
20102034
20112035 /* Configuration of the org.scala-lang:tasty-core_3:*.**.**-bootstrapped project */
20122036 lazy val `tasty-core-bootstrapped-new` = project.in(file(" tasty" ))
20132037 .dependsOn(`scala3-library-bootstrapped-new`)
20142038 .settings(publishSettings)
2039+ .settings(commonMiMaSettings)
20152040 .settings(
20162041 name := " tasty-core-bootstrapped" ,
20172042 moduleName := " tasty-core" ,
@@ -2074,6 +2099,9 @@ object Build {
20742099 Test / envVars ++= Map (
20752100 " EXPECTED_TASTY_VERSION" -> expectedTastyVersion,
20762101 ),
2102+ mimaForwardIssueFilters := MiMaFilters .TastyCore .ForwardsBreakingChanges ,
2103+ mimaBackwardIssueFilters := MiMaFilters .TastyCore .BackwardsBreakingChanges ,
2104+ customMimaReportBinaryIssues(" MiMaFilters.TastyCore" ),
20772105 )
20782106
20792107 // ==============================================================================================
@@ -3467,18 +3495,6 @@ object Build {
34673495 val doWork = (Compile / doc).result.value
34683496 (Compile / doc/ target).value
34693497 },
3470- commonMiMaSettings,
3471- mimaPreviousArtifacts += {
3472- val thisProjectID = projectID.value
3473- val crossedName = thisProjectID.crossVersion match {
3474- case cv : Disabled => thisProjectID.name
3475- case cv : Binary => s " ${thisProjectID.name}_ ${cv.prefix}3 ${cv.suffix}"
3476- }
3477- (thisProjectID.organization % crossedName % mimaPreviousLTSDottyVersion)
3478- },
3479- mimaForwardIssueFilters := MiMaFilters .Scala3Library .ForwardsBreakingChanges ,
3480- mimaBackwardIssueFilters := MiMaFilters .Scala3Library .BackwardsBreakingChanges ,
3481- customMimaReportBinaryIssues(" MiMaFilters.Scala3Library" ),
34823498 )
34833499 } else base
34843500 }
@@ -3493,14 +3509,6 @@ object Build {
34933509 Test / envVars ++= Map (
34943510 " EXPECTED_TASTY_VERSION" -> expectedTastyVersion,
34953511 ),
3496- if (mode == Bootstrapped ) Def .settings(
3497- commonMiMaSettings,
3498- mimaForwardIssueFilters := MiMaFilters .TastyCore .ForwardsBreakingChanges ,
3499- mimaBackwardIssueFilters := MiMaFilters .TastyCore .BackwardsBreakingChanges ,
3500- customMimaReportBinaryIssues(" MiMaFilters.TastyCore" ),
3501- ) else {
3502- Nil
3503- }
35043512 )
35053513
35063514 def asTastyCoreScala2 : Project = project
0 commit comments