You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Modules have to specify the `mimaPreviousVersion` property.
MiMa is NOT executed if
- the above property is not set
- but the module of version mimaPreviousVersion cannot be resolved
against the scalaBinaryVersion
A warning is issued if MiMa is skipped.
// TODO add doc. not sure i really see the valid use case for this feature. yet.
8
+
// - only relevant for x.y.0-SNAPSHOT, once x.y.0 is out, the binary ver of x.y.1-SNAPSHOT is x.y (patch is dropped)
9
+
// - used when publishing using a scala snapshot. the module will not have SNAPSHOT in the scala binary version.
10
+
// allows using a snapshot of the module more easily. eg if you're using scala 2.12.0-M1, you can say "org.scala-lang.modules" %% "scala-xml" % "1.0.2-SNAPSHOT"
11
+
// - also used to resolve dependencies of modules. when building with a snapshot scala, deps will be resolved against this binver.
6
12
valsnapshotScalaBinaryVersion= settingKey[String]("The Scala binary version to use when building against Scala SNAPSHOT.")
7
13
valrepoName= settingKey[String]("The name of the repository under github.com/scala/.")
14
+
valmimaPreviousVersion= settingKey[Option[String]]("The version of this module to compare against when running MiMa.")
15
+
16
+
privatevalcanRunMima= taskKey[Boolean]("Decides if MiMa should run.")
17
+
privatevalrunMimaIfEnabled= taskKey[Unit]("Run MiMa if mimaPreviousVersion and the module can be resolved against the current scalaBinaryVersion.")
8
18
9
19
defderiveBinaryVersion(sv: String, snapshotScalaBinaryVersion: String) = sv match {
s.log.warn(s"""MiMa will NOT run because the previous artifact "${organization.value}" % "${name.value}_${scalaBinaryVersion.value}" % "${mimaVer.get}" could not be resolved (note the binary Scala version).""")
0 commit comments