Having a first go at gradle here, so apologies if I’m on the wrong track,

Firstly, I would like to confirm if my approach is sound:

I want to have a directory in my project say “lib” where maven dependencies are downloaded to, (plus a couple of my own) Then, when jarring I want to add whatever jar’s are in this location to the built jar’s manifest like:

If all you want to do is set up the manifest, copying them to a separate directory seems like overkill. You should be able to just access the dependencies for the relevant configuration and transform them into a Class-Path attribute. I think something like this would work.

Gradle’s dependency management mostly removes the need for a separate directory within your build that holds dependencies. They all get stored in a central cache, but you have the option to copy them anywhere you need to.

Yes if whatever you are distributing needs access to those JARs, you will want to include them. Depending on what your needs are I would take a look at the application which generates everything you need for an app that would be kicked off by a batch or shell script.

If you really just want to copy the jars somewhere, you can use a copy task.

Note that if you use the Gradle Eclipse plugin, and you add the Gradle nature to your project, you don’t have to modify the Eclipse build path, as Eclipse understands Gradle build scripts and determines jar dependencies directly from that.