aboutsummaryrefslogtreecommitdiff
path: root/project/MiMaSettings.scala
diff options
context:
space:
mode:
Diffstat (limited to 'project/MiMaSettings.scala')
-rw-r--r--project/MiMaSettings.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/project/MiMaSettings.scala b/project/MiMaSettings.scala
new file mode 100644
index 0000000..d3ec3c1
--- /dev/null
+++ b/project/MiMaSettings.scala
@@ -0,0 +1,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
+ )
+
+}