Skip to content

Commit a0c1bcf

Browse files
authored
Fix Scala 2.13 warnings (#332)
Fix Scala 2.13 warnings
2 parents 13e461c + 7c61e1a commit a0c1bcf

File tree

8 files changed

+13
-13
lines changed

8 files changed

+13
-13
lines changed

build.sbt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ inThisBuild(Seq(
1212
git.gitTagToVersionNumber := (tag => if (tag matches "[0.9]+\\..*") Some(tag) else None),
1313
git.useGitDescribe := true,
1414
scalaVersion := sys.props.getOrElse("mima.buildScalaVersion", "2.12.8"),
15-
scalacOptions := Seq("-feature", "-deprecation", "-Xlint", "-Xfuture"),
15+
scalacOptions := Seq("-feature", "-deprecation", "-Xlint"),
1616
crossScalaVersions := Nil,
1717
))
1818

@@ -49,6 +49,7 @@ val functionalTests = Project("functional-tests", file("functional-tests"))
4949
.disablePlugins(BintrayPlugin)
5050
.settings(
5151
crossScalaVersions := Seq("2.12.8", "2.13.0"),
52+
libraryDependencies += "org.scala-lang.modules" %% "scala-collection-compat" % "2.1.1",
5253
mimaFailOnNoPrevious := false,
5354
skip in publish := true,
5455
)

core/src/main/scala/com/typesafe/tools/mima/core/Config.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ object Config {
2828
lazy val outDir: Directory = {
2929
assert(!inPlace)
3030
val f = Path(settings.mimaOutDir.value).toDirectory
31-
if (!(f.isDirectory && f.canWrite)) fatal(f + " is not a writable directory")
31+
if (!(f.isDirectory && f.canWrite)) fatal(s"$f is not a writable directory")
3232
f
3333
}
3434

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package com.typesafe.tools.mima.core
22

33
import scala.collection.mutable
4-
import scala.collection.TraversableOnce
54

6-
class Members(members: TraversableOnce[MemberInfo]) {
7-
private val bindings = new mutable.HashMap[String, List[MemberInfo]] {
8-
override def default(key: String) = Nil
9-
}
5+
class Members(members: Iterable[MemberInfo]) {
6+
private val bindings = new mutable.HashMap[String, List[MemberInfo]]().withDefaultValue(Nil)
107

118
locally {
129
for (m <- members)
@@ -17,7 +14,7 @@ class Members(members: TraversableOnce[MemberInfo]) {
1714

1815
def get(name: String): Iterator[MemberInfo] = bindings(name).iterator
1916

20-
def withoutStatic: Members = new Members(iterator.filterNot(_.isStatic))
17+
def withoutStatic: Members = new Members(iterator.filterNot(_.isStatic).toIndexedSeq)
2118
}
2219

2320
object NoMembers extends Members(Nil)

core/src/main/scala/com/typesafe/tools/mima/core/Settings.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Settings(specificOptions: String*) extends nsc.Settings(Console.println) {
1414
val mimaOutDir = StringSetting("-d", "directory", "Specify where to place generated class files", "(change existing)")
1515
val fixall = BooleanSetting("-fixall", "Fix without asking")
1616

17-
allSettings += (interactive, mimaOutDir)
17+
allSettings ++= Seq(interactive, mimaOutDir)
1818

1919
def visibleNames =
2020
List(

core/src/main/scala/com/typesafe/tools/mima/lib/analyze/method/MethodChecker.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ private[analyze] abstract class BaseMethodChecker extends Checker[MemberInfo, Cl
88

99
protected val rules = Seq(AccessModifier, FinalModifier, AbstractModifier, JavaStatic)
1010

11-
protected def check(method: MemberInfo, in: TraversableOnce[MemberInfo]): Option[Problem] = {
12-
val meths = (in.toIterator filter (method.params.size == _.params.size)).toList
11+
protected def check(method: MemberInfo, in: Iterator[MemberInfo]): Option[Problem] = {
12+
val meths = in.filter(_.params.lengthCompare(method.params.size) == 0).toList
1313
if (meths.isEmpty)
1414
Some(DirectMissingMethodProblem(method))
1515
else {

functional-tests/src/main/scala/com/typesafe/tools/mima/lib/CollectProblemsTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class CollectProblemsTest {
1818
// load test setup
1919
Config.setup("scala com.typesafe.tools.mima.MiMaLibUI <old-dir> <new-dir>", Array(oldJarPath, newJarPath))
2020
val cp = testClasspath ++ ClassPath.split(asClassPathString(Config.baseClassPath))
21-
val cpString = ClassPath.join(cp: _*)
21+
val cpString = ClassPath.join(cp.toIndexedSeq: _*)
2222
Config.baseClassPath = baseClassPath(cpString)
2323

2424
val mima = new MiMaLib(Config.baseClassPath)

functional-tests/src/main/scala/com/typesafe/tools/mima/lib/ProblemFiltersConfig.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package lib
33

44
import com.typesafe.tools.mima.core.{ProblemFilter, ProblemFilters}
55
import com.typesafe.config._
6-
import scala.collection.JavaConverters._
6+
import scala.jdk.CollectionConverters._
77

88
object ProblemFiltersConfig {
99
private val filterProblemsPath = "filter.problems"

project/MimaSettings.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ object MimaSettings {
3838
// * com.typesafe.tools.mima.core.Config.setup
3939
// * com.typesafe.tools.mima.core.reporterClassPath
4040
// * com.typesafe.tools.mima.lib.MiMaLib.collectProblems
41+
exclude[IncompatibleMethTypeProblem]("*mima.lib.analyze.method.BaseMethodChecker.check"), // avoid TraversableOnce for 2.13
42+
exclude[IncompatibleMethTypeProblem]("*mima.core.Members.this"), // avoid TraversableOnce for 2.13
4143
),
4244
)
4345
}

0 commit comments

Comments
 (0)