On 08.04.2018 18:51, Cédric Champeau wrote:
2018-04-06 22:42 GMT+02:00 Jochen Theodorou <blackd...@gmx.org
<mailto:blackd...@gmx.org>>:
ah sorry, I was not explaining right...
I was going to suggest something similar to what you probably
already have found, which is
StaticTypeCheckingSupport.EXTENSION_METHOD_CACHE.getExtensionMethods(ClassLoader)
but for some reason I do not understand the constant is protected
and the type for it is a private static inner class... which means
nobody can use this really. bummer. So maybe patch that and make it
public? See GROOVY-8536 for this
It is private because it was never meant for external consumption. It's
much easier to evolve an API/internals if things are kept private.
sure, but then why make EXTENSION_METHOD_CACHE protected? This is
contradicting
Look
at the nightmare of people using internal APIs in Gradle and you'll
understand what I mean: the more the API is open, the bigger the surface
is, and the higher the risk to break consumers when you want to change
an implementation detail is.
So we _could_ make this API public, but then it means adding test
coverage and making sure we stabilize the API, if it ever makes sense.
for IDE plugins having an infrastructure like there absolutely makes
sense. I can also see some joint compilation usages for this
bye Jochen