reactor / BlockHound

Java agent to detect blocking calls from non-blocking threads.
Apache License 2.0
1.33k stars 97 forks source link

Provide non-shaded byte-buddy/asm distribution #436

Open turbospaces opened 5 days ago

turbospaces commented 5 days ago

Title: Enhancement Request: Provide Distribution Without Shading ByteBuddy and ASM

Description:

I would like to propose an enhancement for the Blockhound library regarding its dependency management, specifically concerning its use of shaded versions of ByteBuddy and ASM (aka provide additional artifact).

Current Situation:

Blockhound currently shades ByteBuddy and ASM within its distribution. While this approach can help avoid version conflicts, it also leads to several downsides:

  1. Version Locking: We often have to wait for a new release of Blockhound to access newer versions of ByteBuddy and ASM, even though these libraries are essential for various projects. Same for newer version of JDK releases.
  2. Code Duplication: Since ByteBuddy and ASM are commonly used across many other open-source projects, shading them results in unnecessary duplication of code within our classpath.

Suggested Enhancement:

I recommend that the Blockhound library be distributed without shading ByteBuddy and ASM in addition to shaded one with some qualifier.

Conclusion:

I believe that this enhancement would contribute to a smoother development experience for users of Blockhound, ultimately leading to a more robust and maintainable ecosystem.

s1rc0 commented 5 days ago

wow, great suggestion! In my case, this blocks a full transition to JDK23