> @dakrone If it's not shaded, and a Groovy client uses any of the popular Elasticsearch Groovy clients (only use Groovy with Gradle myself, so I am not aware of the popular ones), then will it cause a conflict/collision?

I think this'd still happen.  The JVM normally loads each class only once [1] so you'll just get whichever groovy it finds first.  Shading fixes this by copying the class to a new name.

[1]: technically its one per class loader and class loaders are hierarchical....

So, yeah, I'm +1 for shading.