build.gradle.kts 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
  2. val buildVersion: String by project
  3. val patchVersion: String by project
  4. val gafVersion: String by project
  5. val extVersion: String? by project
  6. group = "jit.xms"
  7. version = buildVersion
  8. extra["gafVersion"] = gafVersion
  9. extra["xmsVersion"] = buildVersion
  10. extra["extVersion"] = extVersion ?: buildVersion
  11. extra["springCloudVersion"] = "Hoxton.SR5"
  12. extra["fastjsonVersion"] = "1.2.72"
  13. extra["jjwtVersion"] = "0.10.5"
  14. val repoConf: String = System.getProperty("repoPath") ?: "/var/repo"
  15. val repoPath: String = file("$rootDir").toPath().root.resolve(repoConf).toString()
  16. plugins {
  17. java
  18. id("maven-publish")
  19. id("io.spring.dependency-management") version "1.0.10.RELEASE"
  20. id("org.springframework.boot") version "2.3.3.RELEASE" apply false
  21. kotlin("jvm") version "1.3.72"
  22. kotlin("plugin.spring") version "1.3.72" apply false
  23. kotlin("plugin.jpa") version "1.3.72" apply false
  24. }
  25. repositories {
  26. // 阿里云镜像
  27. maven { url = uri("https://maven.aliyun.com/repository/public") }
  28. maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
  29. maven { url = uri("https://maven.aliyun.com/repository/spring") }
  30. maven { url = uri("https://maven.aliyun.com/repository/spring-plugin") }
  31. // mavenCentral()
  32. }
  33. configure(subprojects.filter { it.name != "platform" }) {
  34. apply(plugin = "java")
  35. apply(plugin = "maven-publish")
  36. apply(plugin = "org.jetbrains.kotlin.jvm")
  37. java {
  38. disableAutoTargetJvm()
  39. }
  40. tasks.withType<JavaCompile> {
  41. options.encoding = "UTF-8"
  42. sourceCompatibility = "1.8"
  43. targetCompatibility = "1.8"
  44. }
  45. tasks.withType<KotlinCompile> {
  46. kotlinOptions {
  47. freeCompilerArgs = listOf("-Xjsr305=strict")
  48. jvmTarget = "1.8"
  49. }
  50. }
  51. repositories {
  52. maven {
  53. name = "localRepo"
  54. url = uri("file://$repoPath")
  55. }
  56. maven {
  57. name = "cc-lotus"
  58. url = uri("https://maven.cc-lotus.info/repository/maven-public/")
  59. }
  60. // 阿里云镜像
  61. maven { url = uri("https://maven.aliyun.com/repository/public") }
  62. maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
  63. maven { url = uri("https://maven.aliyun.com/repository/spring") }
  64. maven { url = uri("https://maven.aliyun.com/repository/spring-plugin") }
  65. // mavenCentral()
  66. jcenter()
  67. }
  68. publishing {
  69. repositories {
  70. maven {
  71. name = "localRepo"
  72. url = uri("file://$repoPath")
  73. }
  74. }
  75. }
  76. }
  77. task<Copy>("dist") {
  78. into("$buildDir/dist")
  79. project(":services:service-all") {
  80. from(tasks.withType<Jar>())
  81. }
  82. project(":apps:xms-all-in-one") {
  83. from(tasks.withType<Jar>())
  84. }
  85. project(":apps:app-agent") {
  86. from(tasks.withType<Jar>())
  87. }
  88. }
  89. tasks.register<Delete>("cleanDist") {
  90. delete("$rootDir/dist")
  91. delete("$buildDir/dist")
  92. }
  93. tasks.named("clean") {
  94. dependsOn(tasks.named("cleanDist"))
  95. }
  96. tasks.register("printProps") {
  97. val splitJars: String by project
  98. println(splitJars)
  99. }