lightbend-labs / jardiff

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

Add support for Scala 2.13 to core #161

Closed mdedetrich closed 10 months ago

mdedetrich commented 10 months ago

Works as expected, i.e.

[IJ]+publishLocal
[info] Setting Scala version to 2.12.18 on 2 projects.
[info] Excluded 1 projects, run ++ 2.12.18 -v for more details.
[info] Reapplying settings...
[info] set current project to jardiff (in build file:/Users/mdedetrich/github/jardiff/)
[info] Wrote /Users/mdedetrich/github/jardiff/core/target/scala-2.12/jardiff-core_2.12-1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT.pom
[info] Main Scala API documentation to /Users/mdedetrich/github/jardiff/core/target/scala-2.12/api...
model contains 14 documentable templates
[info] Main Scala API documentation successful.
[info] :: delivering :: com.lightbend#jardiff-core_2.12;1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT :: 1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT :: integration :: Fri Nov 03 08:44:07 CET 2023
[info]  delivering ivy file to /Users/mdedetrich/github/jardiff/core/target/scala-2.12/ivy-1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT.xml
[info]  published jardiff-core_2.12 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.12/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/poms/jardiff-core_2.12.pom
[info]  published jardiff-core_2.12 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.12/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/jars/jardiff-core_2.12.jar
[info]  published jardiff-core_2.12 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.12/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/srcs/jardiff-core_2.12-sources.jar
[info]  published jardiff-core_2.12 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.12/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/docs/jardiff-core_2.12-javadoc.jar
[info]  published ivy to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.12/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/ivys/ivy.xml
[success] Total time: 4 s, completed Nov 3, 2023 8:44:07 AM
[info] Setting Scala version to 2.13.12 on 1 projects.
[info] Excluded 2 projects, run ++ 2.13.12 -v for more details.
[info] Reapplying settings...
[info] set current project to jardiff (in build file:/Users/mdedetrich/github/jardiff/)
[info] Wrote /Users/mdedetrich/github/jardiff/core/target/scala-2.13/jardiff-core_2.13-1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT.pom
[info] Main Scala API documentation to /Users/mdedetrich/github/jardiff/core/target/scala-2.13/api...
[info] Main Scala API documentation successful.
[info] :: delivering :: com.lightbend#jardiff-core_2.13;1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT :: 1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT :: integration :: Fri Nov 03 08:44:11 CET 2023
[info]  delivering ivy file to /Users/mdedetrich/github/jardiff/core/target/scala-2.13/ivy-1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT.xml
[info]  published jardiff-core_2.13 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.13/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/poms/jardiff-core_2.13.pom
[info]  published jardiff-core_2.13 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.13/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/jars/jardiff-core_2.13.jar
[info]  published jardiff-core_2.13 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.13/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/srcs/jardiff-core_2.13-sources.jar
[info]  published jardiff-core_2.13 to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.13/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/docs/jardiff-core_2.13-javadoc.jar
[info]  published ivy to /Users/mdedetrich/.ivy2/local/com.lightbend/jardiff-core_2.13/1.8.0+13-5212ff2a+20231103-0844-SNAPSHOT/ivys/ivy.xml
[success] Total time: 3 s, completed Nov 3, 2023 8:44:11 AM
[info] Reapplying settings...
[info] set current project to jardiff (in build file:/Users/mdedetrich/github/jardiff/)
[IJ]

I wanted to also add support for Scala 3 but scalap is not published for Scala 3 (probably intentional, I guess @retronym can add more context here, apparently scalap can be compiled for Scala 3 https://www.jannikarndt.de/blog/2021/03/using_scalap_javap_and_the_scala_compiler/ ???).

The CLI is set to a single Scala version (in this case 2.12) but the decision is arbitrary as it can be anything really.