@@ -3,6 +3,9 @@ import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType}
33ThisBuild / startYear := Some (2002 )
44ThisBuild / licenses += ((" Apache-2.0" , url(" https://www.apache.org/licenses/LICENSE-2.0" )))
55
6+ ThisBuild / versionScheme := Some (" early-semver" )
7+ ThisBuild / versionPolicyIntention := Compatibility .BinaryAndSourceCompatible
8+
69lazy val configSettings : Seq [Setting [_]] = Seq (
710 unmanagedSourceDirectories ++= {
811 unmanagedSourceDirectories.value.flatMap { dir =>
@@ -59,76 +62,22 @@ lazy val xml = crossProject(JSPlatform, JVMPlatform, NativePlatform)
5962 | """ .stripMargin)),
6063
6164 scalaModuleMimaPreviousVersion := {
62- if (isDotty.value) None // No such release yet
63- else Some (" 1.3.0" )
65+ // pending resolution of https://github.com/scalacenter/sbt-version-policy/issues/62
66+ if (isDotty.value) None
67+ else Some (" 2.0.0-M5" )
6468 },
6569 mimaBinaryIssueFilters ++= {
6670 import com .typesafe .tools .mima .core ._
6771 import com .typesafe .tools .mima .core .ProblemFilters ._
6872 Seq (
69- // scala-xml 1.1.1 deprecated XMLEventReader, so it broke
70- // binary compatibility for 2.0.0 in the following way:
71- exclude[MissingClassProblem ](" scala.xml.pull.EvComment" ),
72- exclude[MissingClassProblem ](" scala.xml.pull.EvComment$" ),
73- exclude[MissingClassProblem ](" scala.xml.pull.EvElemEnd" ),
74- exclude[MissingClassProblem ](" scala.xml.pull.EvElemEnd$" ),
75- exclude[MissingClassProblem ](" scala.xml.pull.EvElemStart" ),
76- exclude[MissingClassProblem ](" scala.xml.pull.EvElemStart$" ),
77- exclude[MissingClassProblem ](" scala.xml.pull.EvEntityRef" ),
78- exclude[MissingClassProblem ](" scala.xml.pull.EvEntityRef$" ),
79- exclude[MissingClassProblem ](" scala.xml.pull.EvProcInstr" ),
80- exclude[MissingClassProblem ](" scala.xml.pull.EvProcInstr$" ),
81- exclude[MissingClassProblem ](" scala.xml.pull.EvText" ),
82- exclude[MissingClassProblem ](" scala.xml.pull.EvText$" ),
83- exclude[MissingClassProblem ](" scala.xml.pull.ExceptionEvent" ),
84- exclude[MissingClassProblem ](" scala.xml.pull.ExceptionEvent$" ),
85- exclude[MissingClassProblem ](" scala.xml.pull.ProducerConsumerIterator" ),
86- exclude[MissingClassProblem ](" scala.xml.pull.XMLEvent" ),
87- exclude[MissingClassProblem ](" scala.xml.pull.XMLEventReader" ),
88- exclude[MissingClassProblem ](" scala.xml.pull.XMLEventReader$POISON$" ),
89- exclude[MissingClassProblem ](" scala.xml.pull.XMLEventReader$Parser" ),
90- exclude[MissingClassProblem ](" scala.xml.pull.package" ),
91- exclude[MissingClassProblem ](" scala.xml.pull.package$" ),
92- exclude[MissingTypesProblem ](" scala.xml.Atom" ),
93- exclude[MissingTypesProblem ](" scala.xml.Comment" ),
94- exclude[MissingTypesProblem ](" scala.xml.Document" ),
95- exclude[MissingTypesProblem ](" scala.xml.EntityRef" ),
96- exclude[MissingTypesProblem ](" scala.xml.PCData" ),
97- exclude[MissingTypesProblem ](" scala.xml.ProcInstr" ),
98- exclude[MissingTypesProblem ](" scala.xml.SpecialNode" ),
99- exclude[MissingTypesProblem ](" scala.xml.Text" ),
100- exclude[MissingTypesProblem ](" scala.xml.Unparsed" ),
101- // Miscellaneous deprecations
102- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp" ),
103- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp$TopIter$" ),
104- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp$Node$" ),
105- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp$Point$" ),
106- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp$TopIter" ),
107- exclude[MissingClassProblem ](" scala.xml.dtd.impl.PointedHedgeExp$Node" ),
108- exclude[MissingClassProblem ](" scala.xml.dtd.Scanner" ),
109- exclude[MissingClassProblem ](" scala.xml.dtd.ContentModelParser$" ),
110- exclude[MissingClassProblem ](" scala.xml.dtd.ContentModelParser" ),
111- exclude[MissingClassProblem ](" scala.xml.dtd.ElementValidator" ),
112- exclude[MissingClassProblem ](" scala.xml.dtd.ElementValidator" ),
113- exclude[MissingClassProblem ](" scala.xml.factory.Binder" ),
114- exclude[MissingClassProblem ](" scala.xml.parsing.ValidatingMarkupHandler" ),
115- exclude[MissingClassProblem ](" scala.xml.persistent.CachedFileStorage" ),
116- exclude[MissingClassProblem ](" scala.xml.persistent.Index" ),
117- exclude[MissingClassProblem ](" scala.xml.persistent.SetStorage" ),
118- exclude[DirectMissingMethodProblem ](" scala.xml.dtd.ContentModel.parse" ),
119- exclude[DirectMissingMethodProblem ](" scala.xml.Elem.this" ),
120- exclude[DirectMissingMethodProblem ](" scala.xml.Elem.apply" ),
121- exclude[DirectMissingMethodProblem ](" scala.xml.Elem.processXml" ),
122- exclude[DirectMissingMethodProblem ](" scala.xml.Elem.xmlToProcess" ),
123- // Scala 2.12 deprecated mutable.Stack, so we broke
124- // binary compatibility for 2.0.0 in the following way:
125- exclude[IncompatibleMethTypeProblem ](" scala.xml.parsing.FactoryAdapter.scopeStack_=" ),
126- exclude[IncompatibleResultTypeProblem ](" scala.xml.parsing.FactoryAdapter.hStack" ),
127- exclude[IncompatibleResultTypeProblem ](" scala.xml.parsing.FactoryAdapter.scopeStack" ),
128- exclude[IncompatibleResultTypeProblem ](" scala.xml.parsing.FactoryAdapter.attribStack" ),
129- exclude[IncompatibleResultTypeProblem ](" scala.xml.parsing.FactoryAdapter.tagStack" ),
73+ // because we reverted #279
74+ exclude[DirectMissingMethodProblem ](" scala.xml.Utility.escapeText" ),
13075 // New MiMa checks for generic signature changes
13176 exclude[IncompatibleSignatureProblem ](" *" ),
77+ // afaict this is just a JDK 8 vs 15 difference, producing a false positive when
78+ // we compare classes built on JDK 15 (which we only do on CI, not at release time)
79+ // to previous-version artifacts that were built on 8. see scala/scala-xml#501
80+ exclude[DirectMissingMethodProblem ](" scala.xml.include.sax.XIncluder.declaration" ),
13281 )
13382 },
13483
0 commit comments