Construyendo un uberjar con gradle.

Soy un novato gradle. Quiero construir un uberjar (también conocido como fatjar) que incluya todas las dependencias transitivas del proyecto. ¿Qué líneas necesito agregar a mi "build.gradle"?

Esto es lo que tengo actualmente: (Lo copié de algún lugar hace unos días, pero no recuerdo de dónde.)

task uberjar(type: Jar) {
    from files(sourceSets.main.output.classesDir)

    manifest {
        attributes 'Implementation-Title': 'Foobar',
                'Implementation-Version': version,
                'Built-By': System.getProperty('user.name'),
                'Built-Date': new Date(),
                'Built-JDK': System.getProperty('java.version'),
                'Main-Class': mainClassName
    }
}

Respuestas a la pregunta(4)

Su respuesta a la pregunta