softwaremill / diffx

Pretty diffs for scala case classes
Apache License 2.0
345 stars 30 forks source link

Docs should require versions #376

Closed will-sargent-eero closed 2 years ago

will-sargent-eero commented 2 years ago

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)'
ghostbuster91 commented 2 years ago

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 ?

will-sargent-eero commented 2 years ago

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

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.

ghostbuster91 commented 2 years ago

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

ghostbuster91 commented 2 years ago

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.

will-sargent-eero commented 2 years ago

https://github.com/softwaremill/diffx/commit/71da3ac04662a33e203f3e8bb1c1a64639108103

👍