What is the reason behind the special treatment of gradleApi() and localGroovy() for plugin development?

Like others before (http://issues.gradle.org/browse/GRADLE-1715) I ran into trouble when generating ide configuration files for gradle plugins. I always end up with some colliding dependency version. I found it hard to figure out what dependency causes the version clash, especially because gradleApi and localGroovy and there transitive dependencies are not listed when calling ‘gradle depencencies’. The normal tools to fix such conflicts do not seem to work (dependency exclusion or force version). Any insight is appreciated.

It’s a limitation of the current implementation. It will get addressed at some point.