The defintion of gradle API

If your project has a dependency on gradle API with statement

compile gradleApi()

, you project is depending on all the jars in GRADLE_HOME/lib and GRADLE_HOME/lib/plugins. In lib/plugins, there are many other third-party jars like antlr-2.7.7.jar, jetty-6.1.25.jar, which are treated as parts of the gradle API. Is not this weird? Should not the API be kept small as well as neutralized? Otherwise, it is hard to implement plugins for suporting these 3rd party frameworks in different versions but through ant.

You’re right, the gradleApi() is more than the API :slight_smile:

We are working on demodularizing Gradle. It’s a long way but we’ll get there.