La construction d'un uberjar avec Gradle

Je suis un Gradle novice. Je veux construire une uberjar (AKA fatjar), qui comprend toutes les dépendances transitives du projet. Ce que les lignes dois-je ajouter à mon "build.gradle"?

C'est ce que j'ai actuellement: (j'ai copié à partir de quelque part quelques jours en arrière, mais ne pas se rappeler d'où l'.)

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
    }
}
  • Vous pouvez essayer en utilisant le application plug-in à la place.
  • Cela permettra de travailler aussi longtemps que vous n'avez pas toutes les dépendances. Mais une fois que votre projet a des dépendances ceux qui ne seront pas obtenir regroupés dans le uberjar.