build.gradle.kts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright 2019-2023 Mamoe Technologies and contributors.
  3. *
  4. * 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
  5. * Use of this source code is governed by the GNU AGPLv3 license that can be found through the following link.
  6. *
  7. * https://github.com/mamoe/mirai/blob/dev/LICENSE
  8. */
  9. plugins {
  10. kotlin("jvm")
  11. kotlin("plugin.serialization")
  12. `maven-publish`
  13. id("me.him188.kotlin-jvm-blocking-bridge")
  14. }
  15. version = Versions.project
  16. description = "Mirai core mock testing framework"
  17. kotlin {
  18. explicitApiWarning()
  19. optInForAllSourceSets("net.mamoe.mirai.LowLevelApi")
  20. optInForAllSourceSets("net.mamoe.mirai.utils.MiraiInternalApi")
  21. optInForAllSourceSets("net.mamoe.mirai.utils.MiraiExperimentalApi")
  22. }
  23. dependencies {
  24. api(project(":mirai-core-api"))
  25. implementation(project(":mirai-core-utils"))
  26. implementation(project(":mirai-core"))
  27. implementation(`ktor-server-core`)
  28. implementation(`ktor-server-netty`)
  29. implementation(`java-in-memory-file-system`)
  30. implementation(`kotlin-jvm-blocking-bridge`)
  31. }
  32. tasks.register("buildRuntimeClasspath") { // this task is used for mirai-mock-framework (external)
  33. dependsOn("assemble")
  34. doLast {
  35. val out = temporaryDir.also { it.mkdirs() }.resolve("classpath.txt")
  36. out.bufferedWriter().use { writer ->
  37. configurations["runtimeClasspath"].files.forEach { f ->
  38. writer.write(f.absolutePath)
  39. writer.write("\n")
  40. }
  41. }
  42. }
  43. }
  44. configurePublishing("mirai-core-mock")
  45. tasks.named("shadowJar") { enabled = false }