build.gradle.kts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. plugins {
  2. kotlin("jvm")
  3. kotlin("plugin.serialization")
  4. id("kotlinx-atomicfu")
  5. id("me.him188.maven-central-publish")
  6. }
  7. val httpVersion: String by rootProject.extra
  8. project.version = httpVersion
  9. dependencies {
  10. }
  11. tasks.test {
  12. useJUnitPlatform()
  13. }
  14. tasks {
  15. compileKotlin {
  16. kotlinOptions.jvmTarget = "1.8"
  17. }
  18. compileTestKotlin {
  19. kotlinOptions.jvmTarget = "1.8"
  20. }
  21. }
  22. tasks.register("buildSpi", Jar::class) {
  23. dependsOn("build")
  24. doLast {
  25. val jarTask = tasks.getByName("jar", Jar::class)
  26. val buildPluginFile = jarTask.archiveFile.get().asFile
  27. project.buildDir.resolve("ci").also {
  28. it.mkdirs()
  29. }.resolve("mirai-api-http-spi-${project.version}.jar").let {
  30. buildPluginFile.copyTo(it, true)
  31. }
  32. }
  33. }
  34. mavenCentralPublish {
  35. workingDir = project.buildDir.resolve("pub").apply { mkdirs() }
  36. githubProject("project-mirai", "mirai-api-http-spi")
  37. licenseFromGitHubProject("licenseAgplv3", "master")
  38. developer("Mamoe Technologies")
  39. publication {
  40. artifact(tasks.getByName("buildSpi"))
  41. }
  42. }