lightbend-labs / jardiff

A tool for comparing JAR files, including method bodies and Scala 2 pickled signatures
Apache License 2.0
172 stars 23 forks source link

Add jardiff-sbt #52

Open martijnhoekstra opened 3 years ago

martijnhoekstra commented 3 years ago

Split the existing jardiff in a library and cli project and add an sbt project depending on the library project.

The main functionality is setting the reference version jardiffReferenceVersion := "1.3.4" and then running the thing jardiff and the jardiff emerges.

cr. https://github.com/scala/scala-dev/issues/428

martijnhoekstra commented 3 years ago

Also, closes #4

SethTisue commented 2 years ago

@martijnhoekstra not sure if you even still have any interest in this, but if you do, I'm here to make sure we can get it across the finish line.

I have enabled Scala Steward and merged a ton of version bumps, to get the whole project on a more modern footing.

Is this a good idea at all?

I believe so.

If it is, should sbt-jardiff live here, or elsewhere?

I suggest it live elsewhere, primarily on the grounds that it's not something the Scala team necessarily wants to maintain indefinitely. Whereas jardiff is. (It may not seem so, since this PR was neglected for so long, but we are invested in keeping jardiff in at least minimal working order, since we definitely use it from time to time when QAing this or that.)

This would need publishing and packaging. The packaging for the CLI tool is probably unchanged, but the library part (and sbt plugin if it should live here) would need to be published to maven central.

Want to add sbt-ci-release? I can add the necessary secrets for Maven Central.

I bumped the version number to 2.0.0 and used a single overall version number, mostly for ease. Maybe it makes more sense to give everything their own version?

(If the sbt plugin lives elsewhere, is this still a question?)