rschmitt commented on PR #3852:
URL: https://github.com/apache/logging-log4j2/pull/3852#issuecomment-3138487374

   I'm actually releasing Log4j 2.25.1 right now. I've fixed all the known 
issues pretty much along the lines you've described, such as adding test 
dependencies on `jspecify` and disabling `-Werror`. This PR is the only one I'd 
like to see merged; all the other breakage is typical [Hyrum's 
Law](https://www.hyrumslaw.com/) stuff.
   
   > We had similar issue reports before, but we currently don’t have a clean 
long-term solution (short of bytecode manipulation to strip annotations). 
Suggestions are always welcome.
   
   I suppose the _long_-term solution is to wait for the Valhalla technology, 
in this case [null-restricted and nullable 
types](https://openjdk.org/jeps/8303099). Until then, nullability can only be 
modeled using third-party annotations, and most dependency managers don't have 
a concept of transitive compile-only dependencies (what Gradle calls 
`compileOnlyApi`). Even the Gradle solution seems weird to me, because a lot of 
these other annotation libraries certainly appear to be implementation details 
of Log4j's build process.
   
   Personally, I don't believe in linters. I think they provide very marginal 
benefits at the cost of significantly more fragile and complex builds. This 
whole thing with the `jspecify` annotations is just a story of everyone's 
linters fighting each other and breaking perfectly good builds over _nothing_.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to