I know gradle is one of the most popular build tool used these days…but why don’t we have a decent IDE integration for it ? Or is it am I missing something big ? why don’t have a a gradle code completion/hint features in any of the IDE ?. When I can write a groovy DSL code with hints and codecompletion, why can’t I have the same codecompletion feature for Gradle ? It is so rudimentary to lookup the Gradle DSL everytime.
We will provide auto completion, source lookup etc. with the new Kotlin DSL. We are already working on Eclipse support for it, together with the JetBrains team.
Providing the same support for Groovy is not planned, as we will phase Groovy out in the long run. Also, Groovy Eclipse is not actively maintained, so we wouldn’t have a stable base to build on anyway.
I spent a year figuring out how your DSL works and how Groovy works just to build my Java projects, and now instead of adding code completion of your DSL to IDEs you’re just going to drop Groovy support altogether, forcing all of us to learn yet another language?
Maybe I should just learn a different build system altogether.
A little clarification is needed here. In Gradle, the Groovy-based DSL will never be deprecated. You are not forced to learn the Kotlin DSL, Groovy and Kotlin have equal priorities in Gradle’s strategy.
Implementing an “intelligent” IDE for Gradle is one of the things that I’ve always felt really needs to happen for Gradle to really become popular. I’ve been asking for this for a long time. However, I long ago accepted that this will never happen with Groovy as the build language. Groovy has advantages, but I believe that a build language has to have full static typing available for it be viable for an “intelligent IDE”. If the IDE has no way to be certain of the type of a particular object in a build script, or its too hard or computationally intensive to be sure, then how could it possibly give you autocompletion choices? I haven’t fully gotten into Kotlin yet, but I believe it will fix this issue that Groovy has, at least with respect to autocompletion in a build language.