origin-energy / java-snapshot-testing

Facebook style snapshot testing for JAVA Tests
MIT License
110 stars 16 forks source link

Shadowed classes are duplicated #173

Open TobiX opened 5 months ago

TobiX commented 5 months ago

Looking at java-snapshot-testing-junit5-4.0.8.jar for example, it seems that all shadowJar classes (https://github.com/origin-energy/java-snapshot-testing/blob/master/build.gradle#L25-L26) are duplicated:

grafik

On the one hand this probably blows up the size of the JAR, on the other hand this confuses some tools (for example https://www.mojohaus.org/extra-enforcer-rules/banDuplicateClasses.html).

What is the reason of shadowing AssertJ and OpenTest4J instead of providing it as a "normal" dependency?

The duplication is probably due to the "duplicate" shadowing in both core and junit5... But I'm not very familiar with Gradle, so I'm only guessing...

jackmatt2 commented 3 months ago

The reason for shadowing was to make the inclusion of this library simpler. It was also used to ensure version clashes don't occur between project and test libraries.

Agree though that there should not be duplicates - happy to accept a Pr fixing it. It's probably just gradle config.