Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

declare versionScheme and enable MiMa #211

Merged
merged 3 commits into from
Mar 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ language: scala

scala:
- 2.11.12
- 2.12.12
- 2.13.4
- 2.12.13
- 2.13.5

env:
- ADOPTOPENJDK=8
Expand Down
21 changes: 20 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@ def osgiExport(scalaVersion: String, version: String) = {
}) ++ Seq(s"scala.compat.java8.*;version=${version}")
}

ThisBuild / versionScheme := Some("early-semver")
ThisBuild / versionPolicyIntention := Compatibility.BinaryAndSourceCompatible

lazy val commonSettings = Seq(
scalacOptions ++= Seq("-feature", "-deprecation", "-unchecked"),

Expand Down Expand Up @@ -70,7 +73,23 @@ lazy val scalaJava8Compat = (project in file("."))

libraryDependencies += "com.novocode" % "junit-interface" % "0.11" % "test",

scalaModuleMimaPreviousVersion := None,
// we're still in 0.x land so we could choose to break bincompat,
// but let's at least be aware when we're doing it. also we should
// think about going 1.0, it's been a while
scalaModuleMimaPreviousVersion := Some("0.9.1"),

mimaBinaryIssueFilters ++= {
import com.typesafe.tools.mima.core._, ProblemFilters._
Seq(
// bah
exclude[IncompatibleSignatureProblem]("*"),
// mysterious -- see scala/scala-java8-compat#211
exclude[DirectMissingMethodProblem ]("scala.compat.java8.Priority1FunctionConverters.enrichAsJavaIntFunction"),
exclude[ReversedMissingMethodProblem]("scala.compat.java8.Priority1FunctionConverters.enrichAsJavaIntFunction"),
exclude[DirectMissingMethodProblem ]("scala.compat.java8.FunctionConverters.package.enrichAsJavaIntFunction" ),
exclude[ReversedMissingMethodProblem]("scala.compat.java8.FunctionConverters.package.enrichAsJavaIntFunction" ),
)
},

testOptions += Tests.Argument(TestFrameworks.JUnit, "-v", "-a"),

Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ export CI_SNAPSHOT_RELEASE="publish"
# for now, until we're confident in the new release scripts, just close the staging repo.
export CI_SONATYPE_RELEASE="; sonatypePrepare; sonatypeBundleUpload; sonatypeClose"

sbt "$setTagScalaVersion" clean test publishLocal $releaseTask
sbt "$setTagScalaVersion" clean test versionPolicyCheck publishLocal $releaseTask
1 change: 1 addition & 0 deletions project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
addSbtPlugin("org.scala-lang.modules" % "sbt-scala-module" % "2.2.4")
addSbtPlugin("ch.epfl.scala" % "sbt-version-policy" % "1.0.0-RC5")