Skip to content

Commit 83888d8

Browse files
committed
Fixed error when running MiMa comparing 3.0.4 to 3.0.5, it is good to go in now.
1 parent 053d8d7 commit 83888d8

File tree

3 files changed

+40
-11
lines changed

3 files changed

+40
-11
lines changed

README.md

+18-8
Original file line numberDiff line numberDiff line change
@@ -119,17 +119,27 @@ With Sonatype credentials and GPG file in place, you can now publish to Sonatype
119119

120120
Before publishing any patch release, binary compatibility with previous version should be checked, using Java 6 (for Scala 2.10 and 2.11):
121121

122-
$ sbt ++2.11.11 mimaReportBinaryIssues
123-
$ sbt ++2.11.11 scalatestAppJS/mimaReportBinaryIssues
124-
$ sbt ++2.10.6 mimaReportBinaryIssues
125-
$ sbt ++2.10.6 scalatestAppJS/mimaReportBinaryIssues
122+
$ sbt ++2.11.11 scalactic/package scalactic/mimaReportBinaryIssues
123+
$ sbt ++2.11.11 scalatest/package scalatest/mimaReportBinaryIssues
124+
$ sbt ++2.11.11 scalacticJS/package scalacticJS/mimaReportBinaryIssues
125+
$ sbt ++2.11.11 scalatestJS/package scalatestJS/mimaReportBinaryIssues
126+
127+
$ sbt ++2.10.6 scalactic/package scalactic/mimaReportBinaryIssues
128+
$ sbt ++2.10.6 scalatest/package scalatest/mimaReportBinaryIssues
129+
$ sbt ++2.10.6 scalacticJS/package scalacticJS/mimaReportBinaryIssues
130+
$ sbt ++2.10.6 scalatestJS/package scalatestJS/mimaReportBinaryIssues
126131

127132
and using Java 8 (for Scala 2.12 and 2.13):
128133

129-
$ sbt ++2.12.4 mimaReportBinaryIssues
130-
$ sbt ++2.12.4 scalatestAppJS/mimaReportBinaryIssues
131-
$ sbt ++2.13.0-M2 mimaReportBinaryIssues
132-
$ sbt ++2.13.0-M2 scalatestAppJS/mimaReportBinaryIssues
134+
$ sbt ++2.12.4 scalactic/package scalactic/mimaReportBinaryIssues
135+
$ sbt ++2.12.4 scalatest/package scalatest/mimaReportBinaryIssues
136+
$ sbt ++2.12.4 scalacticJS/package scalacticJS/mimaReportBinaryIssues
137+
$ sbt ++2.12.4 scalatestJS/package scalatestJS/mimaReportBinaryIssues
138+
139+
$ sbt ++2.13.0-M2 scalactic/package scalactic/mimaReportBinaryIssues
140+
$ sbt ++2.13.0-M2 scalatest/package scalatest/mimaReportBinaryIssues
141+
$ sbt ++2.13.0-M2 scalacticJS/package scalacticJS/mimaReportBinaryIssues
142+
$ sbt ++2.13.0-M2 scalatestJS/package scalatestJS/mimaReportBinaryIssues
133143

134144
To publish scalactic, scalatest and scalatest-app (for Scala and Scala-js, version 2.11 and 2.10, and make sure you're on Java 6) to Sonatype, use the following command:
135145

project/plugins.sbt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.7.0")
44

55
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.20")
66

7-
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.14")
7+
addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.18")

project/scalatest.scala

+21-2
Original file line numberDiff line numberDiff line change
@@ -325,12 +325,15 @@ object ScalatestBuild extends Build {
325325
publishLocal := {}
326326
)
327327

328+
lazy val deleteJsDependenciesTask = taskKey[Unit]("Delete JS_DEPENDENCIES")
329+
328330
lazy val scalacticMacroJS = Project("scalacticMacroJS", file("scalactic-macro.js"))
329331
.settings(sharedSettings: _*)
330332
.settings(
331333
projectTitle := "Scalactic Macro.js",
332334
organization := "org.scalactic",
333335
sourceGenerators in Compile += {
336+
// We'll delete JS_DEPENDENCIES in scalactic-macro.js
334337
Def.task{
335338
GenScalacticJS.genMacroScala((sourceManaged in Compile).value, version.value, scalaVersion.value) ++
336339
ScalacticGenResourcesJSVM.genResources((sourceManaged in Compile).value / "org" / "scalactic", version.value, scalaVersion.value) ++
@@ -339,7 +342,13 @@ object ScalatestBuild extends Build {
339342
},
340343
// Disable publishing macros directly, included in scalactic main jar
341344
publish := {},
342-
publishLocal := {}
345+
publishLocal := {},
346+
deleteJsDependenciesTask <<= (classDirectory in Compile) map { jsDependenciesFile =>
347+
(jsDependenciesFile/ "JS_DEPENDENCIES").delete()
348+
()
349+
//val loader: ClassLoader = ClasspathUtilities.toLoader(classpath.map(_.data).map(_.getAbsoluteFile))
350+
//loader.loadClass("your.class.Here").newInstance()
351+
} triggeredBy(compile in Compile)
343352
).enablePlugins(ScalaJSPlugin)
344353

345354
lazy val scalactic = Project("scalactic", file("scalactic"))
@@ -403,6 +412,10 @@ object ScalatestBuild extends Build {
403412
GenScalacticJS.genResource((resourceManaged in Compile).value, version.value, scalaVersion.value)
404413
}.taskValue
405414
},
415+
// include the macro classes and resources in the main jar
416+
mappings in (Compile, packageBin) ++= mappings.in(scalacticMacroJS, Compile, packageBin).value,
417+
// include the macro sources in the main source jar
418+
mappings in (Compile, packageSrc) ++= mappings.in(scalacticMacroJS, Compile, packageSrc).value,
406419
mimaPreviousArtifacts := Set(organization.value %%% moduleName.value % previousReleaseVersion),
407420
mimaCurrentClassfiles := (classDirectory in Compile).value.getParentFile / (moduleName.value + "_" + "sjs0.6_" + scalaBinaryVersion.value + "-" + releaseVersion + ".jar")
408421
).settings(osgiSettings: _*).settings(
@@ -510,7 +523,13 @@ object ScalatestBuild extends Build {
510523
},
511524
docTaskSetting,
512525
mimaPreviousArtifacts := Set(organization.value %% name.value % previousReleaseVersion),
513-
mimaCurrentClassfiles := (classDirectory in Compile).value.getParentFile / (name.value + "_" + scalaBinaryVersion.value + "-" + releaseVersion + ".jar")
526+
mimaCurrentClassfiles := (classDirectory in Compile).value.getParentFile / (name.value + "_" + scalaBinaryVersion.value + "-" + releaseVersion + ".jar"),
527+
mimaBinaryIssueFilters ++= {
528+
Seq(
529+
exclude[MissingClassProblem]("org.scalatest.tools.SbtCommandParser$"),
530+
exclude[MissingClassProblem]("org.scalatest.tools.SbtCommandParser")
531+
)
532+
}
514533
).settings(osgiSettings: _*).settings(
515534
OsgiKeys.exportPackage := Seq(
516535
"org.scalatest",

0 commit comments

Comments
 (0)