build.gradle.kts 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. plugins {
  2. id("kotlin")
  3. }
  4. apply(plugin = "com.github.johnrengelman.shadow")
  5. val kotlinVersion: String by rootProject.ext
  6. val coroutinesVersion: String by rootProject.ext
  7. val coroutinesIoVersion: String by rootProject.ext
  8. val atomicFuVersion: String by rootProject.ext
  9. val kotlinXIoVersion: String by rootProject.ext
  10. val ktorVersion: String by rootProject.ext
  11. fun kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
  12. fun ktor(id: String, version: String) = "io.ktor:ktor-$id:$version"
  13. tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
  14. manifest {
  15. attributes["Main-Class"] = "net.mamoe.mirai.console.wrapper.WrapperMain"
  16. }
  17. }
  18. val miraiVersion: String by rootProject.ext
  19. kotlin {
  20. sourceSets {
  21. all {
  22. languageSettings.enableLanguageFeature("InlineClasses")
  23. languageSettings.useExperimentalAnnotation("kotlin.Experimental")
  24. languageSettings.useExperimentalAnnotation("kotlin.OptIn")
  25. }
  26. }
  27. }
  28. val serializationVersion: String by rootProject.ext
  29. dependencies {
  30. //core && protocol
  31. api(kotlin("stdlib", kotlinVersion))
  32. api(kotlin("serialization", kotlinVersion))
  33. api(kotlin("reflect", kotlinVersion))
  34. api(kotlinx("coroutines-core-common", coroutinesVersion))
  35. api(kotlinx("serialization-runtime-common", serializationVersion))
  36. api(kotlinx("serialization-protobuf-common", serializationVersion))
  37. api(kotlinx("io", kotlinXIoVersion))
  38. api(kotlinx("coroutines-io", coroutinesIoVersion))
  39. api(kotlinx("coroutines-core", coroutinesVersion))
  40. api("org.jetbrains.kotlinx:atomicfu-common:$atomicFuVersion")
  41. api(ktor("client-cio", ktorVersion))
  42. api(ktor("client-core", ktorVersion))
  43. api(ktor("network", ktorVersion))
  44. api(kotlin("reflect", kotlinVersion))
  45. api(ktor("client-core-jvm", ktorVersion))
  46. api(kotlinx("io-jvm", kotlinXIoVersion))
  47. api(kotlinx("serialization-runtime", serializationVersion))
  48. api(kotlinx("serialization-protobuf", serializationVersion))
  49. api(kotlinx("coroutines-io-jvm", coroutinesIoVersion))
  50. api(kotlinx("coroutines-core", coroutinesVersion))
  51. api("org.bouncycastle:bcprov-jdk15on:1.64")
  52. api("org.jetbrains.kotlinx:atomicfu:$atomicFuVersion")
  53. api(kotlinx("serialization-runtime-common", serializationVersion))
  54. api(kotlinx("serialization-protobuf-common", serializationVersion))
  55. api(kotlinx("serialization-runtime", serializationVersion))
  56. //for slf4j[ktor used]
  57. // api(group = "org.apache.cassandra", name = "cassandra-all", version = "0.8.1")
  58. //mirai-console
  59. api(group = "com.alibaba", name = "fastjson", version = "1.2.62")
  60. api(group = "org.yaml", name = "snakeyaml", version = "1.25")
  61. api(group = "com.moandjiezana.toml", name = "toml4j", version = "0.7.2")
  62. }
  63. val miraiConsoleWrapperVersion: String by project.ext
  64. version = miraiConsoleWrapperVersion
  65. description = "Console with plugin support for mirai"