apply plugin: 'java' apply plugin: 'application' java { sourceCompatibility = JavaVersion.toVersion("1.17") targetCompatibility = JavaVersion.toVersion("1.17") } mainClassName = 'org.alexdev.havana.Havana' repositories { maven { url 'https://jitpack.io' } mavenCentral() } dependencies { // https://mvnrepository.com/artifact/com.zaxxer/HikariCP implementation group: 'com.zaxxer', name: 'HikariCP', version: '3.4.1' // https://mvnrepository.com/artifact/org.mariadb.jdbc/mariadb-java-client implementation group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '2.3.0' // https://mvnrepository.com/artifact/io.netty/netty-all implementation group: 'io.netty', name: 'netty-all', version: '4.1.33.Final' // https://mvnrepository.com/artifact/org.slf4j/slf4j-api implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25' // https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 implementation group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25' // https://mvnrepository.com/artifact/log4j/log4j/1.2.17 implementation group: 'log4j', name: 'log4j', version: '1.2.17' // https://mvnrepository.com/artifact/org.apache.commons/commons-configuration2 implementation group: 'org.apache.commons', name: 'commons-configuration2', version: '2.2' // https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.9' // https://mvnrepository.com/artifact/commons-lang/commons-lang implementation group: 'commons-lang', name: 'commons-lang', version: '2.6' // https://mvnrepository.com/artifact/commons-validator/commons-validator implementation group: 'commons-validator', name: 'commons-validator', version: '1.6' // https://mvnrepository.com/artifact/com.google.code.gson/gson implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.0' // https://mvnrepository.com/artifact/org.springframework.security/spring-security-crypto implementation group: 'org.springframework.security', name: 'spring-security-crypto', version: '5.7.3' // https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.70' implementation 'com.maxmind.geoip2:geoip2:2.12.0' implementation 'com.github.bhlangonijr:chesslib:1.1.1' } // Create fat jar with libraries inside of it. task fatJar(type: Jar) { zip64 true duplicatesStrategy 'exclude' manifest { attributes 'Main-Class': mainClassName } baseName = project.name + '-all' from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } with jar } // Create jar with no libraries inside of it, used when creating with "gradle distZip" and // libraries are then to be stored in the folder next to it called 'dependency-jars' // https://vocon-it.com/2016/11/15/how-to-build-a-lean-jar-file-with-gradle/ /*jar { manifest { attributes ( 'Main-Class': mainClassName, "Class-Path": '. dependency-jars/' + configurations.compile.collect { it.getName() }.join(' dependency-jars/') ) } }*/