build.gradle.kts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. @file:Suppress("UNUSED_VARIABLE")
  2. import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler
  3. plugins {
  4. id("kotlinx-atomicfu")
  5. kotlin("jvm")
  6. id("kotlinx-serialization")
  7. }
  8. group = "net.mamoe.mirai"
  9. version = rootProject.ext["mirai_version"].toString()
  10. description = "Mirai Http Api"
  11. val kotlinVersion: String by rootProject.ext
  12. val atomicFuVersion: String by rootProject.ext
  13. val coroutinesVersion: String by rootProject.ext
  14. val kotlinXIoVersion: String by rootProject.ext
  15. val coroutinesIoVersion: String by rootProject.ext
  16. val klockVersion: String by rootProject.ext
  17. val ktorVersion: String by rootProject.ext
  18. val serializationVersion: String by rootProject.ext
  19. fun KotlinDependencyHandler.kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
  20. fun KotlinDependencyHandler.ktor(id: String, version: String = ktorVersion) = "io.ktor:ktor-$id:$version"
  21. kotlin {
  22. sourceSets["main"].apply {
  23. dependencies {
  24. implementation(project(":mirai-core-qqandroid"))
  25. implementation(kotlin("stdlib-jdk8", kotlinVersion))
  26. implementation(kotlin("stdlib-jdk7", kotlinVersion))
  27. implementation(kotlin("reflect", kotlinVersion))
  28. implementation(ktor("server-cio"))
  29. implementation(kotlinx("io-jvm", kotlinXIoVersion))
  30. implementation(ktor("http-jvm"))
  31. implementation("org.slf4j:slf4j-simple:1.7.26")
  32. }
  33. }
  34. sourceSets["test"].apply {
  35. dependencies {
  36. }
  37. kotlin.outputDir = file("build/classes/kotlin/jvm/test")
  38. kotlin.setSrcDirs(listOf("src/$name/kotlin"))
  39. }
  40. sourceSets.all {
  41. languageSettings.enableLanguageFeature("InlineClasses")
  42. languageSettings.useExperimentalAnnotation("kotlin.Experimental")
  43. dependencies {
  44. implementation(kotlin("stdlib", kotlinVersion))
  45. implementation(kotlin("serialization", kotlinVersion))
  46. implementation("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion")
  47. implementation(kotlinx("io", kotlinXIoVersion))
  48. implementation(kotlinx("coroutines-io", coroutinesIoVersion))
  49. implementation(kotlinx("coroutines-core", coroutinesVersion))
  50. implementation(kotlinx("serialization-runtime", serializationVersion))
  51. implementation(ktor("server-core"))
  52. implementation(ktor("http"))
  53. }
  54. }
  55. }