java-snapshot-testing icon indicating copy to clipboard operation
java-snapshot-testing copied to clipboard

Shadowed classes are duplicated

Open TobiX opened this issue 1 year ago • 1 comments

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...

TobiX avatar Jun 25 '24 19:06 TobiX

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.

jackmatt2 avatar Aug 08 '24 07:08 jackmatt2