From 5df3aca034d6bd78fa165f17bd6d6359ad88d2e9 Mon Sep 17 00:00:00 2001 From: David Gregory Date: Fri, 15 Jan 2016 23:15:33 +0000 Subject: [PATCH 1/3] cats-kernel enforce binary compatibility with MiMa --- build.sbt | 6 +++++- project/plugins.sbt | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 9d80e4d9d1..b800ebde52 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,8 @@ import com.typesafe.sbt.pgp.PgpKeys.publishSigned import com.typesafe.sbt.SbtSite.SiteKeys._ import com.typesafe.sbt.SbtGhPages.GhPagesKeys._ +import com.typesafe.tools.mima.plugin.MimaPlugin.mimaDefaultSettings +import com.typesafe.tools.mima.plugin.MimaKeys.previousArtifacts import sbtunidoc.Plugin.UnidocKeys._ import ReleaseTransformations._ import ScoverageSbtPlugin._ @@ -130,6 +132,8 @@ lazy val macrosJS = macros.js lazy val kernel = crossProject.crossType(CrossType.Pure) .settings(moduleName := "cats-kernel") .settings(catsSettings:_*) + .settings(mimaDefaultSettings:_*) + .settings(previousArtifacts := Set("org.spire-math" %% "cats-kernel" % "0.4.0")) .jsSettings(commonJsSettings:_*) .jvmSettings(commonJvmSettings:_*) @@ -221,7 +225,7 @@ lazy val publishSettings = Seq( // These aliases serialise the build for the benefit of Travis-CI. addCommandAlias("buildJVM", ";macrosJVM/compile;kernelJVM/compile;coreJVM/compile;kernelJVM/test;coreJVM/test;lawsJVM/compile;testsJVM/test;jvm/test;bench/test") -addCommandAlias("validateJVM", ";scalastyle;buildJVM;makeSite") +addCommandAlias("validateJVM", ";scalastyle;buildJVM;mima-report-binary-issues;makeSite") addCommandAlias("validateJS", ";macrosJS/compile;kernelJS/compile;coreJS/compile;lawsJS/compile;testsJS/test;js/test") diff --git a/project/plugins.sbt b/project/plugins.sbt index d5e4e7cb5c..06cde8b17e 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -10,3 +10,4 @@ addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.2.0") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.4") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.5") addSbtPlugin("com.github.tkawachi" % "sbt-doctest" % "0.3.5") +addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.8") From 5bd52fa1f4ef2bb71f0db625abfb969d21a63d0d Mon Sep 17 00:00:00 2001 From: David Gregory Date: Fri, 15 Jan 2016 23:36:57 +0000 Subject: [PATCH 2/3] Ensure validateJVM only runs MiMa over kernel --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index b800ebde52..d191f36e3a 100644 --- a/build.sbt +++ b/build.sbt @@ -225,7 +225,7 @@ lazy val publishSettings = Seq( // These aliases serialise the build for the benefit of Travis-CI. addCommandAlias("buildJVM", ";macrosJVM/compile;kernelJVM/compile;coreJVM/compile;kernelJVM/test;coreJVM/test;lawsJVM/compile;testsJVM/test;jvm/test;bench/test") -addCommandAlias("validateJVM", ";scalastyle;buildJVM;mima-report-binary-issues;makeSite") +addCommandAlias("validateJVM", ";scalastyle;buildJVM;kernelJVM/mima-report-binary-issues;makeSite") addCommandAlias("validateJS", ";macrosJS/compile;kernelJS/compile;coreJS/compile;lawsJS/compile;testsJS/test;js/test") From f23d742e8579146c37f5718fc14dac6bf40aa93f Mon Sep 17 00:00:00 2001 From: David Gregory Date: Sat, 16 Jan 2016 01:14:43 +0000 Subject: [PATCH 3/3] Remove unreleased artifact from MiMa config --- build.sbt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index d191f36e3a..52babea98e 100644 --- a/build.sbt +++ b/build.sbt @@ -133,7 +133,10 @@ lazy val kernel = crossProject.crossType(CrossType.Pure) .settings(moduleName := "cats-kernel") .settings(catsSettings:_*) .settings(mimaDefaultSettings:_*) - .settings(previousArtifacts := Set("org.spire-math" %% "cats-kernel" % "0.4.0")) + .settings(previousArtifacts := Set( + // TODO: Add cats-kernel artifacts as they are released, e.g. + // "org.spire-math" %% "cats-kernel" % "0.4.0" + )) .jsSettings(commonJsSettings:_*) .jvmSettings(commonJvmSettings:_*)