From e32a8ab26233a6761a93480aa6094439db87a33d Mon Sep 17 00:00:00 2001 From: Chris de Vreeze Date: Fri, 13 Aug 2021 20:02:57 +0200 Subject: [PATCH] Towards version 0.8.0 --- .travis.yml | 4 +- CHANGELOG.rst | 78 +++++++++++++++++++ build.sbt | 8 +- .../xpathparser/scripts/RunTestSuite.sc | 4 +- 4 files changed, 86 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7e1e4f9..222c4c6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,9 +13,9 @@ install: matrix: include: - jdk: oraclejdk9 - scala: 3.0.0 + scala: 3.0.1 - jdk: openjdk13 - scala: 3.0.0 + scala: 3.0.1 - jdk: openjdk13 scala: 2.13.6 diff --git a/CHANGELOG.rst b/CHANGELOG.rst index da97dcf..86efa6b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,6 +3,84 @@ CHANGELOG ========= +0.8.0 +===== + +Johan Walters (github user fourth44) discovered a regression in the AST. The larger problem was that the operator +associativity was not represented correctly in the AST, so he made a pull request with a fix. Ultimately a fix +was committed that resembles the pull request, but keeps recursion in some of the AST data structures. The result has +been checked against the XPath 3.1 spec, in particular the table of operator precedence and associativity, so +Johan Walters' findings have led to a substantial improvement in the AST. + +Some of the changes in the AST are breaking. These are (found with xpathparserJVM/*:mimaReportBinaryIssues): + +xpathparser: Failed binary compatibility check against eu.cdevreeze.xpathparser:xpathparser_2.13:0.7.0! Found 32 potential problems (filtered 16) + * static method apply(eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.UnionExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr instead of (eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.apply") + * method firstUnionExpr()eu.cdevreeze.xpathparser.ast.UnionExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.firstUnionExpr") + * method remainder()eu.cdevreeze.xpathparser.ast.MultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.remainder") + * method copy(eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.UnionExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr instead of (eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.copy") + * synthetic method copy$default$1()eu.cdevreeze.xpathparser.ast.UnionExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.MultiplicativeExpr rather than eu.cdevreeze.xpathparser.ast.UnionExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.copy$default$1") + * synthetic method copy$default$3()eu.cdevreeze.xpathparser.ast.MultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.UnionExpr rather than eu.cdevreeze.xpathparser.ast.MultiplicativeExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.copy$default$3") + * method this(eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)Unit in class eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.UnionExpr)Unit instead of (eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)Unit + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.this") + * method apply(eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr in object eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr in current version does not have a correspondent with same parameter signature among (eu.cdevreeze.xpathparser.ast.RelativePathExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.StepExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr, (java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.apply") + * method apply(eu.cdevreeze.xpathparser.ast.UnionExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr in object eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr in current version does not have a correspondent with same parameter signature among (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.MultiplicativeOp,eu.cdevreeze.xpathparser.ast.UnionExpr)eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr, (java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundMultiplicativeExpr.apply") + * method apply(eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr in object eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr in current version does not have a correspondent with same parameter signature among (eu.cdevreeze.xpathparser.ast.AdditiveExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr, (java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.apply") + * static method apply(eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.IntersectExceptExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.InstanceOfExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr instead of (eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.apply") + * method firstInstanceOfExpr()eu.cdevreeze.xpathparser.ast.InstanceOfExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.firstInstanceOfExpr") + * method remainder()eu.cdevreeze.xpathparser.ast.IntersectExceptExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.remainder") + * method copy(eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.IntersectExceptExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.InstanceOfExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr instead of (eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.copy") + * synthetic method copy$default$1()eu.cdevreeze.xpathparser.ast.InstanceOfExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.IntersectExceptExpr rather than eu.cdevreeze.xpathparser.ast.InstanceOfExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.copy$default$1") + * synthetic method copy$default$3()eu.cdevreeze.xpathparser.ast.IntersectExceptExpr in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.InstanceOfExpr rather than eu.cdevreeze.xpathparser.ast.IntersectExceptExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.copy$default$3") + * method this(eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)Unit in class eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.IntersectExceptExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.InstanceOfExpr)Unit instead of (eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)Unit + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.this") + * static method apply(eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.RelativePathExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.StepExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr instead of (eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.apply") + * method firstStepExpr()eu.cdevreeze.xpathparser.ast.StepExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.firstStepExpr") + * method remainder()eu.cdevreeze.xpathparser.ast.RelativePathExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.remainder") + * method copy(eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.RelativePathExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.StepExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr instead of (eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.copy") + * synthetic method copy$default$1()eu.cdevreeze.xpathparser.ast.StepExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.RelativePathExpr rather than eu.cdevreeze.xpathparser.ast.StepExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.copy$default$1") + * synthetic method copy$default$3()eu.cdevreeze.xpathparser.ast.RelativePathExpr in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.StepExpr rather than eu.cdevreeze.xpathparser.ast.RelativePathExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.copy$default$3") + * method this(eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)Unit in class eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.RelativePathExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.StepExpr)Unit instead of (eu.cdevreeze.xpathparser.ast.StepExpr,eu.cdevreeze.xpathparser.ast.StepOp,eu.cdevreeze.xpathparser.ast.RelativePathExpr)Unit + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundRelativePathExpr.this") + * method apply(eu.cdevreeze.xpathparser.ast.InstanceOfExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.IntersectExceptExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr in object eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr in current version does not have a correspondent with same parameter signature among (eu.cdevreeze.xpathparser.ast.IntersectExceptExpr,eu.cdevreeze.xpathparser.ast.IntersectExceptOp,eu.cdevreeze.xpathparser.ast.InstanceOfExpr)eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr, (java.lang.Object,java.lang.Object,java.lang.Object)java.lang.Object + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundIntersectExceptExpr.apply") + * static method apply(eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.AdditiveExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr instead of (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.apply") + * method firstMultiplicativeExpr()eu.cdevreeze.xpathparser.ast.MultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.firstMultiplicativeExpr") + * method remainder()eu.cdevreeze.xpathparser.ast.AdditiveExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr does not have a correspondent in current version + filter with: ProblemFilters.exclude[DirectMissingMethodProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.remainder") + * method copy(eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.AdditiveExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr instead of (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.copy") + * synthetic method copy$default$1()eu.cdevreeze.xpathparser.ast.MultiplicativeExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.AdditiveExpr rather than eu.cdevreeze.xpathparser.ast.MultiplicativeExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.copy$default$1") + * synthetic method copy$default$3()eu.cdevreeze.xpathparser.ast.AdditiveExpr in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr has a different result type in current version, where it is eu.cdevreeze.xpathparser.ast.MultiplicativeExpr rather than eu.cdevreeze.xpathparser.ast.AdditiveExpr + filter with: ProblemFilters.exclude[IncompatibleResultTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.copy$default$3") + * method this(eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)Unit in class eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr's type is different in current version, where it is (eu.cdevreeze.xpathparser.ast.AdditiveExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.MultiplicativeExpr)Unit instead of (eu.cdevreeze.xpathparser.ast.MultiplicativeExpr,eu.cdevreeze.xpathparser.ast.AdditionOp,eu.cdevreeze.xpathparser.ast.AdditiveExpr)Unit + filter with: ProblemFilters.exclude[IncompatibleMethTypeProblem]("eu.cdevreeze.xpathparser.ast.CompoundAdditiveExpr.this") + + 0.7.0 ===== diff --git a/build.sbt b/build.sbt index caa7a0b..9e67300 100644 --- a/build.sbt +++ b/build.sbt @@ -8,7 +8,7 @@ import sbtcrossproject.CrossPlugin.autoImport.{crossProject, CrossType} -val scalaVer = "3.0.0" +val scalaVer = "3.0.1" val crossScalaVer = Seq(scalaVer, "2.13.6") ThisBuild / description := "XPath parser and XPath AST API" @@ -20,7 +20,7 @@ ThisBuild / crossScalaVersions := crossScalaVer ThisBuild / scalacOptions ++= (CrossVersion.partialVersion(scalaVersion.value) match { case (Some((3, _))) => - Seq("-unchecked", "-source:3.0-migration") + Seq("-unchecked", "-source:3.0-migration") // TODO -Xfatal-warnings, after migration case _ => Seq("-Wconf:cat=unused-imports:w,cat=unchecked:w,cat=deprecation:w,cat=feature:w,cat=lint:w", "-Ytasty-reader", "-Xsource:3") }) @@ -66,7 +66,7 @@ lazy val xpathparser = crossProject(JSPlatform, JVMPlatform) libraryDependencies += "org.typelevel" %%% "cats-parse" % "0.3.4", - mimaPreviousArtifacts := Set("eu.cdevreeze.xpathparser" %%% "xpathparser" % "0.6.1") + mimaPreviousArtifacts := Set("eu.cdevreeze.xpathparser" %%% "xpathparser" % "0.7.0") ) .jsSettings( // Do we need this jsEnv? @@ -92,7 +92,7 @@ lazy val xpathparser = crossProject(JSPlatform, JVMPlatform) libraryDependencies += "com.lihaoyi" %%% "pprint" % "0.6.6", - mimaPreviousArtifacts := Set("eu.cdevreeze.xpathparser" %%% "xpathparser" % "0.6.1") + mimaPreviousArtifacts := Set("eu.cdevreeze.xpathparser" %%% "xpathparser" % "0.7.0") ) lazy val xpathparserJVM = xpathparser.jvm diff --git a/scripts/eu/cdevreeze/xpathparser/scripts/RunTestSuite.sc b/scripts/eu/cdevreeze/xpathparser/scripts/RunTestSuite.sc index c7d44f1..c11024e 100644 --- a/scripts/eu/cdevreeze/xpathparser/scripts/RunTestSuite.sc +++ b/scripts/eu/cdevreeze/xpathparser/scripts/RunTestSuite.sc @@ -5,9 +5,9 @@ // This script expects an input property file with test XPaths, like src/test/resources/testXPaths. // It then runs the tests, and shows which ones fail. -// Taking xpathparser version 0.7.0 +// Taking xpathparser version 0.8.0 -import $ivy.`eu.cdevreeze.xpathparser::xpathparser:0.7.0` +import $ivy.`eu.cdevreeze.xpathparser::xpathparser:0.8.0` // Imports that (must) remain available after this initialization script