build.gradle.kts 2.2 KB

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