build.gradle.kts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. plugins {
  2. kotlin("jvm")
  3. java
  4. }
  5. val kotlinVersion: String by rootProject.ext
  6. val atomicFuVersion: String by rootProject.ext
  7. val coroutinesVersion: String by rootProject.ext
  8. val kotlinXIoVersion: String by rootProject.ext
  9. val coroutinesIoVersion: String by rootProject.ext
  10. val serializationVersion: String by rootProject.ext
  11. val klockVersion: String by rootProject.ext
  12. val ktorVersion: String by rootProject.ext
  13. description = "Java helper for Mirai"
  14. @Suppress("PropertyName")
  15. val mirai_japt_version: String by rootProject.ext
  16. version = mirai_japt_version
  17. kotlin {
  18. sourceSets {
  19. all {
  20. languageSettings.enableLanguageFeature("InlineClasses")
  21. languageSettings.useExperimentalAnnotation("kotlin.Experimental")
  22. }
  23. }
  24. }
  25. fun kotlinx(id: String, version: String) = "org.jetbrains.kotlinx:kotlinx-$id:$version"
  26. fun ktor(id: String, version: String) = "io.ktor:ktor-$id:$version"
  27. dependencies {
  28. api(project(":mirai-core"))
  29. runtimeOnly(files("../mirai-core/build/classes/kotlin/jvm/main")) // classpath is not added correctly by IDE
  30. api(group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-javafx", version = "1.3.2")
  31. api(kotlin("stdlib", kotlinVersion))
  32. api(kotlinx("io-jvm", kotlinXIoVersion))
  33. api(kotlinx("io", kotlinXIoVersion))
  34. api(kotlinx("coroutines-io", coroutinesIoVersion))
  35. api(kotlinx("coroutines-core", coroutinesVersion))
  36. api(kotlin("stdlib-jdk7", kotlinVersion))
  37. api(kotlin("stdlib-jdk8", kotlinVersion))
  38. }
  39. tasks.withType<JavaCompile>() {
  40. options.encoding = "UTF-8"
  41. }