build.gradle.kts 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. @file:Suppress("UnusedImport")
  2. plugins {
  3. kotlin("jvm")
  4. id("java")
  5. `maven-publish`
  6. id("com.jfrog.bintray")
  7. }
  8. repositories {
  9. maven("http://maven.aliyun.com/nexus/content/groups/public/")
  10. }
  11. version = Versions.console
  12. description = "Mirai Console compiler common"
  13. java {
  14. sourceCompatibility = JavaVersion.VERSION_1_8
  15. targetCompatibility = JavaVersion.VERSION_1_8
  16. }
  17. tasks.withType(JavaCompile::class.java) {
  18. options.encoding = "UTF8"
  19. }
  20. kotlin {
  21. sourceSets.all {
  22. target.compilations.all {
  23. kotlinOptions {
  24. jvmTarget = "1.8"
  25. freeCompilerArgs = freeCompilerArgs + "-Xjvm-default=all"
  26. //useIR = true
  27. }
  28. }
  29. languageSettings.apply {
  30. progressiveMode = true
  31. useExperimentalAnnotation("kotlin.Experimental")
  32. useExperimentalAnnotation("kotlin.RequiresOptIn")
  33. useExperimentalAnnotation("net.mamoe.mirai.utils.MiraiInternalAPI")
  34. useExperimentalAnnotation("net.mamoe.mirai.utils.MiraiExperimentalAPI")
  35. useExperimentalAnnotation("net.mamoe.mirai.console.ConsoleFrontEndImplementation")
  36. useExperimentalAnnotation("net.mamoe.mirai.console.util.ConsoleExperimentalApi")
  37. useExperimentalAnnotation("kotlin.ExperimentalUnsignedTypes")
  38. useExperimentalAnnotation("kotlin.experimental.ExperimentalTypeInference")
  39. useExperimentalAnnotation("kotlin.contracts.ExperimentalContracts")
  40. useExperimentalAnnotation("kotlinx.serialization.ExperimentalSerializationApi")
  41. useExperimentalAnnotation("net.mamoe.mirai.console.util.ConsoleInternalApi")
  42. }
  43. }
  44. }
  45. dependencies {
  46. api("org.jetbrains:annotations:19.0.0")
  47. api(kotlinx("coroutines-jdk8", Versions.coroutines))
  48. compileOnly("org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompiler}")
  49. compileOnly("org.jetbrains.kotlin:kotlin-compiler:${Versions.kotlinCompiler}")
  50. testApi(kotlin("test"))
  51. testApi(kotlin("test-junit5"))
  52. testImplementation("org.junit.jupiter:junit-jupiter-api:5.2.0")
  53. testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.2.0")
  54. }
  55. tasks {
  56. "test"(Test::class) {
  57. useJUnitPlatform()
  58. }
  59. }
  60. // setupPublishing("mirai-console-intellij")