On 4/08/10 1:41 AM, Steve Ebersole wrote:
Unfortunately the only real options I had found were to (a) look at
plugins that are similar to what you want to achieve to see what they do
and (b) bug folks here and on the IRC channel for information.

This is unfortunately true. We've been pretty much ignoring plugin authors, in favour of build script authors, on the assumption that plugin authors are 'advanced' users who are ok with digging out the details for themselves.

After 0.9 is out, we want to put some effort into making plugin authoring easier. There's lots of things we want to do:

- Allow you to use a .gradle file to implement the plugin, so that you can use exactly the same DSL that you use to write build scripts. This means anything we do to make things easier for build script authors also makes things easier for plugin authors.

- Add a plugin dev plugin to automate the mechanical parts of plugin development: things like packaging, publishing, integration testing, documentation generation.

- Add a central plugin portal, to help you discover plugins that already exist, so that you can help improve existing plugins rather than starting them from scratch.

- Add more tools for writing unit and integration tests for your plugins and tasks.

- Add support for common tasks in plugin development: declarative validation, simpler convention mapping, classpath/classloader management, DSL support (eg for properties of type File, Gradle could automatically do the conversion via the files() method. For bean properties, Gradle can add configure methods, and so on).

- Provide SPIs for common types of plugins: language plugins, verification plugins, reporting plugins.

- Of course, better documentation and samples.

On the bright side, plugins in Gradle can be very powerful and imo it is
worth the effort to do the digging.  I have written 2 plugins (one very
complex) so far and have been happy with the results.


On Tue, 2010-08-03 at 03:49 -0400, [email protected] wrote:
Hi,

I wanted to start on exploring how to write and share plugins for
gradle.

I know that the plugin class has to implement the Plugin interface -
is there any other configuration required ?

I just found chapter 38 which doesnt say anything explicitly about
that.

Can I just set up a "normal" project and use this as a plugin ? Is the
artifact from that any different from a "normal" project - and how or
where to "store" the plugin to be able to use it in any project ?

I found
http://blog.zenika.com/index.php?post/2009/06/27/Writing-custom-Gradle-plugins%2C-part-1
 - but this is with 0.6 which is different i guess.

If there are more recent tutorials or posts about plugins, please send
them to me.

Cheers
Emerson







--
Adam Murdoch
Gradle Developer
http://www.gradle.org
CTO, Gradle Inc. - Gradle Training, Support, Consulting
http://www.gradle.biz


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to