| IMO there are 2 distinct questions:
- exposing the Enhancer via BytecodeProvider
- supporting Javassist and Byte Buddy, or supporting just one
So your concern that Enhancer is "too complex module to keep two versions of it" is not at all an influencer on whether or not we should expose Enhancer via BytecodeProvider. As for that (2) point.. I asked this question on the mailing list and have yet to receive any replies. We have had many issues with Javassist over the years in terms of breaking changes, so I am ok with dropping Javassist support in favor of Byte Buddy support if Byte Buddy offers better non-breaking change support. At least we know that (atm at least) that we will not run into as many "version conflicts" in the various runtime environments with Byte Buddy as we do with Javassist currently. Although I think that can be alleviated with shading, shading has its own drawbacks. IMO we already defer lots of decisions to EnhancementContext. What exactly are you seeing/proposing as the expansion to EnhancementContext? |