aboutsummaryrefslogtreecommitdiff
path: root/project/MiMaSettings.scala
blob: d3ec3c1da04f354792e93e95bf2a4333c01b176c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import com.typesafe.tools.mima.plugin.MimaPlugin
import sbt.{Def, _}
import sbt.Keys._

/** This plugin extends the Migration Manager (MiMa) Plugin with common settings
  * for driver-core projects.
  */
object MiMaSettings extends AutoPlugin {

  override def requires = MimaPlugin
  override def trigger  = allRequirements

  object autoImport {
    val abiVersion = settingKey[String]("Previous version of binary-compatible projects")
    val checkAbi   = taskKey[Unit]("Check ABI compatibility with declared abiVersion")
  }
  import autoImport._
  import MimaPlugin.autoImport._

  override def buildSettings: Seq[Def.Setting[_]] = Seq(abiVersion := "")
  override def projectSettings: Seq[Def.Setting[_]] = Seq(
    mimaPreviousArtifacts := Set(
      "xyz.driver" %% name.value % abiVersion.value
    ),
    checkAbi := mimaReportBinaryIssues.value
  )

}