import java.time.Instant import java.time.format.DateTimeFormatter import java.time.ZoneId plugins { java kotlin("plugin.lombok") version "1.9.22" kotlin("jvm") version "1.9.22" kotlin("plugin.spring") version "1.9.22" kotlin("plugin.serialization") version "1.9.22" id("io.freefair.lombok") version "8.6" id("org.springframework.boot") version "3.2.2" id("com.github.ben-manes.versions") version "0.51.0" } apply(plugin = "io.spring.dependency-management") repositories { mavenLocal() mavenCentral() } dependencies { // Spring boot implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-security") implementation("org.springframework.boot:spring-boot-starter-web") { exclude(group = "org.springframework.boot", module = "spring-boot-starter-tomcat") } implementation("org.springframework.boot:spring-boot-starter-jetty") implementation("io.netty:netty-all") implementation("org.apache.commons:commons-lang3:3.14.0") implementation("org.apache.httpcomponents.client5:httpclient5") implementation("org.flywaydb:flyway-core:10.8.1") implementation("org.flywaydb:flyway-mysql:10.8.1") testImplementation("org.springframework.boot:spring-boot-starter-test") { exclude(group = "org.junit.vintage", module = "junit-vintage-engine") } testImplementation("org.springframework.security:spring-security-test") // Database runtimeOnly("org.mariadb.jdbc:mariadb-java-client:3.3.2") runtimeOnly("org.xerial:sqlite-jdbc:3.45.1.0") // https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-core implementation("org.hibernate.orm:hibernate-core:6.4.4.Final") // https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-community-dialects implementation("org.hibernate.orm:hibernate-community-dialects:6.4.4.Final") // JSR305 for nullable implementation("com.google.code.findbugs:jsr305:3.0.2") // AquaNet Specific Dependencies implementation("io.ktor:ktor-client-core:2.3.8") implementation("io.ktor:ktor-client-cio:2.3.8") implementation("io.ktor:ktor-client-content-negotiation:2.3.8") implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.8") implementation("org.jetbrains.kotlin:kotlin-reflect:1.9.22") // Email implementation("org.simplejavamail:simple-java-mail:8.6.3") implementation("org.simplejavamail:spring-module:8.6.3") } group = "icu.samnya" version = "0.0.47" description = "Aqua Server" java.sourceCompatibility = JavaVersion.VERSION_17 val buildTime: String by extra(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z").withZone(ZoneId.of("UTC")).format(Instant.now())) tasks.processResources { filesMatching("**/application.properties") { expand(project.properties) } } tasks.test { useJUnitPlatform() } tasks.withType() { options.encoding = "UTF-8" } tasks.withType() { options.encoding = "UTF-8" }