Plugin development best practices example

We are currently developing some plugins for Gradle.

Are there any plugins that you can recommend as examples of well designed plugins?

More specifically, the 2014 Gradle Roadmap says this:

What we are working on right now is removing the concept of a distinct configuration phase altogether, resulting in a single execution phase. Configuration will be modelled as tasks which have inputs and outputs like normal Gradle tasks.

Any plugins that already do this?

Regards, Heinrich

There are some core plugins that are using this mechanism (which we call “new configuration model”) it but it’s still very much work in progress and will definitely change over the next couple of months as we iron things out. I don’t think that you should base your plugins on it as of now (because it’s far from feature parity with the current mechanism) but if you’re interested then have a look at the new JavaLanguagePlugin and the plugins it applies to a project.