1+ plugins {
2+ java
3+ id(" com.github.johnrengelman.shadow" ) version " 5.2.0"
4+ checkstyle
5+ }
6+
7+ java {
8+ sourceCompatibility = JavaVersion .VERSION_17
9+ targetCompatibility = JavaVersion .VERSION_17
10+ }
11+
12+ group = " net.javadiscord"
13+ version = " 1.0.0-SNAPSHOT"
14+
15+ repositories {
16+ mavenCentral()
17+ maven(url = " https://m2.dv8tion.net/releases" )
18+ maven(url = " https://jitpack.io" )
19+ }
20+
21+ dependencies {
22+ testImplementation(" org.junit.jupiter:junit-jupiter-api:5.8.2" )
23+ testRuntimeOnly(" org.junit.jupiter:junit-jupiter-engine:5.8.2" )
24+
25+ implementation(" com.github.DV8FromTheWorld:JDA:5492a76bce" )
26+ implementation(" com.google.code.gson:gson:2.9.0" )
27+ implementation(" org.yaml:snakeyaml:1.29" )
28+ implementation(" com.google.re2j:re2j:1.6" )
29+
30+ implementation(" ch.qos.logback:logback-classic:1.2.10" )
31+ implementation(" com.mashape.unirest:unirest-java:1.4.9" )
32+
33+ // H2 Database
34+ implementation(" com.h2database:h2:1.4.200" )
35+ implementation(" com.zaxxer:HikariCP:5.0.1" )
36+
37+ // Quartz scheduler
38+ implementation(" org.quartz-scheduler:quartz:2.3.2" )
39+
40+ // Lombok Annotations
41+ compileOnly(" org.projectlombok:lombok:1.18.22" )
42+ annotationProcessor(" org.projectlombok:lombok:1.18.22" )
43+ testCompileOnly(" org.projectlombok:lombok:1.18.22" )
44+ testAnnotationProcessor(" org.projectlombok:lombok:1.18.22" )
45+ }
46+
47+ tasks.withType<Jar > {
48+ manifest {
49+ attributes[" Manifest-Version" ] = " 1.0"
50+ attributes[" Main-Class" ] = " net.javadiscord.javabot.Bot"
51+ }
52+ }
53+
54+ tasks.withType<JavaCompile >{ options.encoding = " UTF-8" }
55+ tasks.withType<JavaCompile >().configureEach {
56+ options.forkOptions.jvmArgs = listOf (" --add-opens" , " jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED" )
57+ }
58+ tasks.withType<Test >{ useJUnitPlatform() }
59+
60+ checkstyle {
61+ toolVersion = " 9.1"
62+ configDirectory.set(File (" checkstyle" ))
63+ }
0 commit comments