import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "3.2.0" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.20" kotlin("plugin.spring") version "1.9.20" kotlin("plugin.jpa") version "1.9.20" } group = "com.wrbug" version = "1.0.0" java { sourceCompatibility = JavaVersion.VERSION_17 } repositories { mavenCentral() } dependencies { // Spring Boot implementation("org.springframework.boot:spring-boot-starter-web") implementation("org.springframework.boot:spring-boot-starter-websocket") implementation("org.springframework.boot:spring-boot-starter-data-jpa") implementation("org.springframework.boot:spring-boot-starter-validation") // Kotlin implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") // Retrofit implementation("com.squareup.retrofit2:retrofit:2.9.0") implementation("com.squareup.retrofit2:converter-gson:2.9.0") // OkHttp implementation("com.squareup.okhttp3:okhttp:4.12.0") // WebSocket Client implementation("org.java-websocket:Java-WebSocket:1.5.4") // Database implementation("com.mysql:mysql-connector-j:8.2.0") implementation("org.flywaydb:flyway-core") implementation("org.flywaydb:flyway-mysql") // Jackson implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("com.fasterxml.jackson.core:jackson-databind") // Keccak-256 for Ethereum function selector implementation("org.bouncycastle:bcprov-jdk18on:1.78.1") // Web3j for Ethereum wallet and EIP-712 signing implementation("org.web3j:core:5.0.0") // JWT implementation("io.jsonwebtoken:jjwt-api:0.12.3") implementation("io.jsonwebtoken:jjwt-impl:0.12.3") implementation("io.jsonwebtoken:jjwt-jackson:0.12.3") // BCrypt for password encryption implementation("org.springframework.security:spring-security-crypto:6.2.2") // Logging implementation("org.slf4j:slf4j-api") // Test testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test") } tasks.withType { kotlinOptions { freeCompilerArgs += "-Xjsr305=strict" jvmTarget = "17" } } tasks.withType { useJUnitPlatform() }