-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
86 lines (69 loc) · 2.64 KB
/
build.gradle.kts
File metadata and controls
86 lines (69 loc) · 2.64 KB
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
plugins {
application
kotlin("jvm") version "2.2.0"
kotlin("plugin.serialization") version "2.2.0"
id("com.gradleup.shadow") version("8.3.3")
id("io.gitlab.arturbosch.detekt").version("1.23.7")
}
application.mainClass = "dev.vxrp.MainKt"
group = "dev.vxrp"
version= "1.1.1"
kotlin {
jvmToolchain(22)
}
repositories {
mavenCentral()
}
val ktorVersion = "3.2.3"
val kotlinxCoroutinesVersion = "1.10.2"
val exposedVersion = "0.61.0"
val sqliteVersion = "3.50.3.0"
val mySqlVersion = "9.4.0"
val postgresSqlVersion = "42.7.7"
val mariaDBVersion = "3.5.4"
val kotlinxSerializationVersion = "1.9.0"
val kamlVersion = "0.85.0"
val jdaVersion = "5.6.1"
val jdaKtxVersion = "0.12.0"
val secretLabKotlinVersion = "0.4.3"
val logbackVersion = "1.5.18"
val gsonVersion = "2.13.1"
dependencies {
// Default
implementation("io.ktor:ktor-server-netty:$ktorVersion")
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("io.ktor:ktor-client-cio:$ktorVersion")
implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
// Database tools and drivers
implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")
implementation("org.xerial:sqlite-jdbc:$sqliteVersion")
implementation("com.mysql:mysql-connector-j:$mySqlVersion")
implementation("org.postgresql:postgresql:$postgresSqlVersion")
implementation("org.mariadb.jdbc:mariadb-java-client:$mariaDBVersion")
// Config and Serialization
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
implementation("com.charleskorn.kaml:kaml:$kamlVersion")
// Discord api implementation + Logback
implementation("net.dv8tion:JDA:$jdaVersion") {
exclude(module = "opus-java")
}
implementation("ch.qos.logback:logback-classic:$logbackVersion")
implementation("club.minnced:jda-ktx:$jdaKtxVersion")
// Api Wrapper
implementation("io.github.vxrpenter:secretlab-kotlin:$secretLabKotlinVersion")
// String and JSON tooling
implementation("com.google.code.gson:gson:$gsonVersion")
}
val createVersionProperties by tasks.registering(WriteProperties::class) {
val filePath = sourceSets.main.map {
it.output.resourcesDir!!.resolve("dev/vxrp/version.properties")
}
destinationFile = filePath
property("version", project.version.toString())
}
tasks.classes {
dependsOn(createVersionProperties)
}