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


Reply via email to