reactor / BlockHound

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

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

Open turbospaces opened 2 months ago

turbospaces commented 2 months 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 2 months ago

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

violetagg commented 1 month ago

We are going to discuss this enhancement, meanwhile we will update the dependencies and will release 1.0.10.

violetagg commented 1 month ago

1.0.10.RELEASE is available