build.gradle.kts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. val ktor_version: String by project
  2. val kotlin_version: String by project
  3. val logback_version: String by project
  4. val prometeus_version: String by project
  5. val koin_version: String by project
  6. val bcrypt_version: String by project
  7. plugins {
  8. application
  9. kotlin("jvm") version "1.6.10"
  10. id("org.jetbrains.kotlin.plugin.serialization") version "1.6.10"
  11. id("com.github.johnrengelman.shadow") version "7.0.0"
  12. }
  13. group = "ru.mephi"
  14. version = "0.0.1"
  15. application {
  16. mainClass.set("ru.mephi.ApplicationKt")
  17. }
  18. tasks {
  19. shadowJar {
  20. archiveBaseName.set("alumni")
  21. archiveFileName.set("${project.name}-${project.version}.jar")
  22. manifest {
  23. attributes(Pair("Main-Class", "ru.mephi.ApplicationKt"))
  24. }
  25. }
  26. }
  27. repositories {
  28. mavenCentral()
  29. }
  30. dependencies {
  31. // Core
  32. implementation("io.ktor:ktor-server-core:$ktor_version")
  33. implementation("io.ktor:ktor-server-tomcat:$ktor_version")
  34. implementation("io.ktor:ktor-serialization:$ktor_version")
  35. implementation("ch.qos.logback:logback-classic:$logback_version")
  36. // Auth
  37. implementation("io.ktor:ktor-auth:$ktor_version")
  38. implementation("io.ktor:ktor-auth-jwt:$ktor_version")
  39. implementation("io.ktor:ktor-server-sessions:$ktor_version")
  40. implementation("io.ktor:ktor-server-host-common:$ktor_version")
  41. // Database
  42. implementation("org.postgresql:postgresql:42.3.3")
  43. implementation("com.zaxxer:HikariCP:5.0.1")
  44. implementation("org.jetbrains.exposed:exposed:0.17.14")
  45. implementation("org.mindrot:jbcrypt:$bcrypt_version")
  46. // DI
  47. implementation("io.insert-koin:koin-core:$koin_version")
  48. implementation("io.insert-koin:koin-ktor:$koin_version")
  49. implementation("io.insert-koin:koin-logger-slf4j:$koin_version")
  50. }