[...] 
> I disagree a bit. It's not only about code completion, but also about jumping 
> to the definitions (and the documentation).

true, though.. I must say I found the gradle documentation for tasks quite 
lacking... maybe looking at the code would give better insights, so jumping 
might be more worth 

> Also commonly the copy-pasted part covers my use case to 90%, but then I 
> still want to adapt, want to know what additional options exist.

you do and I do usually, sure. Why do you think I have seen so many gradle 
files? Because people ask me to help them adding those additional options ;)
 
> One general problem is 3rd party plugin code exposing groovy classes in the 
> Api, like groovy.lang.Closure, or reliance on runtime dynamics.

I think the part about Closure is more legacy. Today almost all of that can be 
done with SAM-conversion... reliance on runtime dynamics... I have actually not 
seen that very often. You have a differing experience?

> Same in the future for kotlin constructs. Using those in Gradle files from 
> the other language (kotlin creating groovy closures or groovy creating kotlin 
> actions) is painful and looks horrible. 

which reminds me... what happened to "writing gradle files in javascript"? 
Anyway I do agree with the point, though... having a few invasive elements can 
be quite good for the language.

> I don't know how Gradle Inc hopes to have a healthy plugin ecosystem that 
> does not force all plugin providers to obey strict limitations or provide 2 
> DSLs or plugin.

I mean you should always be able to write a plugin in Java. If you can write it 
in Java, you can write it in Groovy. If the kotlin DSL needs to be able to deal 
with plugins written in Java, then you can have Groovy written plugins in the 
same style. If this requires additional work to make the kotlin side see 
through the plugin structure, then well, then that is what will be done. But I 
do not know examples for this. We could probably provide a few transforms to 
generate the code kotlin needs to understand the plugin and encourage plugin 
writers to use Groovy that way - but this requires that we know what we are 
talking about. I do not really know the problems with the kotlin DSL well 
enough to assess something here atm. If you do, sharing details is appreciated. 

bye Jochen
 

Reply via email to