-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.gradle.kts
101 lines (77 loc) · 2.68 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
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id("java")
id("com.github.johnrengelman.shadow") version "8.1.1"
id("org.jetbrains.kotlin.jvm")
id("idea")
id("application")
}
group = "ro.srth.lbv2"
version = "v1.0.1"
repositories {
mavenCentral()
maven(url = "https://jitpack.io")
maven(url = "https://repo.spring.io/milestone")
}
application { mainClass.set("ro.srth.lbv2.Bot") }
dependencies {
implementation("net.dv8tion:JDA:5.1.2") { exclude(module = "opus-java") }
implementation("ch.qos.logback:logback-classic:1.4.14")
implementation("org.json:json:20240303")
implementation("com.github.ben-manes.caffeine:caffeine:3.1.8")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
// https://github.com/bramp/ffmpeg-cli-wrapper/issues/291
implementation("net.bramp.ffmpeg:ffmpeg:0.8.0")
// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.9.0-RC")
implementation("club.minnced:jda-ktx:0.11.0-beta.20")
implementation("com.github.minndevelopment:jda-reactor:1.6.0")
compileOnly("io.projectreactor:reactor-core:3.6.7")
testCompileOnly("io.projectreactor:reactor-test:3.6.7")
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions:1.3.0-M1")
testImplementation(platform("org.junit:junit-bom:5.10.2"))
testImplementation("org.junit.jupiter:junit-jupiter")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
kotlin { jvmToolchain(21) }
val shadowJar by
tasks.getting(ShadowJar::class) {
exclude("ro/srth/lbv2/JSONGenerator*")
val jarName = project.name + "-" + version + "-all.jar"
file("build/libs/start.bat").writeText("java -jar $jarName")
file("build/libs/startRegister.bat").writeText("java -jar $jarName --register")
}
// internal use
task<Copy>("copyCommands") {
from("build/libs/cmds")
include("*.json")
into("commands")
}
task<Copy>("prepareDeploy") {
dependsOn("shadowJar")
val jarName = project.name + "-" + version + "-all.jar"
from("build/libs")
include("cmds/**")
exclude("cmds/randomquestion/*")
include(jarName)
include("private.json")
include("start*.bat")
include("token.txt")
from(projectDir)
include("README.MD")
into("build/distributions/prepare")
}
task<Zip>("deploy") {
dependsOn("prepareDeploy")
includeEmptyDirs = true
from("build/distributions/prepare")
include("*")
include("cmds/**")
eachFile {
if (file.name == "private.json") {
file.writeText("{\n\n}")
}
if (file.name == "token.txt") {
file.writeText("PUT YOUR DISCORD TOKEN HERE (DO NOT SHARE THIS FILE)")
}
}
}