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'
}