Auxilor / eco

Spigot development library, built for the latest version.
MIT License
160 stars 53 forks source link

Relocate shaded libraries to solve third party conflicts #177

Open lokka30 opened 2 years ago

lokka30 commented 2 years ago

Linked to https://github.com/A248/LibertyBans/issues/164.

This is no easy feat haha.

A248 commented 2 years ago

Please file this as a bug, not a feature request.

Also, I'd like to say the solution is not quite difficult. At the minimum, a new major version will be required, but a version increment does not translate to difficulty of implementation. Relocating shaded dependencies, even within a library such as eco, is entirely possible.

WillFP commented 2 years ago

It's extremely easy, I do it already with Caffeine and many other libs that are used purely internally with eco. It's about compatibility

A248 commented 2 years ago

It's extremely easy, I do it already with Caffeine and many other libs that are used purely internally with eco. It's about compatibility

I think you might have forgotten to implement this. Opening up the Eco plugin jar, I find the following shaded libraries:

No relocation is applied to this libraries. The build file confirms this:

https://github.com/Auxilor/eco/blob/d826a9f71f02e1760fd100547998d8550ce1108f/build.gradle.kts#L163

It's no longer a problem in LibertyBans (whatsoever), however I thought you might find this information useful.

masmc05 commented 1 year ago

this really should be fixed in a way, maybe a special relocation prefix only to kotlin and use that prefix on all eco plugins, as we have lots of issues with different plugins because of such behavior, of course we solve them, but it's not a very pleasant experience

This is a big minus that stops us from buying other eco depending plugin and makes us think of removing Talismans to lower such issues in future