-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathbuild.gradle.kts
112 lines (92 loc) · 3.5 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import org.gradle.api.JavaVersion.VERSION_17
import kotlin.text.Charsets.UTF_8
plugins {
`java-library`
`maven-publish`
id("io.github.goooler.shadow") version "8.1.7"
id("io.freefair.lombok") version "8.6"
kotlin("jvm") version "1.8.0"
}
repositories {
mavenCentral()
google()
}
dependencies {
implementation(platform("com.google.cloud:libraries-bom:23.1.0"))
implementation("com.google.cloud:google-cloud-storage:2.43.1")
implementation("net.dv8tion:JDA:5.0.0-alpha.12")
// https://mvnrepository.com/artifact/org.kitteh.irc/client-lib
implementation("org.kitteh.irc:client-lib:8.0.0")
implementation("org.json:json:20240303")
implementation("com.google.code.gson:gson:2.10.1") //yes there are two json libraries, one for receiving and one for sending. it's stupid but i'm lazy
// https://mvnrepository.com/artifact/commons-io/commons-io
//implementation("commons-io:commons-io:2.13.0")
//used for XML parsing in link extractor.
implementation("org.jsoup:jsoup:1.18.1")
//used to decompress zstd streams
// https://mvnrepository.com/artifact/com.github.luben/zstd-jni
implementation("com.github.luben:zstd-jni:1.5.5-5")
//web library for dashboard
implementation("io.javalin:javalin:5.6.3")
// https://mvnrepository.com/artifact/com.beust/jcommander
implementation("com.beust:jcommander:1.82")
//https://github.com/Badbird5907/Lightning
//totally non-biased event bus choice and it definitely isn't my friend's
implementation("net.badbird5907:Lightning:1.1.3-REL")
// telegram bot api
//https://github.com/rubenlagus/TelegramBots
implementation("org.telegram:telegrambots:6.9.7.1")
implementation("org.telegram:telegrambots-abilities:6.9.7.1")
//loggers
// https://mvnrepository.com/artifact/org.slf4j/slf4j-api
implementation("org.slf4j:slf4j-api:2.0.16")
// https://mvnrepository.com/artifact/org.slf4j/slf4j-simple
implementation("org.slf4j:slf4j-simple:2.0.12")
// sqlite for database
// https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc
implementation("org.xerial:sqlite-jdbc:3.46.0.0")
testImplementation("org.junit.jupiter:junit-jupiter:5.11.1")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
//compileOnly("org.projectlombok:lombok:1.18.26")
//annotationProcessor("org.projectlombok:lombok:1.18.26")
}
group = "dev.digitaldragon"
version = "1.0-SNAPSHOT"
description = "WikiBot"
java.sourceCompatibility = JavaVersion.VERSION_17
publishing {
publications.create<MavenPublication>("maven") {
from(components["java"])
}
}
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
}
tasks.withType<Javadoc> {
options.encoding = "UTF-8"
}
tasks {
build {
dependsOn(shadowJar)
}
compileJava {
options.encoding = UTF_8.name()
// Set the release flag. This configures what version bytecode the compiler will emit, as well as what JDK APIs are usable.
// See https://openjdk.java.net/jeps/247 for more information.
options.release.set(21)
}
shadowJar {
archiveFileName.set("WikiBot-shadow.jar")
manifest.attributes["Main-Class"] = "dev.digitaldragon.WikiBot"
}
javadoc {
options.encoding = UTF_8.name() // We want UTF-8 for everything
}
processResources {
filteringCharset = UTF_8.name() // We want UTF-8 for everything
}
test {
useJUnitPlatform()
}
}