# Idiomatic Plugin Authoring

**URL:** https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867
**Category:** News
**Created:** [April 13, 2015, 3:11pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867 "2015-04-13T15:11:42Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [April 13, 2015, 3:11pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/1 "2015-04-13T15:11:42Z")

</div>

My presentation for Idiomatic Gradle Plugin Authoring that I delivered at Greach 2015 is available here:

[http://www.slideshare.net/ysb33r/idiomatic-gradle-plugin-writing](http://www.slideshare.net/ysb33r/idiomatic-gradle-plugin-writing).

It contains extracts from a self-to-be-published book that I am authoring on the topic, so inputs and discussions are more than welcome.

---

<div class="post-metadata">

### Author: ![luke\_daley](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/luke_daley/32/9890_2.png) [@luke\_daley](https://discuss.gradle.org/u/luke_daley)
#### Post date: [April 14, 2015, 6:31am UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/2 "2015-04-14T06:31:13Z")

</div>

Thanks for sharing @Schalk_Cronje

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [October 14, 2015, 7:51pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/3 "2015-10-14T19:51:43Z")

</div>

There is a slightly updated one from the Bangalore Groovy Grails Meetup - [http://www.slideshare.net/ysb33r/idiomatic-ggradle-plugin-writing](http://www.slideshare.net/ysb33r/idiomatic-ggradle-plugin-writing).

(I am covering the same topic at Devoxx Marocco this year, and would hopefully have a couple of new items added by then).

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [October 21, 2015, 11:43am UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/4 "2015-10-21T11:43:01Z")

</div>

The preview to the book on the same subject that I am working is also available for download. Feedback welcome.

[http://samples.leanpub.com/idiomaticgradle-sample.pdf](http://samples.leanpub.com/idiomaticgradle-sample.pdf)

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [November 23, 2015, 11:41am UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/5 "2015-11-23T11:41:41Z")

</div>

I am glad to announce that “Idiomatic Gradle : 25 Recipes for Plugin Authors” is now available for purchase and download from [https://leanpub.com/idiomaticgradle](https://leanpub.com/idiomaticgradle).

As it stands it has 18 of the 25 recpes, with the lat seven to be added shortly. I would hope that the provided recipes lead to more readable, expressive and consistent DSLs in plugins. Code snippets were tested against Gradle 2.0 - 2.9.

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [April 5, 2016, 10:46pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/6 "2016-04-05T22:46:49Z")

</div>

Glad to annoucne that the **Idiomatic Gradle : 25 Recipes for Plugin Authors** are now fully done. [https://leanpub.com/idiomaticgradle](https://leanpub.com/idiomaticgradle).

I am also starting a new project: **Idiomatic Gradle Vol 2 : 25 New Model Recipes for Plugin Authors.** This will prove to be much tougher than the first book. The new model requires getting ones head around it and thinking in new wats. Besides that, it is still evolving. Fun it will be, I’m sure. Any suggestions towards recipes will be appreciartd.

---

<div class="post-metadata">

### Author: ![luke\_daley](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/luke_daley/32/9890_2.png) [@luke\_daley](https://discuss.gradle.org/u/luke_daley)
#### Post date: [April 6, 2016, 12:25am UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/7 "2016-04-06T00:25:37Z")

</div>

Great stuff @Schalk_Cronje.

This is an excellent addition to the Gradle educational material out there. Well done.

---

<div class="post-metadata">

### Author: ![grv87](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/grv87/32/5767_2.png) [@grv87](https://discuss.gradle.org/u/grv87)
#### Post date: [October 18, 2017, 7:10pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/8 "2017-10-18T19:10:00Z")

</div>

Where do you accept issues on the book?  
In PDF version at page 77 `project.gradle.startParam...` is not wrapped to another line, just cut off.

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [October 18, 2017, 8:38pm UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/9 "2017-10-18T20:38:05Z")

</div>

Thank you. I’ll have a look.

For now you can just leave issues here.

---

<div class="post-metadata">

### Author: ![Schalk\_Cronje](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/schalk_cronje/32/6511_2.png) [@Schalk\_Cronje](https://discuss.gradle.org/u/Schalk_Cronje)
#### Post date: [November 15, 2017, 11:03am UTC](https://discuss.gradle.org/t/idiomatic-plugin-authoring/8867/10 "2017-11-15T11:03:18Z")

</div>

@grv87 You can now raise issues at [https://gitlab.com/ysb33r/idiomaticgradle/issues](https://gitlab.com/ysb33r/idiomaticgradle/issues)
