plugins { id 'java' } repositories { jcenter() } dependencies { implementation group: 'com.google.guava', name: 'guava', version: '30.0-jre' implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.6' implementation group: 'com.formdev', name: 'flatlaf', version: '0.44' implementation group: 'com.ibm.icu', name: 'icu4j', version: '68.1' } // add Main-Class to manifest jar { manifest { attributes ( 'Main-Class': 'JRex' ) } } // make a fat JAR task dist(type: Jar) { project.configurations.implementation.setCanBeResolved(true) manifest.from jar.manifest baseName = 'jrex' from { configurations.implementation.collect { it.isDirectory() ? it : zipTree(it) } } destinationDir = file('dist') with jar } compileJava { sourceCompatibility = '1.8' targetCompatibility = '1.8' }