# Plugins development workflow

**URL:** <https://discuss.elastic.co/t/plugins-development-workflow/121872>\
**Category:** Elasticsearch\
**Created:** [February 28, 2018, 2:46pm UTC](https://discuss.elastic.co/t/plugins-development-workflow/121872 "2018-02-28T14:46:03Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![franck.lefebure](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/franck.lefebure/32/24332_2.png) [@franck.lefebure](https://discuss.elastic.co/u/franck.lefebure)\
**Post date:** [February 28, 2018, 6:51pm UTC](https://discuss.elastic.co/t/plugins-development-workflow/121872/2 "2018-02-28T18:51:15Z")

</div>

Thanks to this post : [Building a plugin with Gradle and Elasticsearch 5.0](https://discuss.elastic.co/t/building-a-plugin-with-gradle-and-elasticsearch-5-0/65313/2), I'm now able to debug an ES cluster with my plugin deployed in it.

```
buildscript {
    dependencies {
        classpath "org.elasticsearch.gradle:build-tools:6.2.0"
    }
}
apply plugin: 'elasticsearch.esplugin'
esplugin {
    licenseFile rootProject.file('LICENSE.txt')
    noticeFile rootProject.file('NOTICE.txt')
    name 'reverse-children-agg'
    version rootProject.version
    description 'ElasticSearch reverse chidren aggregation plugin'
    classname 'com.softbridge.elasticsearch.join.ReverseChildrenAggPlugin'
    hasClientJar = true
}
run {
    distribution = 'zip'
    dataDir = {'/path/to/my/data'}
    clusterName = 'softbridge'
    debug = true
}

```

I keep curious of how I can deploy one of the shipped :plugins: when I start (with gradle:run) the Cluster from the ES core project

---

_[View the full topic](https://discuss.elastic.co/t/plugins-development-workflow/121872)._
