softwaremill/diffx

Docs should require versions

will-sargent-eero opened this issue · 5 comments

For the integrations, diffx is compiled against particular versions, for example, diffx-scalatest is compiled against scalatest 3.2.10

This can be significant, since scalatest 3.2 has a dependency on scalactic which can result in macro errors when using earlier versions of scalatest:

[error] java.lang.NoSuchMethodError: 'void org.scalactic.BooleanMacro.<init>(scala.reflect.macros.whitebox.Context, java.lang.String)'

I am not sure if I understand. Do you mean that you would like to have two diffx-scalatest artifacts for different versions of scalatest ?

The documentation should indicate what the underlying scalatest dependencies are.

For example, 0.7.0 requires https://github.com/softwaremill/diffx/blob/v0.7.0/build.sbt#L13

  • Scalatest 3.2.10
  • Specs 4.13.1

0.4.0 uses Scalatest 3.2.3 and Specs2 4.10.5 https://github.com/softwaremill/diffx/blob/v0.4.0/build.sbt

and

0.3.29 uses Scalatest 3.1.2 and Specs2 4.9.4 https://github.com/softwaremill/diffx/blob/v0.3.29/build.sbt

The different versions of Scalatest are significant and need matching up with projects, but they are not listed in documentation.

Ah I see, thanks for the explanation. I will look into that.

I added that information to the docs and also setup the release drafter so that future releases will have changelog attached. Let me know if we can close this issue.