1
+ plugins {
2
+ kotlin(" jvm" ) version Versions .KOTLIN
3
+ kotlin(" plugin.serialization" ) version Versions .KOTLIN_SERIALIZATION
4
+ id(" com.github.johnrengelman.shadow" )
5
+ id(" io.freefair.sass-java" ) version " 8.12.1"
6
+ application
7
+ }
8
+
9
+ group = " net.cakeyfox.foxy"
10
+ version = Versions .FOXY_VERSION
11
+
12
+ repositories {
13
+ mavenCentral()
14
+ }
15
+
16
+ application {
17
+ mainClass.set(" net.cakeyfox.foxy.web.FoxyWebLauncher" )
18
+ }
19
+
20
+ dependencies {
21
+ implementation(project(" :common" ))
22
+ implementation(project(" :cirno-serializable" ))
23
+
24
+ // Discord
25
+ implementation(libs.jda)
26
+
27
+ // MongoDB
28
+ implementation(" org.mongodb:bson-kotlinx:5.3.0" )
29
+ implementation(" org.mongodb:mongodb-driver-kotlin-coroutine:5.3.0" )
30
+
31
+ // Frontend Stuff
32
+ implementation(" org.jetbrains.kotlinx:kotlinx-html-jvm:0.9.1" )
33
+ implementation(" io.ktor:ktor-server-html-builder:${Versions .KTOR } " )
34
+
35
+ // Server Stuff
36
+ implementation(" org.jetbrains.kotlin:kotlin-stdlib-jdk8" )
37
+ implementation(" io.ktor:ktor-serialization-kotlinx-json:${Versions .KTOR } " )
38
+ implementation(" io.ktor:ktor-server-netty:${Versions .KTOR } " )
39
+ implementation(" io.ktor:ktor-server-core:${Versions .KTOR } " )
40
+ implementation(" io.ktor:ktor-server-content-negotiation:${Versions .KTOR } " )
41
+ implementation(" io.ktor:ktor-server-auth:${Versions .KTOR } " )
42
+
43
+ // Coroutines and DateTime
44
+ implementation(" org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions .KOTLIN_COROUTINES } " )
45
+ implementation(" org.jetbrains.kotlinx:kotlinx-coroutines-debug:${Versions .KOTLIN_COROUTINES } " )
46
+ implementation(" org.jetbrains.kotlinx:kotlinx-datetime:${Versions .KOTLINX_DATE_TIME } " )
47
+
48
+ // Logging
49
+ implementation(" ch.qos.logback:logback-classic:${Versions .LOGBACK } " )
50
+ implementation(" io.github.microutils:kotlin-logging:${Versions .KOTLIN_LOGGING } " )
51
+
52
+ // Serialization
53
+ implementation(" org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions .KOTLIN_SERIALIZATION } " )
54
+ implementation(" org.jetbrains.kotlinx:kotlinx-serialization-hocon:${Versions .KOTLIN_SERIALIZATION } " )
55
+ implementation(" com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:${Versions .JACKSON } " )
56
+ implementation(" com.fasterxml.jackson.module:jackson-module-kotlin:${Versions .JACKSON } " )
57
+ }
58
+
59
+
60
+ tasks.named< io.freefair.gradle.plugins.sass.SassCompile > (" compileSass" ) {
61
+ source = fileTree(" src/main/resources/scss" )
62
+ destinationDir = file(" src/main/resources/css" )
63
+ }
64
+
65
+ tasks {
66
+ shadowJar {
67
+ archiveBaseName.set(" FoxyWeb" )
68
+ archiveVersion.set(version.toString())
69
+ archiveClassifier.set(" " )
70
+ }
71
+ }
72
+
73
+ kotlin {
74
+ jvmToolchain(Versions .JVM_TARGET )
75
+ }
0 commit comments